如题:求向量A在平面L上的投影向量(图左) 即求
其实等价于求向量,那在中,,所以只需要求即可
而就是在平面L的法向量的投影坐标,所以代码就是
/// <summary>
/// 求向量A在平面B上的投影向量
/// </summary>
/// <param name="target">目标向量A</param>
/// <param name="normal">平面B的法向量的单位向量</param>
/// <returns></returns>
private Vector3 ProjectVectorOnPlane(Vector3 target, Vector3 normal)
{
// 使用向量的点积和法线向量,得到在平面上的投影
return target - Vector3.Dot(target, normal) * normal;
}
注意normal是单位向量,如果不是单位向量可以通过normal.normalized获得