java - Elevation Angle between Positions -
i'm using java nasa worldwind, , have 2 objects different elevations , positions.
how can find elevation angle between objects taking account curvature of earth?
this image illustrates (obviously not scale) i'm trying do:

object 50 feet above ground, , object b 500 feet above ground. how can find angle x, taking account curvature of earth?
trigonometry saves day! please refer untidy diagram work through answer:

the angle want find α. can find θ if know distance (along curvature of earth) between 2 points (or more accurately, curved-line distance between 2 points on surface on earth, if extend line each object down surface). if distance l, θ l/r (see arc length) r radius of earth.
notice values d1, d2, , d3. can find α if know d2 , d3, because (θ + α) inverse tangent of d2/d3. how find these?
first we'll find d1. know hypotenuse of triangle d1 , d3 r + ha, radius of earth plus elevation of object a. hence can find d1:

similarly, d3:

now how find d2? know total length of base of entire triangle r + hb; radius of earth plus height of object b. know d1. d2 is:

now ready find α:

so using expression in terms of heights of both objects , radius of earth, should able find α. there may easier way find α, able come with; it's been while since did trigonometry! think math correct, let me know if spot wrong.
Comments
Post a Comment