Я использовал VS 2019 в Windows 7 для разработки проекта WPF 3D.
Я создал функцию (рисовать линию при перетаскивании правой кнопкой мыши).
У меня есть пробовал много методов, но не смог этого добиться: когда я l oop x в диапазоне, y в этой строке выводится.
Код, который я пробовал:
public void OnMouseRightButtonUp(object sender,
System.Windows.Input.MouseEventArgs args)
{
try
{
if (args.RightButton == MouseButtonState.Released)
{
currentPoint_2 = args.GetPosition(this);
Line line = new Line();
line.Stroke = SystemColors.WindowFrameBrush;
line.X1 = currentPoint.X;
line.Y1 = currentPoint.Y;
line.X2 = currentPoint_2.X;
line.Y2 = currentPoint_2.Y;
line.StrokeThickness = 2;
canvasOn3D.Children.Add(line);
foreach (int x in Enumerable.Range(-100, 100))
{
double y = line.Y1 + ((line.Y2 - line.Y1) * (x - line.X1)
/ (line.X2 - line.X1));
messagebox.show(y);
}
}
Когда x = -100, выходное значение y в моем коде равно 200, чего нет в строке.
Может быть какая-то проблема с этой строкой:
double y = line.Y1 + ((line.Y2 - line.Y1) * (x - line.X1)
/ (line.X2 - line.X1));
Но я мог бы не сообщать об ошибке ...... `
При отладке я рисую линию случайным образом и X1 = 53, Y1 = 194, X2 = 487, Y2 = 196 в случае отладки.