Выше по иерархии
Другие алгоритмы.

Математика:
Вычислительная геометрия:
Разное.

Отрезок на плоскости задается двумя не совпадающими концевыми точками X(x1,x2) и Y(y1,y2). Из точки Z(z1,z2) к прямой, содержащей отрезок [X,Y], проводится перпендикуляр P.

Пусть a,b и c - длины отрезков XY, YZ и ZX соответственно. Если перпендикуляр P попадает на отрезок XY, то углы XYZ и YXZ по величине не превосходят 90 градусов (эти оба угла не тупые).

По теореме косинусов

B2 = A2 + C2 - 2*A*C*cos YXZ

и

C2 = A2 + B2 - 2*A*B*cos XYZ

Если углы XYZ и YXZ не тупые, то cos YXZ и cos XYZ лежат в пределах от 0 до 1, и слaгаемые -2*B*C*cos YXZ и -2*A*B*cos XYZ в приведенных выше формулах неположительны, т.е. в случае, когда перпендикуляр попадает на отрезок XY, должны выполняться одновременно два неравенства

B2 <= A2 + C2

и

C2 <= A2 + B2,

Если хотя бы одно неравенство нарушается, то перпендикуляр попадает на продолжение отрезка . Примечание :

Квадрат длины отрезка, например, XY, можно найти по формуле

A = (x1-y1)2 + (x2-y2)2




Вверх по странице, к оглавлению и навигации.