|
|
发表于 2007-8-31 23:25:00
|
显示全部楼层
Re:怎样求出已知三角面内某一个点的位置
//重心坐标的概念
//其中pU和pV用到了重心坐标的概念,下面稍作描述
//一个三角形有三个顶点,在迪卡尔坐标系中假设表示为V1(x1,y1,z1),
//V2(x2,y2,z2),V3(x3,y3,z3),则三角形内任意一点的坐标可以表示为 pV = V1 + U(V2-V1) + V(V3-V1),
//所以已知三个顶点坐标的情况下,任意一点可用坐标(U,V)来表示,其中 参数U控制V2在结果中占多大的权值,
//参数V控制V3占多大权值,最终1-U-V控制V1占多大权值,这种坐标定义方式就叫重心坐标。
//判断一条射线是否能和三角形相交,而且交点在三角形内
//orig是射线的起点, dir 是射线的方向,v0,v1,v2表示三角形
//交点为 orig + t*dir ,也可表示为 v0+u(v1-v0)+v(v2-v0) ,其中u 和 v 为重心坐标
//这个方法返回真,表明相交, 如果T>0, 0<U<1,0<V<1,0<U+V<1,表明交点在三角形内部 |
|