球座標でカメラを動かす・3Dを多角的に観察
前回で、3D空間上の物体に面をつけてさらに物体がより3Dっぽく表現することができました。しかし、カメラの操作方法が大変です。6つもの制御がありますが、今回でそれが簡単な操作に変化します。
Desmosにある動く点を利用して、カメラの移動を自由にしていきましょう。
この記事は、第108話??? 【グラフ計算機/Desmos】 をテキスト化したものです。
球座標によるカメラ制御
カメラの位置は、球座標を用いることで表現できます。球座標は、原点からの距離である半径 、水平面での角度を示す方位角
、そして垂直方向の角度を示す仰角 の3つのパラメータで構成されます。
※物理学では慣習として と の意味が逆ですが、数学の慣習で話を進めます。Desmos 3Dも数学の慣習を採用しています。
これらのパラメータと、カメラの3次元座標 との関係は、以下の数式で表されます。
スライダーで や の値を動かすことで、カメラの位置を円周上や球面上に変化させ、様々な視点からオブジェクトを観察できます。
カメラの位置は以下のデモDesmos 3Dで確認できます。たった2変数でカメラが球面上の位置として表現できます。
なので、カメラの位置 を、
とすれば、位置は完成です。
視点移動による見え方の変化
3D空間内のオブジェクトは、同じものであってもカメラの角度によってその見え方が大きく異なります。球座標のパラメータを変化させることで、オブジェクトの側面や背面、あるいは上方や下方からなど、様々なアングルで立体を観察することが可能になります。
一時保存公開
3Dの教材 3D rendering
球座標 Spherical Coordinates