Rendering学習日記

日々、3DCGの世界は進歩しています。勉強して理解したことをまとめていきます。RenderMan互換レンダラーやグローバル・イルミネーション。いろんなことに好奇心を持って、面白くなる。目指せShader書き!!
ありがとうございます。

ポリゴン、5角形をつくる

メタセコイアでのPython script練習、繰り返し処理を使っていない面倒な記述をしていますが、原理を理解するために書いてみました。Metasequoia Python APIの勉強です。メタセコイアマスターガイドを参考にしました。ありがとうございます。
#kaku5.py
segment = 5
radius=200.0

from math import *
crad = pi / 180 * 45
irad = 2*pi/segment

doc = MQSystem.getDocument()
segment = 5
radius=200.0

from math import *
crad = pi / 180 * 45
irad = 2*pi/segment

doc = MQSystem.getDocument()
obj = MQSystem.newObject()
obj.name = "polygon_%d" % segment

v=[]
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
crad = crad+irad
v.append(obj.addVertex( MQSystem.newPoint( 0.0, 100.0, 0.0 ) )) #中心
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
obj.addFace(v)

v=[]
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
crad = crad+irad
v.append(obj.addVertex( MQSystem.newPoint( 0.0, 100.0, 0.0 ) ))
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
obj.addFace(v)

v=[]
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
crad = crad+irad
v.append(obj.addVertex( MQSystem.newPoint( 0.0, 100.0, 0.0 ) ))
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
obj.addFace(v)

v=[]
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
crad = crad+irad
v.append(obj.addVertex( MQSystem.newPoint( 0.0, 100.0, 0.0 ) ))
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
obj.addFace(v)

v=[]
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
crad = crad+irad
v.append(obj.addVertex( MQSystem.newPoint( 0.0, 100.0, 0.0 ) ))
v.append(obj.addVertex( MQSystem.newPoint( radius*sin(crad), 0.0, radius*cos(crad) ) ))
obj.addFace(v)

doc.addObject( obj )
  • -
  • -