Rendering学習日記

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

メタセコイアでPython練習 テキスト処理

metasequoia pythonスクリプトで、基本となるファイルの書き出しをやってみました。テキストファイルですが、はじめの一歩となります。
リストa=['mother','other','test']をadd.txtというファイルに改行して保存します。スクリプト実行時にリストの個数を数えて、表示するようにしています。ファイル出力の基礎基本、大切ですね。さらに勉強します。
def p(*args):
"""
プリント関数
複数の引数を渡せる。
"""
if len(args)==0:
# 改行させる
MQSystem.println("")
return

for arg in args:
MQSystem.println(str(arg))


#meta_text.py リストを作成し、保存する。
doc = MQSystem.getDocument()


out = MQSystem.println

import traceback
import sys
try:
a=['mother','other','test']
b=len(a)
for i in range(b):
out(str(a[i]))
o=open('add.txt','w')
for x in a:
o.write(x+'\n') #改行を加える
o.close()
except:
info=sys.exc_info()
p(info[0])
p(info[1])
p(*traceback.extract_tb(info[2]))
  • -
  • -

ポリゴン面の求め方 python cgkitを利用

python cgkitを利用、外積と正規化ですね。
エクセル使って、地道に求めていたけど、pythonわかってくると面白い。
うまく組めるようになれればしめたもの。
まだまだ勉強足りません。
from cgkit.all import *
from cgkit.cgtypes import *

a0=vec3(0.000000, 0.000000, 0.000000)
a1=vec3(0.500000, 0.000000, -0.250000)
a2=vec3(0.500000, 0.450000, -0.250000)
a3=vec3(0.000000, 0.450000, 0.000000)

v10=a1-a0
v20=a2-a0
v30=a3-a0

n0=v10.cross(v20)
n02=v20.cross(v30)
n00=n0+n02
print(n00.normalize())


ここ,参考になりました。
http://ft-lab.ne.jp/cgi-bin/wiki.cgi
ありがとうございます。
  • -
  • -

Metasequoia Python 面インデックスと座標

メタセコイア Pythonを使って、面をきめるインデックス番号と頂点座標位置を表示する。
metasequoia pythonスクリプトとしては、基本となる。
あらかじめ、物体を作っておき、オブジェクトパネルで選択されていること。

以下のスクリプトまだきれいではありませんが、確認できます。ありがとうございます。
#face_index.py
doc=MQSystem.getDocument()
out=MQSystem.println

obj=doc.object[doc.currentObjectIndex]
out(str(obj.name))


for face in obj.face:
for aIndex in face.index:
out(str(aIndex))

for vert in obj.vertex:
pos=vert.getPos()
out(str(pos.x)+","+str(pos.y)+","+str(pos.z))
続きを読む>>
  • -
  • -
<< 19/25 >>