private static class Horizon.Ellipsoidal extends Object
| Modifier and Type | Field and Description |
|---|---|
private static double |
AHALF
The half-diameter of the building roof ellipse, horizontal.
|
private static double |
BHALF
The half-diameter of the building roof ellipse, vertical.
|
private static double |
D0
Distance on long axis to closer roof half.
|
private static double |
D1
Distance on long axis to far roof.
|
private double |
far
From the dimensions of the building, the far viewing angle.
|
private static double |
L0
Distance on short axis to building wall.
|
private static double |
M0
Height of the wall.
|
private double |
near
From the dimensions of the building, the close viewing angle.
|
private double |
phi0
The azimuth offset of the long edge to closer roof.
|
private static double |
R0
Radius of mirror.
|
private static double |
Z0
Offset above zero for roof-halfs.
|
| Modifier | Constructor and Description |
|---|---|
private |
Ellipsoidal(double az0) |
| Modifier and Type | Method and Description |
|---|---|
protected double |
obscured(Vector2D wall,
double h)
This method calculates the amount of shading from simplified
geometric considerations.
|
double |
shadow(double az,
double h)
Combines the calculation of the wall height plus vignetting.
|
protected Vector2D |
wall(double az)
This method returns the height of the wall/roof in the second
componentand the distance to the footpoint of the roof in the first.
|
private static final double AHALF
private static final double BHALF
private static final double Z0
private static final double D0
private static final double D1
private static final double M0
private static final double L0
private static final double R0
private final double phi0
private final double near
private final double far
protected Vector2D wall(double az)
az - Azimuth in degrees.protected double obscured(Vector2D wall, double h)
wall(double), we calculate the angle under which
the mirror of the telescope will be seen. If the current pointing
height is below the wall height minus the viewing angle, total
shading is assumed. If the pointing height is above the wall
height plus this angle, zero shading is returned. For pointings
between those two, we estimate the shaded area by calculating
the height of the wall point on the mirror and assuming a horizontal
line there. This assumption is correct, if the wall height is
only a slowly varying function of azimuth, which is mostly the case.h - in degrees.public double shadow(double az,
double h)