Здравствуйте, soton, Вы писали:
S>Линия рисуется по следующему "закону":
S>for x := 1 to 10
S>y := tan(alpha)*x + b
S>Дойдя до конечного значения x, мы получаем некое значение y.
S>Затем происходит смена угла alpha на другое значение и вторая прямая рисуется по этому же "закону" y := tan(alpha2)*x + b
S>Интересует вопрос, как можно реализовать алгоритм, чтобы отрисовка второй линии начиналась с точки окончания первой, но уже шла под другим углом?
S>Получается так, что новая линия рисуется под нужным углом, но происходит смещение координат x и y.
Похоже у тебя неправильная постановка задачи.
Если у тебя известен угол alpha, b и длина линии по X, то и рисовать надо по другому.
Что-то вроде:
Canvas.MoveTo(X0, Y0);
DX := sign(cos(alpha)) * X; // Умножает X на направление движения
DY := tan(alpha)*x + b; // вычисляем смещение по y
Canvas.LineTo(X0 + DX, Y0 + DY);
Но скорее всего ты уперся в формулу, а задача стоит какая-то совсем другая