public static float DistanceOfPointToVector(Vector3 startPoint, Vector3 endPoint, Vector3 point) { Vector2 startVe2 = startPoint.XZ(); Vector2 endVe2 = endPoint.XZ(); float A = endVe2.y - startVe2.y; float B = startVe2.x - endVe2.x; float C = endVe2.x * startVe2.y - startVe2.x * endVe2.y; float denominator = Mathf.Sqrt(A * A + B * B); Vector2 pointVe2 = point.XZ(); return Mathf.Abs((A * pointVe2.x + B * pointVe2.y + C) / denominator);; }
public void XZ_Definition() { var value = new Vector3(11,56,85); var expected = new Vector2(11,85); Assert.AreEqual(expected, value.XZ()); }
public void TestVector3XZ() { // Arrange. var u = new Vector3(X, Y, Z); // Act. var v = u.XZ(); // Assert. Assert.AreEqual(X, v.x); Assert.AreEqual(Z, v.y); }