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
On Space Filling Curves: Its Beauty and Applica...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cannorin
July 25, 2019
Science
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
On Space Filling Curves: Its Beauty and Applications
cannorin
July 25, 2019
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.5k
A Journey to Type-safe Vectors in F#
cannorin
6
11k
Audio Experience is greatly improved in VR: A Worked Example
cannorin
0
1.8k
TidalCycles - Haskell meets Music
cannorin
0
1.6k
Making Indian Curries - at Home!
cannorin
2
1.7k
A brief introduction to type inference
cannorin
4
2.6k
Other Decks in Science
See All in Science
因果推論と機械学習
sshimizu2006
1
1.3k
機械学習 - DBSCAN
trycycle
PRO
0
1.9k
Sstニューロンによる睡眠不足と回復の制御:データ駆動型トランスクリプトーム解析
tagtag
PRO
0
110
(CVPR2026) Back to Basics: Let Denoising Generative Models Denoise
shumpei777
0
270
共生概念の整理と AIアライメントの構想
hiroakihamada
0
240
O(log n)-Approximation Algorithms for Bipartiteness Ratio
tasusu
0
110
知能とはなにか -ヒトとAIのあいだ-
tagtag
PRO
0
100
ゲームと人工知能
miyayou
0
100
Bリーグのショットデータを活用した得点期待値モデルの構築 / Construction of expected points model using shot data of B.LEAGUE
konakalab
0
180
ssmonline #51 ヤマサキ春のサメ祭り 2026 / ssmjp Yamasaki Spring JAWS Festival 2026
naospon
1
110
Snowflake HCLS Meet Upヘルスケアユーザー会紹介
ktatsuya
0
120
AlgorithAlgorihms for Decision Making
mickey_kubo
0
110
Featured
See All Featured
Scaling GitHub
holman
464
140k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Docker and Python
trallard
47
4.1k
Product Roadmaps are Hard
iamctodd
55
12k
Navigating Team Friction
lara
192
16k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
VRCLT #3 空間充填曲線,その魅力と意義 cannorin
だれ • Twitter: @cannorin_vrc • Study: 数理論理学 プログラム言語の理論 • Job:
F# プログラマ • in VRC: VOLT Enthusiast VRCLT Speaker (#2~)
空間充填曲線とは ペアノ曲線 (0) ヒルベルト曲線 (1)
空間充填曲線とは(再帰的に細かくしていく) ペアノ曲線 (1) ヒルベルト曲線 (2)
空間充填曲線とは(再帰的に細かくしていく) ペアノ曲線 (2) ヒルベルト曲線 (3)
空間充填曲線とは(再帰的に細かくしていく) ペアノ曲線 (3) ヒルベルト曲線 (4)
空間充填曲線とは → 空間を充填する曲線(それはそう) ペアノ曲線 (∞) ヒルベルト曲線 (∞)
空間充填曲線とは / 一般化 n 次元への一般化もできる(これは 3D ヒルベルト曲線)
空間充填曲線とは / 定義 n 次元の単位(超)立方体を “埋め尽くす”(一次元の)曲線 ↓ 形式的には (一次元の)単位区間 [0,
1] から n 次元の単位(超)立方体 [0, 1]ⁿ への連続写像
なぜ埋め尽くせるのか? ゲオルク・カントール (1845 - 1918) 実数 ℝ の濃度と n- 次元ユークリッド空間
ℝ ⁿ の 濃度は等しい + ( non-degenerate な)区間 (単位区間 [0, 1] など)も等しい
なぜ埋め尽くせるのか? / 濃度とは? 全単射が存在(=1対1対応を作れる)⇔ 濃度が等しい 「濃度」=「要素の個数」概念の一般化(無限もOK) |X| = |Y| (
ちなみに |ℝ| > |ℕ| )
なぜ埋め尽くせるのか? ゲオルク・カントール (1845 - 1918) | [0, 1] | =
|ℝ| = |ℝⁿ| [0, 1] ℝ と と ℝ ⁿ の間の全単射の存在を証明
なぜ埋め尽くせるのか? ジュゼッペ・ペアノ (1858 - 1932) 全単射が存在するなら, 連続にできるのだろうか? || 空間を一本の曲線で 埋め尽くせるのだろうか?
なぜ埋め尽くせるのか? ジュゼッペ・ペアノ (1858 - 1932) → 全単射にはならなかったが,埋め尽くせた! (ペアノ曲線)
なぜ全単射にならない? ℝ と ℝ ² は同相ではない ↓ 一点を取り除く 分離する→ ←
分離しない
なぜ全単射にならない? 一点を取り除いても分離しない ⇔ 自己交叉がある ⇔ 同じ点を何度も通る場所がある ⇔ 単射ではない! ※ 詳しくは解析学や位相空間論の知識が必要.
A.P.M Kupers, On Space-Filling Curves and the Hahn-Mazurkiewicz Theorem とか参照 ↑ 実は自己交叉してる
おもしろい応用例が色々ある • Google Maps のキャッシュの最適化 • 巡回セールスマン問題の高速なヒューリスティック手法 • 小型で高性能なアンテナの設計 •
大規模並列計算のロードバランシング • 衝突判定やレイトレーシングの高速化 • etc...
応用 / Bounding Volume Hierarchy 物体同士の衝突判定や,物体とレイの交差判定を効率化する ために,近くにある物体同士をグループ化して扱いたい 二分木にする → 判定回数を減らせる:
O(n) → O(log n)
応用 / Bounding Volume Hierarchy / 二分木構築の高速化 近くにある物体同士を検出して二分木を作るのが大変 → 空間充填曲線を使って走査する
空間充填曲線は右から左へと 走査するのに比べて, 平面上で近くにあるものが 直線上でも近くになりやすい → 順番に辿ればOK!
応用 / 空間充填曲線の locality 「平面上で近くにあるものが直線上でも近くになりやすい」 性質 (locality) が様々な分野に応用しやすい 実装が楽なのでヒルベルト曲線がよく使われるが, 使う曲線によって効率化の度合いが変わることもある
ところで・・・ 今回のスライドで使われている空間充填曲線の画像は, 私が所属している「株式会社ぺあのしすてむ」で 業務の一環として開発しているスマホアプリ 「 Peano Curves 」で作成されています ・現在オープンベータテスト中 ・アプリ名
: Peano Curves ・対応 OS: iOS/Android ・公式 Twitter: @PeanoCurves
Thank you for listening!