この授業の目標は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]]