protected static Vector3d GetNormalAndSecant(Vector3d ab, Vector3d bc, out double secant) { secant = 1 / Math.Cos(Vector3d.AngleR(ab, bc) * 0.5); Vector3d tangent = ab + bc; return(new Vector3d(-tangent.y, tangent.x, 0).Normalized); }
public void AngleR_Normalized() { var vector1 = new Vector3d(0, 0, 1); var vector2 = new Vector3d(0, d, d); double angle = vector1.AngleR(vector2, true); Assert.AreEqual(Math.PI / 4, angle, delta); }
public void AngleR() { var vector1 = new Vector3d(0, 0, 6); var vector2 = new Vector3d(0, 2, 2); double angle = vector1.AngleR(vector2, false); Assert.AreEqual(Math.PI / 4, angle, delta); }