Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Математика

Математика Методы математического моделлирования, программирование математических концепций, роль математики в создании игр

Ответ
 
Опции темы
Старый 10.03.2012, 17:10   #1
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Расстояние между прямыми

Привет всем.
Каким образом я могу получить расстояние(минимальное естественно) между двумя прямыми в пространстве, если известны только координаты точек прямых?
ПС И если можно то и координаты точек получить(расстояние между которыми и будет минимальным).
(Offline)
 
Ответить с цитированием
Старый 10.03.2012, 17:46   #2
AVL
Разработчик
 
Регистрация: 27.01.2011
Адрес: Афипский
Сообщений: 419
Написано 100 полезных сообщений
(для 182 пользователей)
Ответ: Расстояние между прямыми

Прямые либо параллельны, либо пересекаются. Имеются в виду отрезки? Или параллельные прямые?
(Offline)
 
Ответить с цитированием
Старый 10.03.2012, 17:49   #3
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Расстояние между прямыми

Отрезки. Желательно все случаи рассмотреть.
(Offline)
 
Ответить с цитированием
Старый 10.03.2012, 20:45   #4
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Расстояние между прямыми

пространство 3d?
Геометрически делается так - пусть прямые "а" и "б", берём плоскость, перпендикулярную "а" (назовём её N), делаем на неё проекцию "б", ищем расстояние от проекции "б" до точки пересечения a и N. (расстояние от прямой до точки найдёшь?)
P.S. должны быть более изящные способы

UPD: можно обозначить вектор "с" как кратчайший путь между "а" и "б". Условие - скалярные произведения с*а=0 и с*b=0.

А если думать лень, написать функцию нахождения расстояния от точки до прямой "а" и бинарным поиском пробежаться по "б", подбирая точки. (тем более если "б"-отрезок)
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 11.03.2012, 01:34   #5
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Расстояние между прямыми

Пространство 3D.

Геометрически делается так - пусть прямые "а" и "б", берём плоскость, перпендикулярную "а" (назовём её N), делаем на неё проекцию "б", ищем расстояние от проекции "б" до точки пересечения a и N. (расстояние от прямой до точки найдёшь?)
Способ какой-то "извращенный".


P.S. должны быть более изящные способы
Да я их встречал, но у меня в программе не получалось их воплотить так как, там где их писали, не было толкового объяснения что к чему.

А если думать лень, написать функцию нахождения расстояния от точки до прямой "а" и бинарным поиском пробежаться по "б", подбирая точки. (тем более если "б"-отрезок)
Я уже думать не могу так как каждую божию секунду думаю о том какую нужно брать точку на какой умножать вектор какой из них нормализировать а потом умножать на скалярное произведение.....
ПС. Мне даже уже сны снятся
ПСС. Поэтому прошу помощи у вас/Вас т.к. самому тяжело понять даже с помощью гугла, яндекса и пр.
(Offline)
 
Ответить с цитированием
Старый 11.03.2012, 17:21   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Расстояние между прямыми

http://festival.1september.ru/articles/531497/
Метод проекций.
  1. Выбираем плоскость, перпендикулярную одной из скрещивающихся прямых.
  2. Проецируем каждую прямую на эту плоскость.
  3. Расстояние между проекциями будет расстоянием между скрещивающимися прямыми.
т.е. сведение задачи к расстоянию от точки до прямой в плоскости.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (11.03.2012)
Старый 13.03.2012, 00:44   #7
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Расстояние между прямыми

Я так толком и не понял. Там описывается частный случай? - когда отрезки/прямые описывает куб? Или ......
Если так как описано там, то,"по закономерности", расстояние между прямыми всегда равно а/sqrt(3) что ли? Бред.... А если длина одной прямой меньше единицы, а второй - около тысячи. Что тогда... нужно будет искать новую "закономерность"?

ПС. Я много читал об это на ГэймДеве, так что более менее понимаю что-то. Так вот если сможете напишите, как вы думаете, решение это задачи, если уверены или уже сталкивались с этой задачей.
ЗЫ Хотя может быть я и неправ. Надо будет попробовать не частный случай, просто времени никак нет .
(Offline)
 
Ответить с цитированием
Старый 14.03.2012, 00:23   #8
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Расстояние между прямыми

Нахождение расстояния между двумя прямыми входит в школьную программу 11 класса.

Немножко информации: если есть вектор А(x1,y1,z1), то плоскость с уравнением x*x1+y*y1+z*z1+d=0 перпендикулярна этому вектору. (d- любая константа).
Если считать что прямые задаются векторами А и В, а кратчайшее расстояние между ними - R, то R коллинеарен векторному произведению А и В
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com