卜若的代码笔记-unity系列-unity里面的数学-第二章:向量到平面的投影

1 平面的定义

在数学里面,我们通常认为平面方程表现为:

Ax+By+Cz+D=0:

定义为与固定点(x0,y0,z0)的连线垂直于固定方向(A,B,C)的所有的点的集合(360百科)

有了这个概念后,我们就可以通过一个点+一个法线求得平面方程了:

 

2 在Unity中,遇到平面的情况:

比如:

我希望求得这五个点在该平面上的一个投影:

,这个时候,我们就需要平面的相关知识。

这个平面方程我们可以直接通过点法式获得:

哎,脑阔疼

所以,为了简便起见,我们用性能小霸王的射线来进行处理:

我们已经获得了法向量n(也就是红色线)

五个球分辨沿着n的反方向发射一条射线,并和平面发生碰撞,碰撞的交点,就是投影下来的点,然后,你就能拿到投影向量了:

 

核心代码:

        Ray ray = new Ray(leftArm.transform.position, -n);  //指定原点和方向
        bool touch = Physics.Raycast(ray, out hit); //进行碰撞检测 

当然,性能肯定是很糟糕的啦~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值