Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 65

Сместить векторы относительно углу поворота

27.03.2019, 15:07. Показов 1255. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь вычислить координаты прицела (векторы), чтобы пустить луч, да вот не получается
Что у меня получилось:

Если не воспроизводится: https://www.youtube.com/watch?v=DWdZYdq-E0A



Собственно сами вычисления:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    new 
        Float:fPX, Float:fPY, Float:fPZ, 
        Float:fVX, Float:fVY, Float:fVZ, 
        Float:object_x, Float:object_y, Float:object_z 
        Float:zzz; 
 
    const Float:fScale = 2.75; // расстояние объекта
 
    GetPlayerCameraPos(playerid, fPX, fPY, fPZ); // положение камеры
    GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ); // куда смотрит камера (векторы)
    GetPlayerFacingAngle(playerid,zzz); // угол поворота игрока
 
    fVX += floatsin(-zzz+1.5, degrees); // проблема кроется здесь
    fVY += floatcos(-zzz+1.5, degrees); // проблема кроется здесь
 
    object_x = fPX + (fVX * fScale); 
    object_y = fPY + (fVY * fScale); 
    object_z = fPZ + (fVZ * fScale); 
 
    CreateObject(2707, object_x, object_y, object_z, 0.0000000,0.0000000,0.0000000, 100); // создание объекта
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2019, 15:07
Ответы с готовыми решениями:

Найти вектор по точке и углу поворота относительно оси Х
Здравствуйте. Не могу найти формулу, по которой бы можно было получить вектор v(a,b), зная точку на плоскости и угол поворота...

Найти углы поворота объекта по углу наблюдателя
Привет. Есть объект A. Все углы его поворота равны 0. Есть наблюдатель B. Он вращается по сферическим координатам и его взгляд...

Как повернуть один вектор относительно другого, используя матрицы поворота
Здравствуйте! У меня есть 2 отрезка в пространстве: AB=(-0.669131; 0; 0.743145) и BC=(10; -6; 0). Угол между этими векторам 125.013873...

8
Эксперт по математике/физике
 Аватар для jogano
6360 / 4067 / 1512
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
27.03.2019, 19:12
А давайте без того, чтобы в коде ковыряться. Например, я не понимаю, что делается в строчках 13 и 14...
Что дано? Что найти?
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 65
27.03.2019, 19:22  [ТС]
Смещение векторов X и Y по углу поворота
0
19 / 14 / 7
Регистрация: 14.03.2019
Сообщений: 71
27.03.2019, 19:37
либо я не понял вопрос, либо не хватает еще одного угла поворота. эт ж что-то вроде сферической системы координат.
0
Эксперт по математике/физике
 Аватар для jogano
6360 / 4067 / 1512
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
27.03.2019, 21:41
Цитата Сообщение от nikjda Посмотреть сообщение
Смещение векторов X и Y по углу поворота
Понятнее не стало. Вектор направления ствола один, а не два. Но он имеет три координаты, судя по строкам 16-18 кода.
Когда ствол смотрит вверх под некоторым углом, то движение ствола вбок не то же самое, что изменение горизонтального угла в сферических координатах вектора - первый угол меньше. Вам нужен первый угол или второй? С практической точки зрения первый - смещение линии прицела по прицельной сетке это как раз первый угол.
P.S. Вообще, складывается впечатление, что эта задача нужна отвечающим, а не вам, а вы отмахиваетесь от надоедливых отвечающих, пытающихся прояснить условие, изо всех сил экономя на словах. Экономите слова - сэкономят и на вас, будете сами решать.
Например, поворот ствола влево это увеличение или уменьшение горизонтального угла наводки, по-вашему? Это всё в посте #1 писать надо...
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
27.03.2019, 21:56
Зачем писать код С++ в форуме геометрия?
Т.е. 99.9% людей не программистов и программистов не желающих читать такой стиль отсеяны? =)).
Непонятно…почему видео выглядит как мод игры Grand Theft Auto либо создание его движка с нуля. Почему следы от пуль застревают на какой-то невидимой сфере, а не наложены на объекты мира? Почему нужно искать пересечение луча из камеры с объектами мира в стороннем коде когда это наверно очень требовательная к ресурсам задача должна быть встроена в движок?

Цитата Сообщение от nikjda Посмотреть сообщение
fPX, fPY, fPZ); // положение камеры
Цитата Сообщение от nikjda Посмотреть сообщение
fVX, fVY, fVZ); // куда смотрит камера (векторы)
Разве это уже не задает луч куда летят пули?

Естественно это сферическая система координат с двумя углами. Но зачем она тут нужна? Хотите чтобы следы пуль застревали в воздухе в невидимой сфере? Зачем?

Добавлено через 8 минут
Кстати по времени видео в 0:00:09 0:00:13 видно что движок уже находит место попадания пули в поверхность мира создавая дымку. Т.е. луч уже строит.
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 65
27.03.2019, 23:58  [ТС]
Объясняю.

Есть 6 координат: первые три X,Y,Z (положение камеры) и вторые три vX,vY,vZ (направление камеры)
По умолчанию, если провести луч по этим координатам, то луч будет исходить из центра экрана, но если взглянуть внимательно на видео (первая секунда), то можно заметить, что прицел находится вовсе не в центре экрана.

Мне же нужно вычислить координаты положения прицела и направления прицела, то что следы пуль застревают в воздухе это нормально, таким образом я проверяю направление луча.
Что касаемо угла поворота персонажа, по ним я пытался сместить луч правее + поднять его, но вот не совсем получилось.

up.
0
Эксперт по математике/физике
4182 / 3052 / 918
Регистрация: 19.11.2012
Сообщений: 6,196
03.04.2019, 06:44
Цитата Сообщение от nikjda Посмотреть сообщение
первые три X,Y,Z (положение камеры)
Попробую теперь я понять, что у вас. Почему у вас три координаты для вашей плоской картинки?
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
03.04.2019, 14:38
Я хочу рисунок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2019, 14:38
Помогаю со студенческими работами здесь

Сортировка по полярному углу относительно точки
Помогите пожалуйста с проблемой, у меня есть множество точек в декартовой системе координат. Как отсортировать их по полярному углу...

Двумерный массив (Написать программу его поворота на 90 градусов относительно его центра)
Дан массив A(n,n). Написать программу его поворота на 90 градусов относительно его центра. На печать вывести исходный и повернутый массивы....

После поворота TextView занимает столько же места как и до поворота
собственно как поворачивать средствами xml или в коде я знаю. Проблема в другом при повороте textview по горизонтали он занимает место как...

Как рассчитать поворот угла, зная координаты трех точек до поворота и после поворота угла
Как рассчитать поворот угла (в градусах), зная только координаты трех точек до поворота и после поворота данного угла? Заранее спасибо.

Даны векторы А(5), В(5), С(5). Проверить есть ли среди них коллинеарные векторы
Даны векторы А(5), В(5), С(5). Проверить есть ли среди них коллинеарные векторы. Применить процедуры для ввода и вывода векторов, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru