从这张图片:
我有一条P0P1线,两点都知道。如何在垂直于P0P1的线上找到两个点,比如Q0和Q1?
答案 0 :(得分:0)
假设您正在使用2D。要计算Q0Q1(P0P1的垂直向量),您需要在3D空间中使用“临时”垂直向量(此向量“进入屏幕”或“离开”它)。感谢这个临时矢量,你将能够获得Q0Q1。
Vector3 P0 = ... ;
Vector3 P1 = ... ;
Vector3 P0P1 = P1 - P0 ;
Vector3 cross = Vector3.Cross( P0.normalized, P0P1.normalized ); // Temporary vector
Vector3 Q0Q1 = Vector3.Cross( cross.normalized, P0P1.normalized );
Vector3 Q0 = (P0 + P1) * 0.5f + cross ;
Vector3 Q1 = (P0 + P1) * 0.5f - cross ;
如果您想了解Vector3.Cross
操作的工作原理,请查看manual。