首页 > 解决方案 > 如何在每次迭代时使用矩阵旋转复制一个点?

问题描述

我有这个代码:


X1 = 0.5;
X2 = 0.3;
Y1 = 0.1;
Y2 = 0.4;


for(int i =0;i<20;i++) // let's suppose that we need to create 19 points from point A

{
    point1 = new System.Windows.Point((float)X1 , (float)Y1 );
    point2 = new System.Windows.Point((float)X2 , (float)Y2 );

    System.Windows.Point RotatedPoint = p1 * rotmatrix;
    System.Windows.Point RotatedPoint2 = p2 * rotmatrix;

    DrawingVisual d = new DrawingVisual();

    System.Windows.Media.Pen pen = new System.Windows.Media.Pen();

    DrawingContext drawingContext = d.RenderOpen();

    pen.Brush = System.Windows.Media.Brushes.Black;

    drawingContext.DrawLine(pen, point1 , point2 );

    drawingContext.DrawLine(pen, RotatedPoint, RotatedPoint2);

    drawingContext.Close();
    canvas.Children.Add(new VisualHost { Visual = d });
}

我想通过旋转它从原始点创建一个新点,例如:

假设我有一个名为 A 的点,我需要的正是 created BC并且D...

我怎样才能做到这一点?

标签: c#wpfgeometrypoint

解决方案


推荐阅读