private void TestLVector3() { LVector3 v1 = new LVector3(3.3d, 1.2d, 1.5d); LVector3 v2 = new LVector3(1.2d, 3.3d, 1.5d); AssertTrue(v1 != v2); AssertFalse(v1 == v2); AssertTrue(v1 + v2 == new LVector3(4.5d, 4.5d, 3)); AssertTrue(v1 - v2 == new LVector3(2.1d, -2.1d, 0)); AssertTrue(v1 * 2 == new LVector3(6.6d, 2.4d, 3)); AssertTrue(v1 / 3 == new LVector3(1.1d, 0.4d, 0.5d)); AssertTrue(LVector3.zero.normalized == LVector3.zero); AssertTrue(LVector3.Dot(v1, v2) == 10.17d); AssertTrue(LVector3.Dot(LVector3.Cross(v1, v2), v2) == 0); Debug.Log(v1.sqrMagnitude); Debug.Log(v1.magnitude); Debug.Log(v1.normalized); Debug.Log("----------------------"); }
public LFloat Dot(LVector3 v) { return(LVector3.Dot(this, v)); }
public static LFloat Angle(LVector3 lhs, LVector3 rhs) { lhs.Normalize(); rhs.Normalize(); return(LMath.Acos(lhs.Dot(rhs)) * LMath.RadToDeg); }
public static LVector2 Project(LVector3 vec, LVector3 on) { return(vec.Dot(on) / on.sqrMagnitude * on); }
public static LFloat dot(this LVector3 vec, LFloat x, LFloat y, LFloat z) { return(LVector3.Dot(vec, new LVector3(x, y, z))); }
public static LFloat dot(this LVector3 vec, LVector3 val) { return(LVector3.Dot(vec, val)); }