public static Fix64Vector2 MirrorBy(Fix64Vector2 origin, Fix64Vector2 mirror) { Fix64Vector2 mn = mirror.normalized(); Fix64 pl = DotMulti(origin, mn); Fix64Vector2 m2p = mn * pl * (Fix64)2; return(m2p - origin); }
public override bool Equals(object obj) { if (obj is Fix64Vector2) { Fix64Vector2 f = (Fix64Vector2)obj; return(x == f.x && y == f.y); } return(false); }
public static Fix64 DotMulti(Fix64Vector2 fv2a, Fix64Vector2 fv2b) { return(fv2a.x * fv2b.x + fv2a.y * fv2b.y); }