<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}]"}