Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソースコードを読もう
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sigma
October 10, 2022
Programming
97
0
Share
ソースコードを読もう
Blenderのプラグインのソースコード読んだ話の触り
Sigma
October 10, 2022
More Decks by Sigma
See All by Sigma
Proxmox_VE.pdf
seiyasugimoto
0
220
Stable Diffusionで遊んでみた
seiyasugimoto
1
140
EVAフレームワーク
seiyasugimoto
0
110
SSR+SPA
seiyasugimoto
0
150
Nuxtにおける設計
seiyasugimoto
0
100
Atomic Designを ディレクトリ以外で表現
seiyasugimoto
0
89
throttleすげぇぇぇ
seiyasugimoto
0
85
スマホでPythonしたい
seiyasugimoto
0
74
平文で保存するな!
seiyasugimoto
0
95
Other Decks in Programming
See All in Programming
Swiftのレキシカルスコープ管理
kntkymt
0
190
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
180
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
1.8k
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
970
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
3
600
GitHub Copilot CLIのいいところ
htkym
2
1.1k
Cloudflare で始める Data Platform
ta93abe
0
300
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
370
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.7k
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.3k
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
330
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
210
Marketing to machines
jonoalderson
1
5.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Exploring anti-patterns in Rails
aemeredith
3
360
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
Transcript
ソースコードを読もう Blenderのプラグインの場合
読むプラグイン 「add_curve_ivygen.py」 • Ivy(つた)を生やすプラグイン • つたの写真→
どういう風に使えるか • 動画を作ってみました
None
ソースコードを眺める
None
ガウスの名前が出てきた • 読めないかも… ◦ 19世紀の大数学者 ◦ 複雑な理論に基づいている可能性 • 業績が多くて名前だけでは絞れない
ヒントを探す • 数値積分っぽいコードを発見 ◦ パラメータを乗じて総和取ってる ◦ idxとかあるし多分数値積分 (ガウス求積)やろ • 完全に数値積分だと勘違いしてハマった
◦ ガウス求積の変形を調べても合うパラメータが無い ◦ ノードを求めるアルゴリズムが書いてない ◦ そもそも何を積分してるんや
もっとヒントを探す • 「うんたらvector」が「smoothうんたらvector」に ◦ 滑らかにするアルゴリズムか … • filterって書いてある ◦ ガウシアンフィルターは平滑化処理
… • idxはこれなんだろう ◦ indexをidxって略すことがあるらしい、しらないよ … ◦ 0以上 numnode-1 以下ならI+k-5 ◦ forループは11回まわる ◦ つまり、現在のノードを中心に手前のノード 5個と後ろのノード 5個を 合わせた11ノードに対しての処理 • ガウシアンフィルターとは ◦ ガウス関数(ガウシアン)を元にした主に画像などに使われる平滑化 フィルター ◦ 「ガウシアンぼかし」とも ◦ GIMPにも実装されてる
ガウシアンフィルター(GIMP: ぼかし半径10)
一次元のガウシアンフィルターx3 • 一次元のガウシアンフィルターが実装されていた ◦ つたがガタつかないように、 x軸のバラつき、y軸のバラつき、z軸のバラつきをそれぞれ平滑化してい る。
こんな感じの処理をxyz軸それぞれに
まとめ • 便利なプラグインのソースコードを覗いたら色んな数学が使われてた ◦ ガウシアンフィルターの応用 ◦ スプライン補間 ◦ ベクトル関連色々 ◦
行列