射线相交平面,相交三角面学习

射线定义是o+dt

平面是任意p在平面上满足p\cdot n=d

呐 射线和平面交点就可以求了

(o+dt).n=d;

o.n+dt.n=d;

dt.n=d-o.n;

t=(d-o.n)/d.n;

然后求到一个点在平面上,判断是否在三角形内,这个可以利用三角形三个点与这个点连线几个角之和为180度

这是一种做法,另外一种

先将三角形中间任意点P转为三点V0 V1 V2关系 

接下来就只是解方程了

v0+v(v2-v0)+u(v1-vo)=(1-v-u)v0+vv2+uv1=o+dt

可以转化为

这样可以利用克莱默法则Di/D求解

这里又需要混合积公式

 

 

这里t已经能拿到了,那么点已经求出来了,还有一些关于多项式是否有解的部分需要注意

后面这种UV计算P的方式是学习自这个高手

https://www.cnblogs.com/graphics/archive/2010/08/09/1795348.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值