200512
雑感
朝起きて、コートのクリーニングを出しに外出した。もう少し部屋の荷物を片付けたい。
部屋の環境整備欲の高まりに合わせて、浴室の掃除を一気に行う。壁や床をちゃんと磨くと浴室全体の白さが増したように感じる。月一くらいでちゃんと掃除したいと思う。
Axolotl をいじくる。自分で昨日までやっていたものと似ていて、それぞれの入力で距離を計算し足し合わせる。メッシュ化のマーチングキューブ(?)の計算も早くすごいなと思った。僕の実装と明らかに違う点が一つあり、解像度を入力して格子点の計算をするのは最後のメッシュ化のところで、足し合わせのコンポーネントではでは内部的に特に何もしていないように見える。距離として出力されているものは構造体的なもので、おそらく足し合わせコンポーネントでは計算はせず式の連結だけを行い、メッシュ化の時点で格子点を計算し足し算されているのだろう。
計算が早くすごいなと思って、GitHub にて公開されているソースコードを読む。Python のコードが公開されていて、数を見る限り、コンポーネントそのもののコードではないので、コンポーネントの実装を想像しながらコードを読む。ざっくり読む感じ、ジオメトリを扱うプログラムから、SDF (Signed Distance Fields) というものを出力し、 iOctree というプログラムで Subdivided Octree に変換し、iMarchingCubes というプログラムでメッシュ化している。Signed Distance Fields は、符号付き距離場というもので、Octree は、八分木という計算軽量化の手法らしい。
ソースは MIT ライセンスなので、書き換えて Rhino ではないところでも使ってもいいと思う。プログラムの転用や書き換えについてや、細かな技術の調査は、また今度時間のある時に掘り下げようと思う。
積みタスク
- gcode リファクタリング(Rhino + Python)
- DailyCodingChallenge Day1
- DailyCodingChallenge Day2
- DailyCodingChallenge Day3
- DailyCodingChallenge Day4
- DailyCodingChallenge Day5
- DailyCodingChallenge Day6
- DailyCodingChallenge Day7
- DailyCodingChallenge Day8
- DailyCodingChallenge Day9
- DailyCodingChallenge Day10
- DailyCodingChallenge Day11
- DailyCodingChallenge Day12
- DailyCodingChallenge Day13
- DailyCodingChallenge Day14
- DailyCodingChallenge Day15
- DailyCodingChallenge Day16
- DailyCodingChallenge Day17
- DailyCodingChallenge Day18
- DailyCodingChallenge Day19
- DailyCodingChallenge Day20
- DailyCodingChallenge Day21
- DailyCodingChallenge Day22
- DailyCodingChallenge Day23
- DailyCodingChallenge Day24
- DailyCodingChallenge Day25
- DailyCodingChallenge Day26
- DailyCodingChallenge Day27
- DailyCodingChallenge Day28
- DailyCodingChallenge Day29
- DailyCodingChallenge Day30
- DailyCodingChallenge Day31
- DailyCodingChallenge Day32
- DailyCodingChallenge Day33
- DailyCodingChallenge Day34
- DailyCodingChallenge Day35
- DailyCodingChallenge Day36
- DailyCodingChallenge Day37
- DailyCodingChallenge Day38
- DailyCodingChallenge Day39
- DailyCodingChallenge Day40
- DailyCodingChallenge Day41
- DailyCodingChallenge Day42
- diary-updete, previous + next
back