ФлеймФорумПрограммирование

Угол наклона линии относительно х координаты. (2 стр)

Страницы: 1 2
#15
18:18, 29 окт 2025

ronniko
Ты эти синусы по новой пересчитывать будешь перед каждой операцией?

#16
5:18, 30 окт 2025

ronniko
> Потому что вращать объект надо относительно бугров,холмов терейна.
Сперва реализуй вращение. А потом уже сделай выравнивание по нормали к поверхности. Потом  вращение вокруг вектора этой нормали. Это три независимые задачи.

#17
6:39, 30 окт 2025

ronniko

Я еще в одной из прошлых тем тебе говорил - старайся до последнего избегать углов. Их надо выгонять из основных массивов вычислений переводя вычисления в чисто векторно-матричную форму, где только скаляры в перемножениях и сложениях сочетаются.
Например смотри - в 2D единичный вектор направленный под углом x к оси OX будет иметь координаты (cos(x), sin(x)) - поэтому если тебе где то надо вплести в вычисления этот угол, то в большом числе случаев тебе достаточно один раз через sincos вычислить этот вектор, а дальше только перемножаться с его координатами там где надо.
Например если ты хочешь другие вектора поворачивать на этот угол - много много других векторов на этот один и тот же угол повернуть, то достаточно вспомнить суть комплексного перемножения и вычислив 1 раз сей единичный вектор перемножаться комплексно с ним.
И запекание угла поворота в матрицы - это то же самое для случая 3D.
Более того - есть более краткий способ как заворачивать углы вращения в 3D по тем же принципам что в 2D они завёрнуты в комплексные числа - такие "числа вращения" для 3D называются кватернионы. В них не 3, а 4 скалярных компоненты, но перемножение на них точки делает именно поворот в 3D уже.

Страницы: 1 2
ФлеймФорумПрограммирование