public XYZ DirectionTo( Segment a ) { XYZ v = a.MidPoint - MidPoint; return v.IsZeroLength() ? v : v.Normalize(); }