ややこしい(?)宇宙の幾何学の問題

要は私が幾何学苦手ってことなんですが、覚書として。


問1、
地球の重心を原点として、位置ベクトルr、速度ベクトルvで表される人工衛星が半径Rの地球を周回している。位置ベクトルと速度ベクトルは直交している。この人工衛星から見て、速度方向(v)を前、原点方向(-r)を下として、右下に見える地球を観測する。観測する方向と下方向とのなす角(オフナディア角)はαとする*1。このとき、観測される点の座標を求めよ。


問2、
問1において、位置ベクトルrと速度ベクトルvが直交していなかった場合*2、観測される点の座標を求めよ。ただし、vを前とし、rvの双方に直行している方向を衛星の右とする。


問3、
問2において、人工衛星にヨー角βがついている場合*3、観測される点の座標を求めよ。ヨー角とは、人工衛星を真上から見たときに右回転する角度を表す。


問4、
問3で求めた地点をxとする。実際に観測されるのは、地球上の一点ではなくそこを中心とした領域である。xから地球を中心に、(x/|x|)-(r/|r|)方向に角度±γ、(x/|x|)-(r/|r|)とxに直行する方向に角度±δの範囲を観測するとき、観測域の四隅の座標を求めよ*4


問5、
以上の計算を計算機において行うことを考える。すべての数値が浮動小数*5で表されている場合、丸め誤差を最小とするようなプログラムを書け。


おまけ、
実際には地球は楕円形をしている。問3において長径をRa、短径をRbとして観測される点の座標xを求めよ。また、人工衛星にはヨー角以外にもピッチ角*6、ロール角*7がついている場合についても観測される点の座標xを求めよ。


文字で書くと余計にわけが分かりません。かといって、絵で描けるほど絵心がないのがつらいところ。

*1:vを軸に-rをθだけ回転した方向

*2:-rが衛星の下方向でなかった場合

*3:衛星はv方向に進んでいるが、衛星にとっての前がvではなかった場合

*4:γ、δともにオフナディア角の変化ではなく、地球を中心に見たときの角度であることに注意

*5:実際にはfloatとdoubleが混在してるけどややこしいので型はfloat一つとする

*6:人工衛星を左側から見たときに右回転する角度

*7:人工衛星を真後ろから見たときに右回転する角度