Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
3次元の凸包を求めよう
@abcdef3141
1. 凸包の定義
2. アルゴリズムの説明
0. 目次
あとおまけ
1. 凸包の定義
N次元空間内に点P1、P2、…Pnがあるとして、
ΣPiXi(ΣXi=1 、Xi>=0)を満たす点の集合
……?
1. 凸包の定義
2次元なら…
外側から輪ゴムを
かけるイメージ
1. 凸包の定義
3次元なら…
3次元のゴムみたいなやつで
全ての点の周りを覆った時の
凸多面体。
2. 凸包のアルゴリズムの説明
結論としては、計算量は平均で
O(nlogn)になる。(nは頂点の数)
平均というのは、
頂点をランダムに並べ替えたときの平均、という意味
※ここからはどの4点も同一平面上にないとして考えます
2. 凸包のアルゴリズムの説明
そもそもどうやって凸包Cを表すか
→面と辺を使って表す
→最終的な面の数がO(n^2)個になったりしないのか?
→いいえ。(O(n)で抑えられる)
2. 凸包のアルゴリズムの説明
とりあえずはじめに4頂点で四面体C4を作り、1頂点ずつ
凸包に追加していく方法で考える。(C5,C6,…,Cn=C)
ある頂点vを増やすときに、 vがCv-1の内部に存在す
る →その頂点は無視できる
そうでない...
2. 凸包のアルゴリズムの説明
2. 凸包のアルゴリズムの説明
2. 凸包のアルゴリズムの説明
地平線と頂点vを結んで凸包に追加する
Cv-1から取り除かれる面は、頂点vから見えてい
るものなので見えるかどうかを調べる
2. 凸包のアルゴリズムの説明
これを頂点vごとに全ての面についていちいち調べると、
(出てくる面の合計数は高々O(n)なのも併せて)
それぞれについてO(n)→合計でO(n^2)
2. 凸包のアルゴリズムの説明
Cv-1から取り除かれる面は、頂点vから見
えているものなのでそれを調べる
ここからどうするか?
再揭:
頂点とそこから見えている面の関係に注目
2. 凸包のアルゴリズムの説明
頂点 面
頂点v
頂点vから
見える面
(後で凸包から削除)
2. 凸包のアルゴリズムの説明
頂点を先読みして、はじめの4面体(C4)の4面と他のN-4頂点
について見えるかどうかの関係をグラフで持っておく
頂点や面が凸包から追加されたり削除されたりしたら、
そのグラフに作業をする方向性で頑張る
2. 凸包のアルゴリズムの説明
削除は簡単だからどうでもいいけど、
面を追加する際に探す対象となる頂点を減らしたいなあ
2. 凸包のアルゴリズムの説明
Cv-1に頂点vを追加したときそれぞれ追加される面に対して、
その面を見ることのできる頂点の候補を事前に絞り込みたい
きゅうり君の意見
2. 凸包のアルゴリズムの説明
ここで地平線に注目すると、追加された面が見えるにはそ
の面がつながる地平線が見えていなければいけない
その地平線を含んでいた面のうちの一つ以上が
見えていた頂点を見ればよい
今みなさんが見ている視点から見ると
黒...
2. 凸包のアルゴリズムの説明
実は、「地平線を含む面が見えていた頂点の数」の
平均は常にO(logn)で抑えられる
証明:コンフィギュレーション空間をうまく定義して使うと、そのコンフィギュレーション空
間に含まれる衝突サイズの和の期待値が上か...
2. 凸包のアルゴリズムの説明
先ほども出てきたが、途中で出てきた(削除された
ものも含む)面も
O(n)で抑えられる
よって、先ほどまでO(n^2)だったところが
O(nlogn)で求まることがわかる。
だから全体でO(nlogn)になる。
2. 凸包のアルゴリズムの説明
やったね!
あとは実装するだけだ!
2. 凸包のアルゴリズムの説明
ということで興味がある人は
実装してみてください。
114514.感想?
人間って3次元の世界に生きているのに
3次元幾何に慣れていないのって
変だなあと思いました。
4次元の世界に生きていれば慣れるのかなと
思います
ご清聴ありがとうございました。
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
ドロネー三角形分割
Next
Upcoming SlideShare
ドロネー三角形分割
Next
Download to read offline and view in fullscreen.

Share

3次元の凸包を求める

Download to read offline

ミスも直しました

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

