Вниз
Скачать: CL | DM;

Точка на отрезке, ближайшая к данной.   Найти похожие ветки 

← →
alxx ©   (2003-07-15 12:13) [0]

Не подскажете, как найти координаты точки на отрезке, которая ближе всех к отрезку? Через синусы я могу вывести, но хотелось бы обойтись делением и умножением.


← →
MBo ©   (2003-07-15 12:23) [1]

??

http://delphimaster.net/view/9-1057755124/
MBo © (09.07.03 17:21)


← →
alxx ©   (2003-07-15 12:27) [2]

Я, если честно, схалявил в тот раз. Взял просто Sapersky_ (09.07.03 22:52).

Спасибо.


← →
alxx ©   (2003-07-15 12:28) [3]

Что такое "дифференцируешь квадрат расстояния до точки"?


← →
alxx ©   (2003-07-15 12:29) [4]

Поторопился с вопросом. Оказывается в Sapersky_ (09.07.03 22:52) есть прямой ответ и на этот мой вопрос.


← →
MBo ©   (2003-07-15 12:40) [5]

отрезок xa,ya-xb,yb
точка x0,y0

lx=xb-xa
ly=yb-ya
dx=xa-x0
dy=ya-y0
ур-е прямой
X=xa+t*lx
Y=ya+t*ly
квадрат расстояния от точки x0 до точки прямой с параметром t
R^2=(lx*t+dx)^2+(ly*t+dy)^2
производная
2t(lx^2+ly^2)+2(dx*lx+dy*ly)
очевидно, квадрат расстояния имеет только минимум, в нем производная=0

t=-(dxlx+dyly)/(lx^2+ly^2)

подставляем t в ур-е прямой, находим кооординаты.
если t<0 и >1 - берем концы


← →
alxx ©   (2003-07-15 13:04) [6]

Спасибо. Объяснили двоешнику.


← →
neuro ©   (2003-07-15 17:58) [7]

> если t<0 и >1 - берем концы
это конечно опечатка, но как смотрицца 8)


← →
MBo ©   (2003-07-15 18:05) [8]

>neuro
не опечатка, а недописька :)

Если t<0 - ближайшей точкой является конец A,
если t>1 - конец B



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
3-93382
Grotesk
2003-12-30 18:28
2004.01.29
DataSet в качестве Базы Данных


7-93702
msgipss
2003-11-14 11:17
2004.01.29
Как программно настроить аудит на конкретный файл


14-93649
vidiv
2004-01-08 13:55
2004.01.29
По поводу форумов


14-93690
Ig
2004-01-09 01:33
2004.01.29
В чем заключается регистрация на сайте?


6-93596
_новый_
2003-11-25 09:54
2004.01.29
IdFTP




   Наверх