Простой способ создания зоны. + немного геометрии

Banana

Участник
Сообщения
892
Реакции
113
Здравствуйте очень прошу постараться вникнуть в суть задачи.
Есть 3 точки в пространстве расположенные на одной высоте (H).

1) Нужно получить 4 точку в пространстве чтоб получить прямоугольник из точек. (см. рисунок)
2) Нужно задать высоту этому прямоугольнику и получить "КУБ"
3) Вычислить центр этого КУБА и перевести имеющиеся данные таким образом чтоб результат можно было без труда применить в "trigger_multiple":
SetEntPropVector(trigger, Prop_Send, "m_vecMins", Float: {X, Y, Z});
SetEntPropVector(trigger, Prop_Send, "m_vecMaxs", Float: {Q, W, E});

Задача, имея 3 точки в пространстве получить X,Y,Z,Q,W,E и float center_kuba[3]. Я расписал как я вижу решение задачи, если у вас есть более простое решение то пожалуйста расскажите. Если путь моего решения вам кажется верным, то прошу помочь в реализации.
 

Вложения

  • image_8.png
    image_8.png
    8.7 КБ · Просмотры: 53

Черная вдова

Участник
Сообщения
2,795
Реакции
670
1)Если вверх это Y, а вправо это X
Если левая верхняя это T1 а правая Нижняя это T2
То Ваша точка имеет координаты X от T2 и Y от T1
2)Ты же сам ответил, берешь 4 точки и поднимаешь им pos[2]
3)Смотря какие 3 точки имеешь, тебе может хватит 2 точки а может и 4 не хватить
Вообщем тебе нужны любые точки по разные стороны куба, то есть по диагонали
Наименьшая из X координат этих 2 точек будет является X координатой m_vecMins
А наибольшая соответственно X от m_vecMax
Так же соответственно делаешь с Y и Z

А центр это X от m_vecMins + X от m_vecMax
Делишь на 2 получается X от центра

Ты в школе учился? Или геометрию больше не ведут в школах
 

Banana

Участник
Сообщения
892
Реакции
113
Хотя я так подумал что для решения поей задачи достаточно 1 точки в пространстве а дальше просто шивелить координаты X,Y,Z,Q,W,E , на бхоп серверах видел визуализацию сей зоны, не подскажете плагин где это просто реализовано?
 
Сверху Снизу