2008年05月03日
太陽の方角
太陽の方角はSIM基準であるためか
アバターから見た太陽の方向とは異なります。
たとえばAtanで太陽の方角を出して、SIM基準では北東位置だとしても
アバターからは真東に見えます。
この補正をどうにかしようと、三角関数をいじってみましたがうまくいかずw
誰か、アバター位置から見た太陽の方角の求め方を教えてください
アバターから見た太陽の方向とは異なります。
たとえばAtanで太陽の方角を出して、SIM基準では北東位置だとしても
アバターからは真東に見えます。
この補正をどうにかしようと、三角関数をいじってみましたがうまくいかずw
誰か、アバター位置から見た太陽の方角の求め方を教えてください
Posted by トシ
at 10:32
│Comments(7)
atanでは正確な方位はでません
真南は当然誤差は0です。
なので、その式を解きたいのですが、私の頭では答えが出てきませんw
> たとえばAtanで太陽の方角を出して、SIM基準では北東位置だとしても
> アバターからは真東に見えます。
これは daytime(昼間)時に真東にある大きな太陽の事ですか?
現在の太陽は、日の出から一度真上まで一気に昇ってから
昼間の太陽が表示される様です。
ですので、真上=昼間ではない様な気がします。
トシさんは、太陽の角度は算出されているので角度をみて
昼間かどうかを判定してはいかがですか?
> もっと言うと、日の出と日の入りのそれぞれの誤差は分かっています。
llGetSunDirectionでZの値はマイナス(夜)を返してきても
まだ陽が沈んでないということですよね?
SIMのどこにいようと、デフォルトの場合は西か東しかないですよね・・?もしかしてアバターの向いている方向を北として、その時の太陽の方角を知りたいんでしょうか?(日の出の時に西を向いていたら南と表示する等)
なんにしても、もうちょっと詳しい説明をお願いします。数学は苦手ですけどw
>まだ陽が沈んでないということですよね?
具体的には日の出位置は、アバターから見ると真東ですが、 llGetSunDirectionの値から算出すると北東です。
>しかしてアバターの向いている方向を北として、その時の太陽の方角を知りたいんでしょうか?
そうですw
アバターの向きを基準として、太陽の角度を知りたいのです。
それは見かけ上の太陽ですか?
llGetSunDirectionで得られるz座標は、徐々に上がっていきます。
終わっているのでしたら…
東西南北をX,Yの二次元にしてatanで角度を算出するのでは駄目ですか?
北~南を-1~1、東から西を1~-1としてatanに渡して
返値がマイナスなら360を加算すれば2次元の角度になりませんか?
東から時計回りで南が90度、西が180度、北が270度になると思います。
後は、アバターの方角と併せて算出すれば問題ないのでは??
ただ、X,Yともに0の場合は見失う事になりますけど…。