Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 14.05.2013, 10:32   #1
Shkolota
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 51
Счастье Сложение двух векторов

Здравствуйте. Есть 3 вектора, каждый из которых представлен двумя параметрами: длиной и направлением, характеризующими скорость (длина) и направление перемещения персонажа в двухмерном пространстве. Перемещение должно происходить при учете воздействия на персонажа одновременно трех векторов, показывающих его собственные скорость и направление и те же характеристики некоторых воздействующих на него сил.

Сначала все было реализовано следующим образом: персонаж перемещался поочередно в точки, соответствующие этим трем векторам, вследствие троекратного использования подобной формулы:

PosX := PosX + (Cos(Angle) * Speed);
PosY := PosY + (Sin(Angle) * Speed);

Но потом я пришел к выводу, что, возможно, это не является наилучшим решением и стоит подумать над чем-то более серьезным. Например, над сложением этих трех векторов и последующим однократным перемещением персонажа. Возможно ли сделать это, не имея в своем распоряжении координат, но лишь длины и направления векторов и будет ли это быстрее?

Если да, то как это можно было бы сделать?
Shkolota вне форума Ответить с цитированием
Старый 14.05.2013, 16:31   #2
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Я бы тоже послушал спецов, в таком не легком деле как - сложение векторов
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 14.05.2013, 16:55   #3
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

В районе словосочетания "сложение векторов" ответа никакого нет?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 14.05.2013, 22:02   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Shkolota Посмотреть сообщение
Возможно ли сделать это, не имея в своем распоряжении координат, но лишь длины и направления векторов и будет ли это быстрее?
Без координат это сделать принципиально невозможно.
Более того, Вы это также делаете в настоящее время именно при помощи координат.
Те координаты, с которыми Вы работаете, называются полярными.
Но в подавляющем большинстве случаев удобнее работать с декартовыми координатами.
Не стесняйтесь переводить координаты из одной системы в другую, если это сопряжено с какими либо удобствами.
s-andriano вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сложение двух запросов. tema654 Microsoft Office Access 2 09.01.2012 23:09
Для двух векторов вычислить значение выражения по формуле (Паскаль) prs58 Помощь студентам 10 25.11.2011 00:02
std::transform вывести сумму двух векторов kouphais Общие вопросы C/C++ 2 16.10.2011 22:04
Сложение двух массивов. ATAMAN200 Общие вопросы C/C++ 1 21.11.2010 22:19
Ввод векторов и матриц, умножение матрицы на вектор и вычисление скалярного призведения двух векторов zverushka Помощь студентам 18 20.02.2009 16:25


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS