D>Похоже у тебя неправильная постановка задачи.
D>Если у тебя известен угол alpha, b и длина линии по X, то и рисовать надо по другому.
D>Что-то вроде:
D>D>Canvas.MoveTo(X0, Y0);
D>DX := sign(cos(alpha)) * X; // Умножает X на направление движения
D>DY := tan(alpha)*x + b; // вычисляем смещение по y
D>Canvas.LineTo(X0 + DX, Y0 + DY);
D>
D>Но скорее всего ты уперся в формулу, а задача стоит какая-то совсем другая
Главное, чтобы происходила прорисовка линий. По другой формуле уже врядли получится, так как под нее "заточен" основной код...