この授業の目標はMayaのようなCGツールを作成することです。
全ての機能を作成することは不可能なので、できるところまで作成することにします。
作成するプログラムの動作•内部の仕様などはMayaを基準にします。
ただし、あきらかに必要の無い機能は実装しません。
for i in range(10): for j in range(10): test(data[i][j])(良い例)
for x in data: test(x)
if文の主な役割は以下の二つです。
if x == 'v':
test1()
if x == 'vn':
test2()
if x == 'vt':
test3()
↓
d = {'v':test1, 'vn':test2, 'vt':test3}
d[x]()
def do_nothing(*arg):
pass
d = {'v':test1, 'vn':test2, 'vt':test3}
d.get(x, do_nothing)()
f = [0, 1, 2, 3]
es = []
i = 0
for n in f[:-1]:
es.append(f[i], f[i+1])
i += 1
es.append(f[i], f[0])
以下のようにzip()を使うことによってfor文を無くします。
f = [0, 1, 2, 3] ff = f[:] # 元のリストを変更しないためにコピーします ff.append(f[0]) es = zip(ff[:-1], ff[1:]) # -> [[0, 1], [1, 2], [2, 3], [3, 0]]