<style> .reveal, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, "Microsoft JhengHei", Meiryo, sans-serif; } h1, h2, h3, h4, h5, h6 { text-transform: none !important; } .color-yellow{ color: yellow; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; text-align: left; padding: 10px 0; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .reveal .slides span { text-align: left; display: inline-block; } p, li { font-size: 0.88em !important; } li>p { font-size: 1em !important; } </style> # JuliaTokai #9 (2021/02/13) ###### tags: `JuliaTokai` `prezentation` --- # 歯車を設計して<br>STL出力して<br>3Dプリントした話 [堀川 由人, ほりたみゅ, @Hyrodium](https://hyrodium.github.io) ---- ### おしながき * 自己紹介 * インボリュート歯車(の原理) * つくりたいもの: :1枚歯はすば歯車 * Juliaでやっていき! * 3Dプリンタで印刷! * まとめ --- ## 自己紹介 歯車がスキ!私の名刺です↓ ![](https://res.cloudinary.com/dlhzyuewr/image/fetch/s--qLLjI9uY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_65%2Cw_1200/https://media0.giphy.com/media/Kq2b7p9Av4iW6CNUS7/giphy.gif) <small>[Juliaでエッジ検出や射影変換などの画像処理をやっていきます](https://zenn.dev/hyrodium/articles/5dc951f378b46bedb211)</small> --- ## インボリュート歯車 * インボリュート歯車ってなに? * インボリュート歯車の原理 ---- ## インボリュート歯車ってなに? * インボリュート曲線を使った歯車のこと * 一定の速度で回転運動を伝達 * 歯面が常に接している * 世に存在する歯車のほとんどがこれ * 以前作った動画を紹介します ![](https://64.media.tumblr.com/5a385371e2f742ebb187cbbcc9bf5e80/tumblr_nr0ddcYkpR1s2lbywo6_640.gifv =410x) ---- ### インボリュート曲線の描き方 ![](https://64.media.tumblr.com/4fbcd43a53e0a8f781f4c87bf9e2d444/tumblr_nr0ddcYkpR1s2lbywo1_640.gifv) ---- ### 視点を移動させます ![](https://64.media.tumblr.com/057a6fd9e63979c54c8a9fe9f3372dad/tumblr_nr0ddcYkpR1s2lbywo2_r1_500.gifv =300x) ![](https://64.media.tumblr.com/0e824ff3153ecf7d2690c88f07744aa4/tumblr_nr0ddcYkpR1s2lbywo3_500.gifv =300x) ---- ### 1点で接するインボリュート曲線 ![](https://64.media.tumblr.com/3106c117c67159eba9ab77a89dd1e321/tumblr_nr0ddcYkpR1s2lbywo4_500.gifv =300x) ![](https://64.media.tumblr.com/df51b74b099238b9e7aad69cbcd0b9df/tumblr_nr0ddcYkpR1s2lbywo7_r1_500.gifv =300x) ---- ### 歯車が回る様子 ![](https://64.media.tumblr.com/5a385371e2f742ebb187cbbcc9bf5e80/tumblr_nr0ddcYkpR1s2lbywo6_640.gifv) --- ## 作りたいもの: :1枚歯はすば歯車 * 1枚歯歯車 * はすば歯車 ---- ### 1枚歯はすば歯車 * 歯数が1 * インボリュート曲線2つ * はすば歯車 * 歯面が螺旋状にねじれているもの * 歯面が連続的に接するので滑らか ![](https://i.imgur.com/P72bqRv.png =320x) ![](https://content.misumi-ec.com/image/upload/t_popover_main/v1/p/jp/product/series/110310147959/110310147959_20190815140941.jpg =320x) ---- ### 1枚歯歯車の欠点とはすば歯車 * 回転角によっては一方向にしか力を伝達できない * はすば歯車でこれを解消! <iframe src="https://www.desmos.com/calculator/gwcjy40rlu" width="600" height="400" frameborder="0" style="border:0" allowfullscreen></iframe> ---- ### 1枚歯はすば歯車の動画 <iframe width="560" height="315" src="https://www.youtube.com/embed/SGhJhldVybE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- ## Juliaでやっていき! * Luxor.jl * 2次元でお絵描き * GeometryBasics.jl * 3次元メッシュを定義 * MeshIO.jl * STLでエクスポート ---- ### [Luxor.jl](https://github.com/JuliaGraphics/Luxor.jl) * 2次元の絵を描くのに便利 ![](https://github.com/JuliaGraphics/Luxor.jl/blob/master/docs/src/assets/figures/luxorgallery.png?raw=true =x350) ![](https://i.imgur.com/P72bqRv.png =350x) ---- ### [GeometryBasics.jl](https://github.com/JuliaGeometry/GeometryBasics.jl) * 機能は色々ありそうだけど.. * ドキュメント未整備なので全体像を把握できず.. * 今回は三角形メッシュの作成に使いました * 四面体の例↓ ```julia= using GeometryBasics points = [Point3f0([1,1,1]),Point3f0([1,-1,-1]),Point3f0([-1,1,-1]),Point3f0([-1,-1,1])] faces = [TriangleFace{Int}(1,2,3),TriangleFace{Int}(1,4,2),TriangleFace{Int}(1,3,4),TriangleFace{Int}(4,3,2)] m = Mesh(meta(points), faces) ``` ---- ### [MeshIO.jl](https://github.com/JuliaIO/MeshIO.jl) * STLファイルにexportします * Standard Triangulated Language * 3Dプリンタなどでよく使われるファイル形式 * Blenderで形状を確認 ```julia= using MeshIO save("inv.stl", m) ``` ![](https://i.imgur.com/f4aVc9s.png =x250) ![](https://i.imgur.com/LQ9vL5w.png =x250) --- ## 3Dプリンタで印刷! * 使った機械 * 印刷結果 ---- ### 使った機械 * (ここに機材を書きます) ---- ### 印刷結果 ![](https://i.imgur.com/t9AwlQb.png) --- ## まとめ * Juliaパッケージ * Luxor.jl便利! * GeometryBasics.jl便利! * MeshIO.jl便利! * 3Dプリンタ便利! * 歯車たのしい! ---- ### 今後の予定 * 回転軸を取り付けてちゃんと回るか検証 * 本当はここまでやりたかったが…発表に間に合わず * 2枚歯, 3枚歯も作りたい <iframe src="https://www.desmos.com/calculator/czk0zugq7o" width="600" height="400" frameborder="0" style="border:0" allowfullscreen></iframe> ---- ### 参考文献など * 立体図形コレクション * 一枚歯はすば歯車の元ネタ * http://sysplan.nams.kyushu-u.ac.jp/gen/hobby/puzzle/puzzlej.html * Hyrodium's Graphical MathLand * 数学の絵とか投稿してます * http://hyrodium.tumblr.com/ * InvoluteGearWithFewTeeth * 今回の計算のリポジトリ * https://github.com/hyrodium/InvoluteGearWithFewTeeth
{"metaMigratedAt":"2023-06-15T19:46:39.820Z","metaMigratedFrom":"YAML","title":"JuliaTokai #9 (2021/02/13)","breaks":true,"lang":"ja","dir":"ltr","robots":"noindex, nofollow","slideOptions":"{\"theme\":\"white\",\"transition\":\"slide\"}","contributors":"[{\"id\":\"41421433-16a1-4a57-ac11-6f7b7becb765\",\"add\":23007,\"del\":17696}]"}
    858 views