Построение касательных и нормалей к плоским кривым

Для проведения касательной к кривой необходимо задать уравнение кривой в каком либо виде: Y=F(x); или F1(x, y)=0; или X=Fx(t); Y=Fy(t); и координаты точки на кривой (xi, yi).

Уравнение касательной к кривой имеет вид:

(x-xi)*dY/dx =(y-yi); или (x-xi)*dFy/dt = (y-yi)*dFx/dt;

где dY/dx = dF(x)/dx = - (¶F1(x, y)/¶x)/(¶F1(x, y)/¶y);

Уравнение нормали к кривой имеет вид:

(x-xi) = -(y-yi)*dY/dx; или (x-xi)*dFx/dt = -(y-yi)*dFy/dt;

Пусть уравнение кривой имеет вид: X=A*cos(t); Y=B*sin(t); - эллипс. Алгоритм построения касательной к кривой в расчетной области X_Min<=x<=X_Max, Y_Min<=y<=Y_Max следующий.

1) Находим производные dFx/dt=-A*sin(t); dFy/dt=B*cos(t).

2) В области изменения параметра "t" задаем ti и определяем координаты точки Xi, Yi и производные dXi= (dFx/dt)i, dYi= (dFy/dt)i в точке "ti".

3) Находим точки "1" и "2" пересечения касательной с границами расчетной области:

при dXi<>0 полагаем x1=x_Min и находим y1=(x1-xi)*dYi/dXi + yi;

если y1< y_Min, то y1=y_Min и определяем x1= (y1-yi)*dXi/dYi + xi;

если y1> y_Max, то y1=y_Max и определяем x1= (y1-yi)*dXi/dYi + xi;

аналогично, при dXi<>0 полагаем x2=x_Max и находим y2 по приведенной выше схеме с корректировкой значений y2 и x2.

При dXi=0 полагаем x1=xi и y1=y_Max и x2=xi и y2=y_Min.

4) Через точки "1" и "2" проводим прямую.

 
 


L

Yi

L

Xi

Несколько проще алгоритм построения касательной постоянной длины "2*L" к плоской кривой. В этом случае:

при dXi<>0 находим alf=arctg(dY/dx)i; иначе alf=900; и определяем:

x1 = xi + L*cos(alf); y1 = yi + L*sin(alf);

x2 = xi - L*cos(alf); y2 = yi - L*sin(alf);

При построении нормали используется уравнение нормали к кривой и приведенные выше алгоритмы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: