11.08.2012 / 15:43 | |
sapiens Пользователь Сейчас: Offline
Имя: Влад Откуда: Лесной(Свердловская область) Регистрация: 27.05.2011
| Будем обсуждать здесь вопросы, связанные с геометрией, такие как пересечения, проверка столкновений, создание алгоритмов для определения сложных фигур и т.d
|
11.08.2012 / 15:46 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| Как проверить столкновение треугольников?
__________________
Да, детка, я - Король Ящериц!!! Изменено HoldFast (11.08 / 15:47) (всего 1 раз) |
11.08.2012 / 15:50 | |
sapiens Пользователь Сейчас: Offline
Имя: Влад Откуда: Лесной(Свердловская область) Регистрация: 27.05.2011
| смотря каким способом они заданы: (три точки) или (одна точка - центр треугольника и длины сторон)
|
11.08.2012 / 15:52 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| sapiens, двумя. Один треугольник точками, а второй длинами сторон
__________________
Да, детка, я - Король Ящериц!!! |
11.08.2012 / 15:56 | |
warlock Пользователь Сейчас: Offline
Имя: Макс Откуда: Белгород Регистрация: 06.04.2011
| Проверка столкновений ? Я как раз над этим думаю . К стати в java me всего 1 метод на столкновениe и его 2 разных параметра ? это collidesWidth(Sprite s,boolean pixelLevel) для проверки столкновений спрайта со спрайтом , и collidesWidth(TilledLayer t,boolean pixelLevel) для проверки столкновений между спрайтом и объектом класса TilledLayer . Больше ничего нет ?
|
11.08.2012 / 16:01 | |
ckrocket Пользователь Сейчас: Offline
Имя: Miha Откуда: Петербург Регистрация: 31.05.2012
| warlock, по моему такие методы лучше самому писать. извеняюсь если не туда влез
|
11.08.2012 / 16:05 | |
sapiens Пользователь Сейчас: Offline
Имя: Влад Откуда: Лесной(Свердловская область) Регистрация: 27.05.2011
| HoldFast, длинами сторон не советую определять, с мини пи***каться долго; если оба треугольника заданы точками, то нужно проверить каждую точку каждого треугольника, не заходит ли она в площадь другого. Как это сделать:...
|
11.08.2012 / 16:11 | |
sapiens Пользователь Сейчас: Offline
Имя: Влад Откуда: Лесной(Свердловская область) Регистрация: 27.05.2011
| Создаем 3 вектора, которые ведут из вершин треугольника к точке, которую нужно проверить, если найти углы между этими векторами(3 угла) и сложить, и получится 360 - это значит точка лежит в площади треугольника либо на его стороне, и треугольник, к которому она принадлежит, пересекает данный
|
11.08.2012 / 16:13 | |
myname Пользователь Сейчас: Offline
Имя: Аскалайт Регистрация: 12.10.2011
| Как узнать пересекаются ли два отрезка на координатной плоскости?
|
11.08.2012 / 16:35 | |
sapiens Пользователь Сейчас: Offline
Имя: Влад Откуда: Лесной(Свердловская область) Регистрация: 27.05.2011
| myname, эта задача тоже решается через векторы: сначала нужно найти отрезок, который длиннее; потом нужно построить два вектора, идущие от точек длинного отрезка к точкам короткого. Важно, чтобы каждый из векторов шел к той точке, к которой ему ближе; находим косинус угла между векторами - если меньше или равен нулю, то отрезки пересекаются
Изменено sapiens (11.08 / 16:36) (всего 2 раза) |