我在画布上绘制一条线,给它一个起点和终点。现在我想获得该行每个点的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);
答案 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
}