カットモデル

モーターショーの展示のような、 断面むき出しの「カットモデル」な表示を目指してみました。

v52.patch

$ mv rt_v51 rt_v52
$ cat v52.patch | ( cd rt_v52 ; patch -p1 )
$ cd rt_v52
$ make clean
$ make

まずは前回悔やまれた視点接近バージョンをば。

$ diff -u cool_car.yaml cool_car_r.yaml
--- cool_car.yaml	2018-06-14 00:58:53.000000000 +0900
+++ cool_car_r.yaml	2018-06-15 21:57:23.000000000 +0900
@@ -144,5 +144,6 @@
   export: cool_car
   m2g:
   - ax.zoom_all(0.2)
+  - ax.rot_z(180)
 
 # EOF

前後の向きだけちょっと変更。

$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_r.yaml data_name=all name=out_v52/car_
  :
wh : 307200/307200(100.0%) : fin 17.96s
frm : 600/600(100.0%) : fin 3h 44m 43.21s

$ ls -lt out_v51/ | head
-rw-r--r--  1 kondoh  staff   451544  6 14 13:37 car__2.mp4
-rw-r--r--  1 kondoh  staff  3142600  6 14 13:37 car__1.mp4
-rw-r--r--  1 kondoh  staff  3846140  6 14 13:35 car_.mp4
  :

さて、カットモデル用のデータ cool_car_cut.yaml。

元々ボデーの曲面は、 球に対してx,y,z方向に異なる割合で拡大をかけた楕円体を3つ用意して、 ANDをとった領域になってます。

固形石鹸のような感じになってしまうかと思ったら、 案外いい感じの曲面になってます。

まずは、この3つの楕円体を移動させつつ、 楕円体そのものも薄い透明で表示させてみました。

さらにカットモデルにするため、 カット用の立方体を用意して、 スポーツカー本体とANDをとって断面を見せてみます。

$ ./cg.py eyep=[0,0,0],[300,300,100],20 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v52/cut_tst div=8 fps=3
  :
wh : 4800/4800(100.0%) : fin 0.23s
frm : 60/60(100.0%) : fin 46.13s
estimated 8.20 hour at 640*480 30fps

$ ./cg.py eyep=[0,0,0],[300,300,100],20 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v52/cut
  :
wh : 307200/307200(100.0%) : fin 12.50s
frm : 600/600(100.0%) : fin 5h 58m 1.88s

$ ls -lt out_v52/ | head
-rw-r--r--  1 kondoh  staff  3139682  6 16 04:32 cut_1.mp4
-rw-r--r--  1 kondoh  staff    97864  6 16 04:32 cut_2.mp4
-rw-r--r--  1 kondoh  staff  3479803  6 16 04:30 cut.mp4
  :

$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v52/cut2_tst div=8 fps=3
  :
wh : 4800/4800(100.0%) : fin 0.59s
frm : 60/60(100.0%) : fin 1m 36.82s
estimated 17.21 hour at 640*480 30fps

$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v52/cut2_
  :
wh : 307200/307200(100.0%) : fin 24.96s
frm : 600/600(100.0%) : fin 15h 10m 20.77s

$ ls -lt out_v52/ | head
total 198360
-rw-r--r--  1 kondoh  staff   930308  6 16 22:45 cut2__2.mp4
-rw-r--r--  1 kondoh  staff  3139356  6 16 22:45 cut2__1.mp4
-rw-r--r--  1 kondoh  staff  4354425  6 16 22:43 cut2_.mp4

15時間ちょい。

つづきの20秒

$ ./cg.py eyep=[0,0,0],[130,90,30],10 sec=20 yaml=cool_car_cut.yaml data_name=all name=out_v52/cut3_ init_sec=20
  :
wh : 307200/307200(100.0%) : fin 21.27s
frm : 600/600(100.0%) : fin 15h 22m 17.00s

$ ls -lt out_v52/ | head
-rw-r--r--  1 kondoh  staff   714462  6 17 18:36 cut3__2.mp4
-rw-r--r--  1 kondoh  staff  3144300  6 17 18:35 cut3__1.mp4
-rw-r--r--  1 kondoh  staff  4125322  6 17 18:33 cut3_.mp4
  :

15時間22分でした。