Пример #1
0
        private static LineSegment RotatedAndRescaled(this LineSegment segment, LineSegment origCntrLineSegment, LineSegment newCntrLineSegment)
        {
            float ratio        = newCntrLineSegment.Length / origCntrLineSegment.Length;
            Point newOrigPoint = newCntrLineSegment.PartPoint(origCntrLineSegment.PartPointLocation(segment.OriginPoint));
            float angle        = origCntrLineSegment.AngleBetween(segment);

            return(new LineSegment(newOrigPoint, segment.DirectionVector.Rotated(angle), ratio * segment.Length));
        }