Horizontal sundial calculations: Difference between revisions

Content added Content deleted
Line 761: Line 761:
System.out.println();
System.out.println();


slat = Math.sin(degToRad(lat));
slat = Math.sin(Math.toRadians(lat));
System.out.printf("sine of latitude: %.3f\n", slat);
System.out.printf("sine of latitude: %.3f\n", slat);
System.out.printf("diff longitude: %.3f\n\n", lng - ref);
System.out.printf("diff longitude: %.3f\n\n", lng - ref);
Line 771: Line 771:
hra = 15.0 * h;
hra = 15.0 * h;
hra = hra - lng + ref;
hra = hra - lng + ref;
hraRad = degToRad(hra);
hraRad = Math.toRadians(hra);
hla = radToDeg(Math.atan2(Math.sin(hraRad)*Math.sin(degToRad(lat)), Math.cos(hraRad)));
hla = Math.toDegrees(Math.atan2(Math.sin(hraRad)*Math.sin(Math.toRadians(lat)), Math.cos(hraRad)));
System.out.printf("HR= %3d; \t HRA=%7.3f; \t HLA= %7.3f\n",
System.out.printf("HR= %3d; \t HRA=%7.3f; \t HLA= %7.3f\n",
h, hra, hla);
h, hra, hla);
}
}
}

private static double degToRad(double deg) {
return deg * Math.PI / 180;
}

private static double radToDeg(double rad) {
return rad * 180 / Math.PI;
}
}
}</lang>
}</lang>