前回の デグレなおしときます(その4) の最後で 物体を動かす の dat6.yaml で柱が1本しかありませんでした。
またしても昔のデータが、いつのまにか正しく表示できなくなってます。 バージョンをさかのぼっていくと、v51 から v52 でこの現象が出るようになっていました。
v52.patch の内容は盛りだくさんでしたが、、、 v52 で dat.py だけ v51 に戻すと、柱一本現象はでませんでした。
$ cat v52.patch : --- rt_v51/dat.py 2018-06-14 01:39:46.000000000 +0900 +++ rt_v52/dat.py 2018-06-15 21:57:23.000000000 +0900 @@ -34,28 +34,18 @@ v = val.cli.geti(v) d[k] = v -ds_copy = lambda ds: ut.map_lst( lambda d: d.copy(), ds ) - -def ds_copy_k(d, k): - if k in d: - d[k] = ds_copy( d.get(k, []) ) - def lst_copy_r(lst): return ut.map_lst( lambda v: lst_copy_r(v) if type(v) == list else v, lst ) -def lst_copy_k(d, k): +def k_update_if_has(d, k, update_func): if k in d: - d[k] = lst_copy_r( d.get(k) ) + d[k] = update_func( d.get(k) ) def d_copy(d): d = d.copy() - ds_copy_k(d, 'maps') - lst_copy_k(d, 'rxs') - - k = 'args' - if k in d: - d[k] = ut.map_lst( d_copy, d.get(k) ) - + k_update_if_has( d, 'maps', lambda lst: ut.map_lst( lambda d: d.copy(), lst ) ) + k_update_if_has( d, 'rxs', lst_copy_r ) + k_update_if_has( d, 'args', lambda lst: ut.map_lst( d_copy, lst ) ) return d def m_setup(d, m): @@ -377,11 +367,35 @@ return ret_lst( [d0,d1], f ) ### + if kind == 'exports': + lst = [] + exports = if_has_pop(d, 'exports', []) + for export in exports: + d_ = d_copy(d) + d_['kind'] = 'export' + d_['export'] = export + lst.append(d_) + return data_setup_exp( lst, in_op ) + if kind == 'export': lst = ydic.get( if_has_pop(d, 'export', ''), [] ) - d['kind'] = 'or' - d['args'] = lst - return d_setup(d, in_op) + lst = ut.map_lst( d_copy, lst ) + + l2g = if_has_pop(d, 'l2m', []) + if_has_pop(d, 'm2g', []) + + for d_ in lst: + d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + + if d.get('not', False): + d_['not'] = not d_.get('not', False) + + d_['m2g'] = d_.get('m2g', []) + l2g + + return data_setup_exp( lst, in_op ) ### if 'rxs' in d: @@ -411,8 +425,12 @@ ds = [] for d_ in args: - #d_['m2g'] = d_.get('m2g', []) + l2g d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + ds += d_setup(d_, True) if 'children' not in d: # ! @@ -446,15 +464,15 @@ d_['m2g'] = d_.get('m2g', []) + l2g setup_m2g(data, d_) -def setup_kind(d): +def setup_etc(d): + # kind if not val.cli.has_prop('kinds'): val.cli.set_prop( 'kinds', '[str]', kinds ) kind = d.get('kind') if type(kind) != int: d['kind'] = kinds.index(kind) - return d -def setup_ids(d): + # ids k = 'id' if k not in d: d[k] = get_id() @@ -464,16 +482,14 @@ k = 'children' if k not in d: d[k] = [] - return d -def setup_def_col(d): + # def_col if 'def_col' not in d: d['def_col'] = [128,128,128] if 'def_col_r' not in d: d['def_col_r'] = d.get('def_col') - return d -def setup_rtd(d): + # rtd def_rtd = { 'base': 0.3, 'diff': 0.9, 'reflect': 0, 'reflact': 0, 'density': 1.0, 'reflect_backside': False } if 'rtd' not in d: d['rtd'] = def_rtd @@ -481,19 +497,18 @@ for k in def_rtd.keys(): if k not in rtd: rtd[k] = def_rtd.get(k) - return d -def setup_not_hide(d): + # not hide for k in ['not', 'hide']: if k not in d: d[k] = False # default - return d -def setup_maps(d): + # maps if 'maps' not in d: d['maps'] = [] for m in d.get('maps'): m_setup(d, m) + return d def setup_opt(d): @@ -512,6 +527,7 @@ data_name = ut.arg_s('data_name', 'copen') fn = ut.arg_s('yaml', 'dat.yaml') yd = ut.yaml_load(fn, {}) + yd = ut.defs_str_replace(yd) yd = ut.defs_eval(yd) yd = tm_sft_copy(yd) @@ -527,12 +543,7 @@ #print('data={}'.format( ut.yaml_dump( ut.dic_to_items(data) ) ) ) - data = ut.map_lst( setup_kind, data ) - data = ut.map_lst( setup_ids, data ) - data = ut.map_lst( setup_def_col, data ) - data = ut.map_lst( setup_rtd, data ) - data = ut.map_lst( setup_not_hide, data ) - data = ut.map_lst( setup_maps, data ) + data = ut.map_lst( setup_etc, data ) data = setup_eval_ax(data, sec) data = ut.map_lst( setup_opt, data ) :
dat.py それでも盛りだくさん。 関係なさそうなところから、部分的に v52 に戻していってみます。
--- dat.py-m1 2018-07-16 14:26:59.000000000 +0900 +++ dat.py-v52 2018-06-15 21:57:23.000000000 +0900 @@ -34,28 +34,18 @@ v = val.cli.geti(v) d[k] = v -ds_copy = lambda ds: ut.map_lst( lambda d: d.copy(), ds ) - -def ds_copy_k(d, k): - if k in d: - d[k] = ds_copy( d.get(k, []) ) - def lst_copy_r(lst): return ut.map_lst( lambda v: lst_copy_r(v) if type(v) == list else v, lst ) -def lst_copy_k(d, k): +def k_update_if_has(d, k, update_func): if k in d: - d[k] = lst_copy_r( d.get(k) ) + d[k] = update_func( d.get(k) ) def d_copy(d): d = d.copy() - ds_copy_k(d, 'maps') - lst_copy_k(d, 'rxs') - - k = 'args' - if k in d: - d[k] = ut.map_lst( d_copy, d.get(k) ) - + k_update_if_has( d, 'maps', lambda lst: ut.map_lst( lambda d: d.copy(), lst ) ) + k_update_if_has( d, 'rxs', lst_copy_r ) + k_update_if_has( d, 'args', lambda lst: ut.map_lst( d_copy, lst ) ) return d def m_setup(d, m): @@ -377,11 +367,35 @@ return ret_lst( [d0,d1], f ) ### + if kind == 'exports': + lst = [] + exports = if_has_pop(d, 'exports', []) + for export in exports: + d_ = d_copy(d) + d_['kind'] = 'export' + d_['export'] = export + lst.append(d_) + return data_setup_exp( lst, in_op ) + if kind == 'export': lst = ydic.get( if_has_pop(d, 'export', ''), [] ) - d['kind'] = 'or' - d['args'] = lst - return d_setup(d, in_op) + lst = ut.map_lst( d_copy, lst ) + + l2g = if_has_pop(d, 'l2m', []) + if_has_pop(d, 'm2g', []) + + for d_ in lst: + d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + + if d.get('not', False): + d_['not'] = not d_.get('not', False) + + d_['m2g'] = d_.get('m2g', []) + l2g + + return data_setup_exp( lst, in_op ) ### if 'rxs' in d: @@ -411,8 +425,12 @@ ds = [] for d_ in args: - #d_['m2g'] = d_.get('m2g', []) + l2g d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + ds += d_setup(d_, True) if 'children' not in d: # ! @@ -509,6 +527,7 @@ data_name = ut.arg_s('data_name', 'copen') fn = ut.arg_s('yaml', 'dat.yaml') yd = ut.yaml_load(fn, {}) + yd = ut.defs_str_replace(yd) yd = ut.defs_eval(yd) yd = tm_sft_copy(yd)
この dat.py-m1 の状態でも、柱一本現象は出ません。
--- dat.py-m3 2018-07-16 14:43:29.000000000 +0900 +++ dat.py-v52 2018-06-15 21:57:23.000000000 +0900 @@ -367,11 +367,35 @@ return ret_lst( [d0,d1], f ) ### + if kind == 'exports': + lst = [] + exports = if_has_pop(d, 'exports', []) + for export in exports: + d_ = d_copy(d) + d_['kind'] = 'export' + d_['export'] = export + lst.append(d_) + return data_setup_exp( lst, in_op ) + if kind == 'export': lst = ydic.get( if_has_pop(d, 'export', ''), [] ) - d['kind'] = 'or' - d['args'] = lst - return d_setup(d, in_op) + lst = ut.map_lst( d_copy, lst ) + + l2g = if_has_pop(d, 'l2m', []) + if_has_pop(d, 'm2g', []) + + for d_ in lst: + d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + + if d.get('not', False): + d_['not'] = not d_.get('not', False) + + d_['m2g'] = d_.get('m2g', []) + l2g + + return data_setup_exp( lst, in_op ) ### if 'rxs' in d:
この dat.py-m3 の状態でも、柱一本現象は出ません。
--- dat.py-m4 2018-07-16 14:47:21.000000000 +0900 +++ dat.py-v52 2018-06-15 21:57:23.000000000 +0900 @@ -379,9 +379,23 @@ if kind == 'export': lst = ydic.get( if_has_pop(d, 'export', ''), [] ) - d['kind'] = 'or' - d['args'] = lst - return d_setup(d, in_op) + lst = ut.map_lst( d_copy, lst ) + + l2g = if_has_pop(d, 'l2m', []) + if_has_pop(d, 'm2g', []) + + for d_ in lst: + d_['maps'] = d_.get('maps', []) + d.get('maps', []) + + for k in [ 'def_col', 'def_col_r', 'rtd' ]: + if k not in d_ and k in d: + d_[k] = d.get(k) + + if d.get('not', False): + d_['not'] = not d_.get('not', False) + + d_['m2g'] = d_.get('m2g', []) + l2g + + return data_setup_exp( lst, in_op ) ### if 'rxs' in d:
この dat.py-m4 の状態でも、柱一本現象は出ません。
むむむと唸って、これでどうか?
--- dat.py-v52 2018-06-15 21:57:23.000000000 +0900 +++ dat.py 2018-07-16 16:47:01.000000000 +0900 @@ -386,7 +386,8 @@ for d_ in lst: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd' ]: + #for k in [ 'def_col', 'def_col_r', 'rtd' ]: + for k in [ 'def_col', 'def_col_r', 'rtd', 'rxs', 'tsc' ]: if k not in d_ and k in d: d_[k] = d.get(k) @@ -427,7 +428,8 @@ for d_ in args: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd' ]: + #for k in [ 'def_col', 'def_col_r', 'rtd' ]: + for k in [ 'def_col', 'def_col_r', 'rtd', 'rxs', 'tsc' ]: if k not in d_ and k in d: d_[k] = d.get(k)
とりあえず、v52 + 「dat.py に、このパッチの変更」で、柱一本現象は消えました。
が、外側に配置する柱が消えてます。 ということは、'rxs' こうすべしか?
--- dat.py-v52 2018-06-15 21:57:23.000000000 +0900 +++ dat.py 2018-07-16 17:18:00.000000000 +0900 @@ -386,9 +386,13 @@ for d_ in lst: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd' ]: + for k in [ 'def_col', 'def_col_r', 'rtd', 'tsc' ]: if k not in d_ and k in d: d_[k] = d.get(k) + k = 'rxs' + v = d_.get(k, []) + d.get(k, []) + if v: + d_[k] = v if d.get('not', False): d_['not'] = not d_.get('not', False) @@ -427,9 +431,13 @@ for d_ in args: d_['maps'] = d_.get('maps', []) + d.get('maps', []) - for k in [ 'def_col', 'def_col_r', 'rtd' ]: + for k in [ 'def_col', 'def_col_r', 'rtd', 'tsc' ]: if k not in d_ and k in d: d_[k] = d.get(k) + k = 'rxs' + v = d_.get(k, []) + d.get(k, []) + if v: + d_[k] = v ds += d_setup(d_, True)
OK
では、v62 の dat.py に反映できるだろうか?
: for k in [ 'def_col', 'def_col_r', 'rtd', 'hide' ]: if k not in d_ and k in d: d_[k] = d.get(k) : for k in [ 'def_col', 'def_col_r', 'rtd', 'hide' ]: if k not in d_ and k in d: d_[k] = d.get(k) :
'hide' が増えてるので手動パッチ、、、というか関数追加で。
$ mv rt_v62 rt_v63 $ cat v63.patch | ( cd rt_v63 ; patch -p1 ) $ cd rt_v63 $ make clean $ make
それでは、またまたまたしてもリテイク
$ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=20 yaml=dat6.yaml data_name=all name=out_v63/dat6 : wh : 307200/307200(100.0%) : fin 1m 13.76s frm : 600/600(100.0%) : fin 13h 19m 43.63s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2604816 7 17 06:46 dat6_2.mp4 -rw-r--r-- 1 kondoh staff 3141001 7 17 06:46 dat6_1.mp4 -rw-r--r-- 1 kondoh staff 6123904 7 17 06:44 dat6.mp4 :
$ ./cg.py eyep=[0,0,0],[200,200,100],10 sec=20 yaml=spin_coin.yaml data_name=all name=out_v63/coin : wh : 307200/307200(100.0%) : fin 8.45s frm : 600/600(100.0%) : fin 1h 46m 31.09s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 302066 7 17 08:45 coin_2.mp4 -rw-r--r-- 1 kondoh staff 3140043 7 17 08:45 coin_1.mp4 -rw-r--r-- 1 kondoh staff 3657923 7 17 08:43 coin.mp4 :
フレームレートを半分に落とし、視線の動きも同じ起動を半分の速度で移動するようにして、2倍の時間回してみます。
$ ./pac_dat.py $ ( cd pac ; wget http://kondoh2.html.xdomain.jp/rt/pac.log ) $ ./pac_dat.py $ ./cg.py eyep=[0,0,20],[50,50,10],40 sec=60 yaml=pac.yaml data_name=all name=out_v63/pac_ fps=15 : wh : 307200/307200(100.0%) : fin 33.11s frm : 900/900(100.0%) : fin 12h 41m 7.26s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2158299 7 17 21:54 pac__7.mp4 -rw-r--r-- 1 kondoh staff 3132028 7 17 21:54 pac__6.mp4 -rw-r--r-- 1 kondoh staff 3141886 7 17 21:53 pac__5.mp4 -rw-r--r-- 1 kondoh staff 3143388 7 17 21:51 pac__4.mp4 -rw-r--r-- 1 kondoh staff 3120757 7 17 21:50 pac__3.mp4 -rw-r--r-- 1 kondoh staff 3132163 7 17 21:48 pac__2.mp4 -rw-r--r-- 1 kondoh staff 3137626 7 17 21:46 pac__1.mp4 -rw-r--r-- 1 kondoh staff 22040473 7 17 21:44 pac_.mp4 :
フレームレート2倍でまとめなおすと
$ ./img.py out_v63/pac_ out_v63/pac_2_ $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 17186069 7 17 22:15 pac_2_.mp4 : $ ./img.py dmy out_v63/pac_2_ cmd=div3M $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 3090785 7 17 22:24 pac_2__5.mp4 -rw-r--r-- 1 kondoh staff 3129317 7 17 22:24 pac_2__4.mp4 -rw-r--r-- 1 kondoh staff 3133256 7 17 22:22 pac_2__3.mp4 -rw-r--r-- 1 kondoh staff 3140700 7 17 22:21 pac_2__2.mp4 -rw-r--r-- 1 kondoh staff 3140071 7 17 22:18 pac_2__1.mp4 -rw-r--r-- 1 kondoh staff 17186069 7 17 22:15 pac_2_.mp4 :
$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_r.yaml data_name=all name=out_v63/car_ : wh : 307200/307200(100.0%) : fin 20.68s frm : 600/600(100.0%) : fin 4h 40m 49.07s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 93790 7 18 03:11 car__2.mp4 -rw-r--r-- 1 kondoh staff 3143130 7 18 03:11 car__1.mp4 -rw-r--r-- 1 kondoh staff 3457662 7 18 03:08 car_.mp4 :
$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v63/cut : wh : 307200/307200(100.0%) : fin 26.74s frm : 600/600(100.0%) : fin 14h 48m 30.79s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 3099597 7 18 18:49 cut.mp4 :
$ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=20 yaml=op3.yaml data_name=all name=out_v63/op3 : wh : 307200/307200(100.0%) : fin 17.84s frm : 600/600(100.0%) : fin 4h 24m 14.44s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 237760 7 19 00:12 op3_2.mp4 -rw-r--r-- 1 kondoh staff 3142849 7 19 00:12 op3_1.mp4 -rw-r--r-- 1 kondoh staff 3591257 7 19 00:09 op3.mp4 :
$ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=20 yaml=op2.yaml data_name=all name=out_v63/op2 : wh : 307200/307200(100.0%) : fin 8.95s frm : 600/600(100.0%) : fin 2h 1m 9.71s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 692809 7 19 02:57 op2_2.mp4 -rw-r--r-- 1 kondoh staff 3145302 7 19 02:57 op2_1.mp4 -rw-r--r-- 1 kondoh staff 4043059 7 19 02:55 op2.mp4 :
$ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=20 yaml=op.yaml data_name=all name=out_v63/op : wh : 307200/307200(100.0%) : fin 17.59s frm : 600/600(100.0%) : fin 3h 55m 51.45s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2560908 7 19 07:13 op_2.mp4 -rw-r--r-- 1 kondoh staff 3142406 7 19 07:13 op_1.mp4 -rw-r--r-- 1 kondoh staff 6100632 7 19 07:11 op.mp4 :
$ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=20 yaml=and.yaml data_name=all name=out_v63/and : wh : 307200/307200(100.0%) : fin 13.45s frm : 600/600(100.0%) : fin 2h 28m 51.68s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 1400177 7 19 09:58 and_2.mp4 -rw-r--r-- 1 kondoh staff 3138361 7 19 09:58 and_1.mp4 -rw-r--r-- 1 kondoh staff 4812840 7 19 09:55 and.mp4 :
$ ./cg.py eyep=[0,0,0],[450,450,150],10 sec=10 yaml=dat4.yaml data_name=all name=out_v63/fix : wh : 307200/307200(100.0%) : fin 1m 34.02s frm : 300/300(100.0%) : fin 9h 7m 11.56s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2910930 7 19 19:13 fix.mp4 :
$ wget http://kondoh2.html.xdomain.jp/rt/dat3.yaml $ wget http://kondoh2.html.xdomain.jp/rt/noshi.jpg $ ./cg.py eyep=[0,0,0],[300,300,100],10 sec=10 yaml=dat3.yaml data_name=colosseum name=out_v63/noshi : wh : 307200/307200(100.0%) : fin 24.59s frm : 300/300(100.0%) : fin 2h 50m 13.45s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 743710 7 19 22:39 noshi_2.mp4 -rw-r--r-- 1 kondoh staff 3143590 7 19 22:39 noshi_1.mp4 -rw-r--r-- 1 kondoh staff 4292202 7 19 22:38 noshi.mp4 :
$ ./cg.py eyep=[0,0,0],[300,300,60],10 sec=10 data_name=colosseum2 name=out_v63/col2 : wh : 307200/307200(100.0%) : fin 5m 21.01s frm : 300/300(100.0%) : fin 30h 22m 0.94s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2872434 7 21 10:07 col2.mp4 :
$ ./cg.py eyep=[0,0,0],[200,200,40],10 sec=10 data_name=colosseum name=out_v63/col : wh : 307200/307200(100.0%) : fin 12.24s frm : 300/300(100.0%) : fin 1h 12m 58.99s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 1941306 7 21 14:22 col.mp4 :
$ ./cg.py eyep=[0,0,0],[200,200,20],10 sec=10 data_name=export_test3 name=out_v63/exp3 : wh : 307200/307200(100.0%) : fin 9.18s frm : 300/300(100.0%) : fin 46m 58.87s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 101644 7 21 17:25 exp3.mp4 :
こ、これは...!?
$ ./cg.py eyep=[0,0,-20],[40,40,5],10 sec=20 data_name=rxs_check2 name=out_v63/rxs_check2 : wh : 307200/307200(100.0%) : fin 8.62s frm : 600/600(100.0%) : fin 1h 35m 54.90s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2836688 7 21 19:14 rxs_check2.mp4 :
$ ./cg.py eyep=[0,0,0],[40,40,10],10 sec=20 data_name=rxs_check2 name=out_v63/rxs_check2_ : wh : 307200/307200(100.0%) : fin 7.46s frm : 600/600(100.0%) : fin 1h 34m 13.70s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2582099 7 21 22:38 rxs_check2_.mp4 :
$ ./cg.py eyep=[0,0,0],[40,40,10],10 sec=10 data_name=rxs_check name=out_v63/rxs_check : wh : 307200/307200(100.0%) : fin 8.67s frm : 300/300(100.0%) : fin 46m 1.86s ls -lt out_v63/ | head total 1642728 -rw-r--r-- 1 kondoh staff 2994817 7 21 23:26 rxs_check_1.mp4 -rw-r--r-- 1 kondoh staff 3165126 7 21 23:25 rxs_check.mp4 :
$ ./cg.py eyep=[0,0,-5],[100,100,10],10 sec=20 data_name=objs name=out_v63/objs : wh : 307200/307200(100.0%) : fin 9.96s frm : 600/600(100.0%) : fin 2h 17m 6.22s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 3001980 7 22 05:17 objs_1.mp4 -rw-r--r-- 1 kondoh staff 3228799 7 22 05:17 objs.mp4 :
$ ./cg.py eyep=[0,0,12],[100,100,10],10 sec=10 data_name=objs name=out_v63/objs_ : wh : 307200/307200(100.0%) : fin 14.47s frm : 300/300(100.0%) : fin 1h 28m 42.91s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2364756 7 22 09:47 objs_.mp4 :
$ ./cg.py eyep=[100,0,0],100,5 sec=10 data_name=ball_world name=out_v63/bw_2 : wh : 307200/307200(100.0%) : fin 8.18s frm : 300/300(100.0%) : fin 47m 58.87s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2060028 7 22 11:03 bw_2.mp4 :
$ ./cg.py eyep=[0,0,0],50,20 sec=10 data_name=ball_world name=out_v63/bw_near_2 : wh : 307200/307200(100.0%) : fin 8.45s frm : 300/300(100.0%) : fin 48m 31.82s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 1269168 7 22 12:06 bw_near_2.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=copen_rep name=out_v63/copen_rep : wh : 307200/307200(100.0%) : fin 7.88s frm : 300/300(100.0%) : fin 45m 13.48s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 3128521 7 22 13:09 copen_rep_1.mp4 -rw-r--r-- 1 kondoh staff 278589 7 22 13:09 copen_rep_2.mp4 -rw-r--r-- 1 kondoh staff 3738254 7 22 13:08 copen_rep.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=ball_world name=out_v63/bw2_full : wh : 307200/307200(100.0%) : fin 10.40s frm : 300/300(100.0%) : fin 47m 35.56s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 1475779 7 22 14:45 bw2_full.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v63/objs_full_sc : wh : 307200/307200(100.0%) : fin 11.46s frm : 300/300(100.0%) : fin 59m 56.72s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2568762 7 22 18:37 objs_full_sc.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=poly_n_pyramid name=out_v63/pn_pyramid2 : wh : 307200/307200(100.0%) : fin 10.13s frm : 300/300(100.0%) : fin 49m 34.87s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2314262 7 22 19:29 pn_pyramid2.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=cube name=out_v63/cube2 : wh : 307200/307200(100.0%) : fin 9.07s frm : 300/300(100.0%) : fin 49m 41.98s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2184284 7 22 20:37 cube2.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=ball name=out_v63/vmap4 : wh : 307200/307200(100.0%) : fin 8.58s frm : 300/300(100.0%) : fin 47m 36.44s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 2297815 7 22 21:56 vmap4.mp4 :
$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=copen name=out_v63/map2 : wh : 307200/307200(100.0%) : fin 8.68s frm : 300/300(100.0%) : fin 47m 40.31s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 1331932 7 22 22:56 map2.mp4 :
$ cat > refra.yaml ref: - kind: square m2g: [ ax.zoom_all(50) ] - kind: ball def_col: [128,0,0] rtd: { base: 0.1, diff: 0, reflect: 0.5, reflact: 0.5, density: 2 } l2m: [ ax.zoom_all(20.0/50) ] m2g: [ ax.zoom_all(50) ] ^D $ $ ./cg.py eyep=[0,0,0],200,10 sec=10 yaml=refra.yaml data_name=refra name=out_v63/reflact2 wh : 307200/307200(100.0%) : fin 8.51s frm : 300/300(100.0%) : fin 47m 26.81s $ ls -lt out_v63/ | head -rw-r--r-- 1 kondoh staff 283935 7 22 23:50 reflact2.mp4 :