PG喫茶

5. 基本形状

概要

今までのサンプルプログラムでは、立方体を中心に扱ってきましたが、それに加え、球・円柱・円錐を作成できるようにします。これらの形状は3次元グラフィックスで使用される頻度がとても多いモノです。

半径と縦方向の分割数を指定します。横方向は縦方向の分割数の2倍にします。球を横方向に輪切りにするイメージで、それぞれの円に、上から見て右回りに頂点を追加していきます。球の上端と下端の頂点は最後に加えます。側面は4つの頂点からなる台形にし、上端・下端を含む面は3角形にします。

円柱

半径と高さと円周の分割数を指定します。上の円周から、上から見て右回りに頂点を追加していきます。側面は4角形にします。上と下の面は、円周上のすべての頂点からなる多角形とします。

円錐

円柱と同じく、半径と高さと円周の分割数を指定します。底の円周から、上から見て右回りに頂点を追加していきます。上端の頂点を最後に追加します。側面は3角形にし、そこの面は、円周上のすべての頂点からなる多角形とします。

アプリメニューの作成

基本形状の切り替えをメニューで行えるようにします。情景作成(init_scene)メソッド内で、立方体・球・円柱・円錐のメニューアテイムをアプリメニューに追加します。

形状クラスにメソッド追加

球・円柱・円錐作成メソッドを静的メソッドで追加します。(create_ball, tube, corn)

ソースコード

ビューア ビューポート 数学 形状

実行結果

Copyright© 2016-2025 pg-kissa.net All Rights Reserved.