Конференция "Игры" » Получить треугольник в заданной точке [x , y] из массива вершин. [Delphi, Windows]
 
  • @!!ex © (18.06.09 16:30) [20]
    > [19] main ©   (18.06.09 16:20)

    Понятно. :)
    У меня обычно строго наоборот, сначала графика, потом физика. Но это тупо от того, что я больше на графике специализируюсь...
  • Б (19.06.09 17:45) [21]
    @!!ex ©
    А где можно посмотреть твои работы, если не секрет.
  • @!!ex © (19.06.09 22:45) [22]
    > [21] Б   (19.06.09 17:45)

    Часть есть здесь:
    http://www.sol-online.org/index.php?content=gallery

    Три больших проекта на стадии разработки.
    Один на стадии пререлиза, скоро смогу скриншоты из него публиковать(по договоренности с заказчиком - не раньше чем будет релиз, я могу распространяться по поводу проекта)
    Два других еще и близко не релизы...
  • @!!ex © (19.06.09 22:45) [23]
    А зачем собственно?
  • @!!ex © (19.06.09 22:53) [24]
    Пара скринов из "пререлизного" проекта. По ним все равно не понять о чем проект, так что не думаю что это страшно.
    http://www.gamedev.ru/code/forum/?id=119650&page=2#m19
  • Б (20.06.09 10:40) [25]

    > @!!ex ©   (19.06.09 22:45) [23]
    > А зачем собственно?


    Просто интересно.
  • Galiaf (27.06.09 15:24) [26]
    Итак, вернемся к начальной теме. Организовал работу дерева, выглядит все следующим образом: после загрузки мира создается дерево которое разбивается один раз и только для ландшафта. Далее получаем узел которому принадлежит точка V. Допустим в узле 100 граней, остается только перебрать их все и найти ближайшую к точке V. Как можно это сделать и стоит ли увеличить степень разбиения дерева или цикл по 100-200 граням это нормально?
  • @!!ex © (27.06.09 16:12) [27]
    > [26] Galiaf   (27.06.09 15:24)

    100-200 граней - это нормально. как искать? перебором тупейшим.
  • Galiaf (27.06.09 16:52) [28]
    Есть формула расстояния до треугольника? Хожу по ссылкам в гугле, либо треугольник получают из карты высот либо какие-то подозрительно сложные процедуры для нахождения расстояния до полигона. Либо не могу сформулировать запрос, например
    http://www.gamedev.ru/code/articles/?id=4209
  • @!!ex © (27.06.09 17:55) [29]
    > [28] Galiaf   (27.06.09 16:52)

    ПРиведенная статья вполне отвечает нв ваш вопрос.
  • @!!ex © (27.06.09 17:55) [30]
    На самом деле это дейтсивтельно сложная операция.
  • Galiaf (27.06.09 19:11) [31]
    Вот и отлично, просто я начал подозревать, что тот вариант далек от быстрого метода.
  • @!!ex © (27.06.09 19:27) [32]
    Тоесть нахождение расстояния до плоскости треугольника - это простейшая операция...
    А вот определеить что точка внутри треугольника - это сложно...
    Еще сложнее реализовать пересечение с гранями. Собственно обо всем этом подробно написано в приведенной статье.
  • @!!ex © (27.06.09 19:27) [33]
    Тоесть нахождение расстояния до плоскости треугольника - это простейшая операция...
    А вот определеить что точка внутри треугольника - это сложно...
    Еще сложнее реализовать пересечение с гранями. Собственно обо всем этом подробно написано в приведенной статье.
  • Galiaf (27.06.09 20:09) [34]
    В том-то и дело. Мне нужно найти только расстояние до треугольника и сделать это самым быстрым способом, так как выбирать нужные треугольники в узле мне придется по показателю расстояния до него. А судя по тому, что описано в статье мне придется сперва делать проверку на пересечение прямой и плоскости, потом находить точку пересечения и только потом имея эту точку я могу посчитать расстояние между заданной точкой и точкой пересечения.
    P.S.
    Возможно я что-то попутал, перечетаю статью еще раз.
    Еще рассмотрю вариант с получением ближайшей вершины и проверкой каким граням эта вершина пренадлежит.
  • @!!ex © (27.06.09 20:12) [35]
    > [34] Galiaf   (27.06.09 20:09)

    Этот алгоритм несмотря на внешнюю громоздкость работает довольно быстро.
 
Конференция "Игры" » Получить треугольник в заданной точке [x , y] из массива вершин. [Delphi, Windows]
Есть новые Нет новых   [134430   +3][b:0][p:0]