その点が図形内にあるか 三次元版

id:yellow_73:20060619 の三次元版を考えたけれども、まだわからないところがあるので保留。
頂点が(0,0,0),(x1,y1,z1),(x2,y2,z2)からなる場合、たぶん(おい)

( a1*x1+a2*x2, a1*y1+a2*y2, a1*z1+a2*z2 )
0<=a1<=1, 0<=a2<=1, 0<=a1+a2<=1

であらわせるはずです(「はず」かよ)。

X=A*x1+B*x2
Y=A*y1+B*y2
Z=A*z1+B*z2

で、
X,YからBを消すと

A=(X*y2-x2*Y)/(x1*y2-x2*y1)

また、Aを消すと

B=(X*y1-x1*Y)/(x2*y1-x1*y2)
A+B=(X*(y2-y1)-Y*(x2-x1))/(x1*y2-x2*y1)

で、A,BおよびA+Bを計算できます。
ここではZを使わないままでしたが、要するには、全ての点をXY平面に投影しても内部にあるか無いかをテストできるということです。
x2*y1-x1*y2=0となるときには、同じようにYZ平面、ZX平面に投影してあげれば良いです。いずれかでは投影できます。できないのは、x1=x2,y1=y2,z1=z2のときのみです、たぶん(おい)。
話をもどしてポリゴンについてですが、たぶん三角分割して、それぞれの三角形について含んでいるかをテストすればいいはず。でも、分割の仕方が分からない…。