Re: [其他] 判斷空間中的一點是否在三角錐裡

看板Math作者 ( )時間1年前 (2022/07/02 18:48), 1年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《chu1216 (chu)》之銘言: : 各位好, : P,A,B,C,D 這五點3D座標已知. : 假設P點是(x=0.1, y=0.1, z=0.1) : 並假設,ABCD四點座標如下 : A=(x=0, y=0.5, z=0) : B=(x=0.5, y=0, z=0) : C=(x=0, y=0, z=0.5) : D=(x=0, y=0.5, z=0.5) : ABCD是一個3D的三角錐(四面體), : 請問要怎麼判斷P點有沒有落在這三角錐裡面 : 感謝各位. 提供我的一個看法,不過沒有針對你這三角錐,是對一般四面體應該都行 下面寫兩點XY都表示由X到Y的相對位置向量,XY = 行向量(y1-x1, y2-x2, y3-x3) 如果有一點Q在C、D線段上,則有 BQ = s*BC + t*BD,s與t是參數,且s+t=1,0<s,t<1 當一點R在三角形BCD內,則有 BR = m*BC + n*BD,m與n是參數,且m+n<1,0<m,n<1 假設P是四面體內一點,且R點為AP延伸至三角形BCD上的點,則 AP = k*AR,0<k<1 AP = k*AR = k*( AB + BR ) = k*( AB + m*BC + n*BD ) = k*AB + km*BC + kn*BD = k*AB + km*(AC-AB) + kn*(AD-AB) = k(1-m-n)*AB + km*AC + kn*AD = u*AB + v*AC + w*AD 其中u=k(1-m-n),v=km,w=kn,0<u,v,w<1 且 u+v+w<1 利用這些條件來判斷P是否在內部 判斷法是: 先算AP、AB、AC、AD,可以找到滿足下式的參數u、v、w AP = u*AB + v*AC + w*AD 這裡可以看成三元一次方程組,可以用反矩陣求解u、v、w u v = [AB AC AD]^(-1) [AP] w 當 u,v,w,u+v+w 均為 小於1的正數 時,P點在內部 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.91.172 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1656758913.A.465.html ※ 編輯: variation (140.116.91.172 臺灣), 07/02/2022 19:28:22
文章代碼(AID): #1Ym2A1Hb (Math)