如何获取所有点的位置WP8.1 Silverlight c#

时间:2015-03-08 18:56:50

标签: c# silverlight windows-phone-8.1

我在画布上绘制一条线,给它一个起点和终点。现在我想获得该行每个点的X和Y位置。我怎么能这样做?

Line line = new Line();
        line.Visibility = System.Windows.Visibility.Visible;

        line.StrokeThickness =1;

        line.X1 = x[1];
        line.X2 = y[1];
        line.Y1 = x[i-1]/4;
        line.Y2 = y[i - 1] / 4;
        MyIP.Children.Add(line);

1 个答案:

答案 0 :(得分:0)

这是简单的数学运算。您知道线的起点和终点,这意味着您可以使用线的等式计算该线上您想要的任何点。获得等式的方法是

y = y1 + [(y2 - y1) / (x2 - x1)] * (x - x1)

你知道2分:(x1,y1)和(x2,y2)

最后,您将获得

形式的内容
y = Ax + B

意思是对于每个x,你可以计算y,如A& B是常数。

因此,您可以简单地循环遍历所有x值,并按您想要或需要的任何粒度递增,以获得适当的y值,并且您将得到一组(x,y)值

for (double i = x1; i <= x2; i+=0.2)
{
    var x = i;
    var y = (A*x)+B;
    // now you have one pair of x, y 
}