![]() |
Вхождения объектов
как определить вошёл ли один объект в другой, например два прямоугольника, разной формы?
|
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 |
Re: Вхождения объектов
ну я имел ввиду прямоугольники разного размера, и они будут поворачиваться на разные углы
|
Re: Вхождения объектов
Угу.. Тут можно заюзать матрицу поворотов. А так, MeshIntersect.
|
Re: Вхождения объектов
да действительно MeshIntersect рулит) я на эту тему только в разделе collisions искал, поэтому не нашёл...
|
Re: Вхождения объектов
! Внимание. етак команда довольно тормозная, поетому не советую ею злоупотреблять, особенно для определения пересечения сложных фигур, состоящих большого количества вершин.
|
Re: Вхождения объектов
Я делаю гонки и у меня возникла подобная проблема.
То есть нужно определять прошёл ли байк через поинт. Что будет быстрее работать? MeshIntersect (если сделать сферу для поинта и сферу для байка) или If EntityX(pot_coll)>-140 And EntityX(pot_coll)<-120 And EntityZ(pot_coll)>-453 And EntityZ(pot_coll)<-333 ??? :dontknow: |
Re: Вхождения объектов
EntityDistance() будет быстрее. А так то второй вариант будет быстрее meshintersect().
|
Re: Вхождения объектов
EntityDistance()
Так и только так!!! |
Re: Вхождения объектов
Цитата:
|
Re: Вхождения объектов
Цитата:
|
Часовой пояс GMT +4, время: 07:52. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot