Creating a Globe by Helical 3D-printing Method
めちゃめちゃおもしろい論文を見つけました。Pythonで形状を記述して直接Gコードを吐くライブラリです。
円柱座標に対応しているので、動画のようにスパイラル出力で地球儀型のランプシェードを高速に印刷できたりします。
論文はこれ:
プログラムはこれ:
使用例:
さらに、3Dプリントでタートルグラフィックスをやるプログラムもあります:
その使用例:
----
論文中のプログラム例を見ると、めちゃめちゃ短くて理解しやすいです。
動画の地球儀の海陸のマッピングなどは、内部的には球を作ってから変調する、という手順で生成してるんですが、その実現方法は、吐出量一定のままで速度を変えて積層の幅を変える…という初めて見たやり方です。 すげー発想。
この金田泰博士、いまはこの技術を使ってカスタムランプシェードの会社をやっているようです(https://3d-dl.com/ )。
スパイラルで頑丈なものが出力できるからランプシェード、という応用はアリではあるんですが、ライブラリ自体は螺旋での生産に特化したものではないので、なにかもっと非直感的な応用もありそうな気がします。
たとえば、現状の3Dプリンティングは
というフローで製作します。これに対して、このライブラリのような考え方でいけば、
- 形状を数式的に表現する→Gコード→プリント
ができそう。3DオブジェクトをSTLでなく数式的に表現すればよい。たとえばOpenSCADからのコンバートなんかは面白いような気がします。