90 likes | 280 Views
超平面の交点. 2001年11月27日 長野 英彦. Hawk's Eye Web ページ http://www.db.is.kyushu-u.ac.jp/hawks_publications/. M=. d. det M = ∑(-1) i+j Δ i,j ・ π i,j. i=1. 線形独立. d 次元 Euclid 空間 E d 内の d 個の点を要素とする集合 P を与え、線形従属か線形独立かを求める
E N D
超平面の交点 2001年11月27日 長野 英彦 Hawk's Eye Web ページ http://www.db.is.kyushu-u.ac.jp/hawks_publications/
M= d det M = ∑(-1)i+jΔi,j・πi,j i=1 線形独立 • d次元Euclid空間Ed内のd個の点を要素とする集合Pを与え、線形従属か線形独立かを求める • Ed内の点pi=(πi,1,πi,2,...,πi,d)の集合Pについて行列Mの行列式detMを計算しdetM=0ならば、Pは線形従属、そうでなければ線形独立 det + 2 = - = -(3×1-(5×4))+ 2(3×4-(4×4)) = 9 Δi,jはMからi番目の行とj番目の列を取り除いた行列の行列式
超平面の交点を求める • 目的: 2次元Euclid空間のn個の超平面 hi=aix+biy+ci(1<i<n)によって囲まれるn角形のn個の頂点を求める • n角形部分のフェイスの符号ベクトルは指定されている • 指定された符号ベクトルの符号に-がある場合、その超平面の式の符号(a, b, c)を全て反転する • 超平面を傾きでソートした集合をSHとする • b=0(a<0)⇒b>0⇒b<0の順で、-a/b (b≠0)が大きいものから順にソート • ai/bi=aj/bj ,ai×aj<0 をみたす超平面hi, hjが存在するならば、エラーを返す(平行で向きの等しい超平面が複数存在する) h4 h1 h5 ソートした結果はh1, h2, h3, h4, h5 h2 h3
ci ai-1 ci ai-1 - - bi bi-1 ai ai-1 ai-1 ai bi-1 bi x= y= - - bi-1 bi ai-1 ai 超平面の交点を求める • SHの最初の要素から2つずつ要素を取り出し、交点を計算 • 交点をp1,p2,...,pnとする
h4 h1 h5 yi - yi-1 xi - xi-1 p3 h2 p1 p2 h3 超平面の交点を求める • 新しく見つかった点pi(i≠0)が妥当な点であるかどうかを確認 • pipi-1の傾きが以下の場合、新しく見つかった点は妥当な点 • pipi-1の傾き: • hiのbの符号がhi-1のbの符号と等しいならばpi-pi-1の傾きはpi-1pi-2の傾きより小さい • hiのbの符号がhi-1のbの符号と異なるならばpi-pi-1の傾きはpi-1pi-2の傾きより大きい • p1pnまでの傾きを調べ、pnまでの点が妥当ならば、n個の点を出力 • 妥当ではない点がみつかった時点でエラーを返す