Если я правильно понял ваш вопрос, вы хотите нарисовать что-то вроде лестницы. Я буду предполагать, что одна из линий имеет уравнение
a x + b y + c = 0
с ненулевыми a
и b
(частные случаи a=0
или b=0
тривиальны). Я также предполагаю, что a^2+b^2=1
(если нет, просто разделите уравнение на 1/sqrt(a^2+b^2)
).
Тогда, если у вас есть длины ваших линий L
, и координата начальной точки (x0,y0)
, то координаты других точек, где начинаются перпендикулярные линии,
(x_i, y_i) = ( x0 + (b L i)/(N-1), y0 - (a L i)/(N-1) )
где i
бегу от 0
до N-1
, а N
- это количество очков, которое вам нужно для вашей лестницы.
Примечание: если точки будут идти в неправильном направлении, используйте противоположный знак
(x_i, y_i) = ( x0 - (b L i)/(N-1), y0 + (a L i)/(N-1) )
После того, как у вас есть точки, где начинаются перпендикулярные линии, параметрические уравнения для каждой перпендикулярной линии
x_i(t) = x_i + a t D, y_i(t) = y_i + b t D
где t
изменяется от 0
до 1
а D
- расстояние между вашими параллельными линиями.
Примечание: если перпендикулярные линии идут в неправильном направлении, поменяйте знак
x_i(t) = x_i - a t D, y_i(t) = y_i - b t D
Это более или менее так)