Processing

PythonでProcessing Shape 3D Primitives sphereDetail()

球体メッシュの頂点数を調整することで、球体のレンダリングに使用される解像度(詳細度)を制御する。デフォルトの解像度は30で、360/30=12度ごとの頂点を持つ、かなり詳細な球体の定義が作成される。

フレームあたりの球体のレンダリング数が多い場合は、この関数を使って詳細度を下げることが推奨される。この設定は、sphereDetail()が新しいパラメータで再度呼び出されるまで有効なため、球体を異なる設定でレンダリングしたい場合(例えば、小さい球体やカメラから遠い球体にはより少ないディテールを使用するなど)を除き、毎回のsphere()の前に呼び出すべきではない。水平方向と垂直方向の解像度の詳細を個別に制御するには、2つのパラメータを持つバージョンの関数を使用する。

# 構文
# sphereDetail(res)
# sphereDetail(ures, vres)
#
# パラメータ
# res int:一周する間に使用するセグメント数(最小3個)
# ures int:一周する間に縦方向に使用するセグメントの数
# vres int:上から下に向かって縦方向に使用するセグメントの数
size(100, 240, P3D)

background(200)
stroke(255, 50)
for i in range(3):
  pushMatrix()
  translate(50, 50 + (i*75), 0)
  fill(i * 30, 0, 160)
  sphereDetail(i * 5)
  sphere(30)
  popMatrix()