判断一个向量在另外一个向量左边还是右边

通过叉乘判断结果向量的Z方向,叉乘前先将两个向量的Z设置为0

叉乘前先将两个向量的Z设置为0为了使两个向量都处于XY平面中。

叉乘的结果是一个垂直于XY平面的向量,所以结果应该是一个(0,0,ZValue)的向量。

根据叉乘的左手(右手)原则,通过Z的正负判断向量的关系。

 

tempVec1.Z = 0;
tempVec2.Z = 0;
FVector ret = FVector::CrossProduct(tempVec1, tempVec2);
if (ret.Z > 0)
{
	TurnLeft = true;
}
else
{
	TurnRight = true;
}

左手坐标系下,如果TurnLeft为true,表示tempVec1在tempVec2的左边。

你可能感兴趣的:(UE4)