Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пересечение отрезков. Реализация физики тел


vixen ©   (2004-08-05 16:13:00) 

Как быстронайти(если есть) точку пересечения двух отрезков?
Я пытаюсь прописать элементарную физику квадратов...сталкиваются,разлетаются,падают друг на друга...
Как это эффективноможно организовать?


Чугунное Рыло   (2004-08-06 16:15:00) [1]

2vixen

я не понял тебе как, в пространстве нужно?
на плоскости, думаю, ты сам бы нашел..

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

не знаю, насколько эффективно у меня там,(особо не оптимизировал) но таск менеджер "не замечает" расчет ок.1000 прересечений каждые 50мс. (гигагерцоывй дюрон)
без решений всяких линейных уравнений.. просто векторная алгебра..

и еще, ты что читал про реализацию физик геом тел, при помощи связных частиц?? дай ссылку плз.
идея хорошая, думал над этим, полагая, что за этим будущее, но ничего не придумал..


vixen   (2004-08-06 08:22:00) [2]

Я ещё был читал про реализацию физик геом тел, при помощи связных частиц.Как думаем нормальное решение?


vixen   (2004-08-06 08:10:00) [3]

Sapersky.
Спасибо за ссылку.


Думкин   (2004-08-06 06:30:00) [4]

Нифига не понял. можно объяснить что есть физика квадратов?
А по этому
> Как быстро найти(если есть) точку пересечения двух отрезков?

при таком растопыривании пальцев:
> зря я что ли в Беларуси по олимпиаде в десятку 4 года входил...:)

просто стыдно спрашивать. Олимпиада надеюсь не по копанию картошки?

Итак что есть физика квадратов?


NikeOLD   (2004-08-05 19:07:00) [5]

Прикрути момент импульса, если хочешь реалистичности и просчитывай после каждого столкновения. Будет меняться скорость и угол отражения в зависимости от параметров упругости тел, массы, скорости. Проще возьми учебник физики класс этак за 9.
Но с шарами это сделатьпроще, чем с квадратами :)

С линией помочь не могу у самого подобный вопрос возник давно, но так и не решил. Все перепробованные алгоритмы находили точку пересечения уже пересекающихся отрезков, а не произвольных (которые пересекутся где-то в пространстве, если их продолжить).


Sapersky   (2004-08-05 18:12:00) [6]

www.geometryalgorithms.com
На Delphi - GLScene/VectorGeometry.


oldman   (2004-08-05 16:55:00) [7]

1. Имея координаты отрезка получаем формулы для двух аналогичных векторов. Приравниваем их и решаем систему уравнений.
2. Что именно интерезует в физике? Зная координаты одного угла и ширину/высоту квадрата пользуйся "угол падения равен углу отражения". Реализуй спрайтами.


vixen   (2004-08-05 16:51:00) [8]

Про прямые--ладно, лоханулся...нашёл где спрашивать...
Но мот хоть по физике, умнички, чего подскажете...


vixen   (2004-08-05 16:49:00) [9]

А про физику...
Чтобы быстро...?


default   (2004-08-05 16:42:00) [10]

vixen   (05.08.04 16:38) [2]
раз такой умный выведи формулу(приравняй ур-ия прямых постр-ых по 2-м точкам)...


oldman   (2004-08-05 16:40:00) [11]

Тогда быстровряд ли...
Система двух уравнений, все таки...


vixen   (2004-08-05 16:38:00) [12]

Вообще я просил найти саму точку пересечения...
А про математику ты мне не расказывай,умница, зря я что ли в Беларуси по олимпиаде в десятку 4 года входил...:)
P.S.Я ещё про физику спрашивал...


oldman   (2004-08-05 16:29:00) [13]

:)
первый отрезок (х1,у1)-(х2,у2)
второй (а1,b1)-(a2,b2)
if ((a1>=x1)and(a2<=x2)and(b1>=y1)and(b2<=y2))
or ((a1<=x1)and(a2>=x2)and(b1<=y1)and(b2>=y2))
then пересекаются

А вообще, в математике формула есть


Наверх

Титульная страница Поиск, карта сайта Написать письмо