|
3D-программирование Вопросы, касающиеся программирования 3D мира |
29.06.2007, 17:29
|
#1
|
Оператор ЭВМ
Регистрация: 05.06.2007
Сообщений: 33
Написано 0 полезных сообщений (для 0 пользователей)
|
Вхождения объектов
как определить вошёл ли один объект в другой, например два прямоугольника, разной формы?
|
(Offline)
|
|
29.06.2007, 17:33
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Вхождения объектов
прямоугольники могут быть только одной формы - прямоугольной.
если интересуют именно объекты то чсмотри в сторону MeshIntersect.
если прямоугольники паралельны осям координат то мона так:
function IsRectIntersected(x1,y1,w1,h1,x2,y2,w2,h2)
if abs(x1-x2)<(w1+w2)/2 and abs(y1-y2)<(h1+h2)/2 then return 1 else return 0
end function
|
(Offline)
|
|
29.06.2007, 17:55
|
#3
|
Оператор ЭВМ
Регистрация: 05.06.2007
Сообщений: 33
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Вхождения объектов
ну я имел ввиду прямоугольники разного размера, и они будут поворачиваться на разные углы
|
(Offline)
|
|
29.06.2007, 19:29
|
#4
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Вхождения объектов
Угу.. Тут можно заюзать матрицу поворотов. А так, MeshIntersect.
|
(Offline)
|
|
29.06.2007, 19:49
|
#5
|
Оператор ЭВМ
Регистрация: 05.06.2007
Сообщений: 33
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Вхождения объектов
да действительно MeshIntersect рулит) я на эту тему только в разделе collisions искал, поэтому не нашёл...
|
(Offline)
|
|
30.06.2007, 02:38
|
#6
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Вхождения объектов
! Внимание. етак команда довольно тормозная, поетому не советую ею злоупотреблять, особенно для определения пересечения сложных фигур, состоящих большого количества вершин.
|
(Offline)
|
|
30.06.2007, 23:07
|
#7
|
Оператор ЭВМ
Регистрация: 14.04.2007
Сообщений: 25
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Вхождения объектов
Я делаю гонки и у меня возникла подобная проблема.
То есть нужно определять прошёл ли байк через поинт.
Что будет быстрее работать?
MeshIntersect (если сделать сферу для поинта и сферу для байка)
или
If EntityX(pot_coll)>-140 And EntityX(pot_coll)<-120 And EntityZ(pot_coll)>-453 And EntityZ(pot_coll)<-333
???
|
(Offline)
|
|
30.06.2007, 23:26
|
#8
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Вхождения объектов
EntityDistance() будет быстрее. А так то второй вариант будет быстрее meshintersect().
|
(Offline)
|
|
01.07.2007, 00:20
|
#9
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: Вхождения объектов
EntityDistance()
Так и только так!!!
|
(Offline)
|
|
01.07.2007, 01:17
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Вхождения объектов
EntityDistance()
Так и только так!!!
|
не факт. есть задачи, с которыми ED справится не сможет.
|
(Offline)
|
|
01.07.2007, 08:34
|
#11
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: Вхождения объектов
Сообщение от HolyDel
не факт. есть задачи, с которыми ED справится не сможет.
|
Я неспорю! но для простой гоночег, всамый раз по дистанции!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:07.
|