题目
在一个三维空间中,已知P点、A点、B点,如下图所示。求一个C点,满足:PB垂直于AC,PB和AC相交,PA和PC长度相等。请写出代码
思路
由题已知PAC是等腰三角形,并且PABC都在同一个平面上,主要求相交点D,由于PB和AC垂直相较于D,那么PD就是向量PA在PB上的投影,可以通过向量点乘计算得出,D的坐标可以通过P与B的坐标的长度差值函数Lerp计算得出,那么C的坐标就是AD向量*2+A。
解答
1 | using UnityEngine; |
学无止境
在一个三维空间中,已知P点、A点、B点,如下图所示。求一个C点,满足:PB垂直于AC,PB和AC相交,PA和PC长度相等。请写出代码
由题已知PAC是等腰三角形,并且PABC都在同一个平面上,主要求相交点D,由于PB和AC垂直相较于D,那么PD就是向量PA在PB上的投影,可以通过向量点乘计算得出,D的坐标可以通过P与B的坐标的长度差值函数Lerp计算得出,那么C的坐标就是AD向量*2+A。
1 | using UnityEngine; |