気泡 その2

やっぱり気泡が気になります。 多少速度を犠牲にしても良しとして、根本的に対策しておきます。

再帰して交点を求めるときに、 前回の交点となった物体の情報を覚えておいて、 交点算出時に除外する方針で何とかしてみます。

あと、多角形(poly_n)の交点を求める処理を入れてましたが、、、 多角形は複数の三角形に展開して使うので、不要でした orz

v19.patch

まず前のバージョンの結果を確認

$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v18/objs_1_2 n=1 init_sec=5 div=2
  :
wh : 76009/76800(99.0%) : total 7m 50.93s : rest 4.85s : 2018/04/12 20:50:10
wh : 76469/76800(99.6%) : total 7m 49.10s : rest 2.02s : 2018/04/12 20:50:08
wh : 76800/76800(100.0%) : fin 7m 47.81s

では対策したバージョンで

$ cd ..

$ cat v19.patch | ( cd rt ; patch -p1 )

$ cd rt

$ ./cg.py eyep=[0,0,0],200,10 sec=10 data_name=objs name=out_v19/objs_1_2 n=1 init_sec=5 div=2
  :
wh : 75908/76800(98.8%) : total 7m 42.15s : rest 5.36s : 2018/04/12 21:00:15
wh : 76373/76800(99.4%) : total 7m 40.34s : rest 2.55s : 2018/04/12 21:00:13
wh : 76800/76800(100.0%) : fin 7m 38.74s

円柱の曲面や、円柱と平面の交差するあたりで改善が顕著です。 処理時間はほぼ同等。逆に短縮されたくらいですね v^_^)