3次元の凸包を求める

  1. 1. 3次元の凸包を求めよう @abcdef3141
  2. 2. 1. 凸包の定義 2. アルゴリズムの説明 0. 目次 あとおまけ
  3. 3. 1. 凸包の定義 N次元空間内に点P1、P2、…Pnがあるとして、 ΣPiXi(ΣXi=1 、Xi>=0)を満たす点の集合 ……?
  4. 4. 1. 凸包の定義 2次元なら… 外側から輪ゴムを かけるイメージ
  5. 5. 1. 凸包の定義 3次元なら… 3次元のゴムみたいなやつで 全ての点の周りを覆った時の 凸多面体。
  6. 6. 2. 凸包のアルゴリズムの説明 結論としては、計算量は平均で O(nlogn)になる。(nは頂点の数) 平均というのは、 頂点をランダムに並べ替えたときの平均、という意味 ※ここからはどの4点も同一平面上にないとして考えます
  7. 7. 2. 凸包のアルゴリズムの説明 そもそもどうやって凸包Cを表すか →面と辺を使って表す →最終的な面の数がO(n^2)個になったりしないのか? →いいえ。(O(n)で抑えられる)
  8. 8. 2. 凸包のアルゴリズムの説明 とりあえずはじめに4頂点で四面体C4を作り、1頂点ずつ 凸包に追加していく方法で考える。(C5,C6,…,Cn=C) ある頂点vを増やすときに、 vがCv-1の内部に存在す る →その頂点は無視できる そうでない時はどうすべきか?
  9. 9. 2. 凸包のアルゴリズムの説明
  10. 10. 2. 凸包のアルゴリズムの説明
  11. 11. 2. 凸包のアルゴリズムの説明 地平線と頂点vを結んで凸包に追加する Cv-1から取り除かれる面は、頂点vから見えてい るものなので見えるかどうかを調べる
  12. 12. 2. 凸包のアルゴリズムの説明 これを頂点vごとに全ての面についていちいち調べると、 (出てくる面の合計数は高々O(n)なのも併せて) それぞれについてO(n)→合計でO(n^2)
  13. 13. 2. 凸包のアルゴリズムの説明 Cv-1から取り除かれる面は、頂点vから見 えているものなのでそれを調べる ここからどうするか? 再揭: 頂点とそこから見えている面の関係に注目
  14. 14. 2. 凸包のアルゴリズムの説明 頂点 面 頂点v 頂点vから 見える面 (後で凸包から削除)
  15. 15. 2. 凸包のアルゴリズムの説明 頂点を先読みして、はじめの4面体(C4)の4面と他のN-4頂点 について見えるかどうかの関係をグラフで持っておく 頂点や面が凸包から追加されたり削除されたりしたら、 そのグラフに作業をする方向性で頑張る
  16. 16. 2. 凸包のアルゴリズムの説明 削除は簡単だからどうでもいいけど、 面を追加する際に探す対象となる頂点を減らしたいなあ
  17. 17. 2. 凸包のアルゴリズムの説明 Cv-1に頂点vを追加したときそれぞれ追加される面に対して、 その面を見ることのできる頂点の候補を事前に絞り込みたい きゅうり君の意見
  18. 18. 2. 凸包のアルゴリズムの説明 ここで地平線に注目すると、追加された面が見えるにはそ の面がつながる地平線が見えていなければいけない その地平線を含んでいた面のうちの一つ以上が 見えていた頂点を見ればよい 今みなさんが見ている視点から見ると 黒い辺の交点が追加されたとして一番 手前の面(黒黒紫)が見えるには追加さ れた頂点から見た地平線(左の青青 紫)が見えることが必要、ということです
  19. 19. 2. 凸包のアルゴリズムの説明 実は、「地平線を含む面が見えていた頂点の数」の 平均は常にO(logn)で抑えられる 証明:コンフィギュレーション空間をうまく定義して使うと、そのコンフィギュレーション空 間に含まれる衝突サイズの和の期待値が上から抑えられてそれを使えば示せる。
  20. 20. 2. 凸包のアルゴリズムの説明 先ほども出てきたが、途中で出てきた(削除された ものも含む)面も O(n)で抑えられる よって、先ほどまでO(n^2)だったところが O(nlogn)で求まることがわかる。 だから全体でO(nlogn)になる。
  21. 21. 2. 凸包のアルゴリズムの説明 やったね! あとは実装するだけだ!
  22. 22. 2. 凸包のアルゴリズムの説明 ということで興味がある人は 実装してみてください。
  23. 23. 114514.感想? 人間って3次元の世界に生きているのに 3次元幾何に慣れていないのって 変だなあと思いました。 4次元の世界に生きていれば慣れるのかなと 思います
  24. 24. ご清聴ありがとうございました。
  • IsobeKota

    May. 10, 2017

ミスも直しました

Views

Total views

3,676

On Slideshare

0

From embeds

0

Number of embeds

82

Actions

Downloads

2

Shares

0

Comments

0

Likes

1

×