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

How to get the locations of all the points on a line WP8.1 Silverlight c#

我在 canvas 上画一条线,给它一个起点和终点。现在我想获取该线每个点的 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);

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

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 
}