0

Javascriptを使用して、特定の方法で保存された点群データをキャンバスにレンダリングするものを構築しようとしています。

データは次のように保存されます (JSON、ここで -> は両極端を含む値の範囲を表します)

{"xangle":-Math.PI*2 -> Math.PI*2,"yangle": -Math.PI*2 -> Math.PI*2,"原点からの距離":10,"色":青}

線がx軸から離れた角度を表すxangleと、y軸から同じであるがy軸からのyangleと、原点からの距離を表すxangleを回転させるための数学がどうあるべきかを理解するのに苦労しています。 「3d」ポイントに。

原点から同じ距離に同じ距離の点の大きな配列を生成するコードを実行し、正しくなるまでアルゴリズムを手動で総当たりしようとしましたが、それはあまり役に立ちませんでした。

ここにそれをより明確にするかもしれない画像があります

私が何かを明確にしていない場合、またはコードを見たい場合は、助けてくれてありがとう.

編集:追加する必要があります。正射投影表現を使用するだけです(少なくとも、それが機能するまで)

4

1 に答える 1

1
r = distancefromorigin
y=r*cos(yAngle)
x=r*cos(xAngle)
z=+-r*sqrt( 1-cos^2(yAngle) - cos^2(xAngle) )

編集:最後の方程式はx^2 + y^2 + z^2 = r^2

問題が明確に定義されていないため、+ または - を選択する必要があるかどうかはわかりません。

于 2012-09-28T20:20:53.780 に答える