Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
saharok2000
1 / 1 / 0
Регистрация: 01.07.2014
Сообщений: 49
#1

Ищу нормальную формулу для полета пули (прямо с одинаковой скоростью в указанном направлении) - C++

10.04.2016, 12:12. Просмотров 182. Ответов 2
Метки нет (Все метки)

в игре перс стреляет пулями в сторону курсора
у меня есть координаты курсора во время нажатия пкм
C++
1
float cx, cy;
положение персонажа во время стрельбы
C++
1
float px, py;
игровое время
C++
1
float time;
x и y - положение пули
пуля летит по вот такой уродской формуле:
C++
1
2
3
double distance = sqrt((сx - x)*(сx - x) + (сy - y)*(сy - y));
x += 0.8*time*(сx - px) / distance;
y += 0.8*time*(сy - py) / distance;
при этом ведет себя весьма странно: летит с разными скоростями, телепортируется
может вы знаете нормальную формулу для полета пули(прямо с одинаковой скоростью в указанном направлении)
а то я не могу понять что делать
(мне кажется ответ очень близок, я просто чрезмерно туплю)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2016, 12:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ищу нормальную формулу для полета пули (прямо с одинаковой скоростью в указанном направлении) (C++):

Моделирование полета снаряда (пули) - C++ WinAPI
Добрый вечер! Попытался решить задачу примитивного моделирования полета снаряда, но столкнулся с физикой... Суть заключается в том, что...

Нахождение времени полета пули - Механика
Помогите пожалуйста составить само уравнение к задаче, сидел долго, так и не пришло ничего в голову... Пуля, двигаясь со скоростью...

Найти разницу во временах полета пули в воздухе и в вакууме - Механика
Из горизонтально расположенного ружья вылетает пуля, скорость которой изменяется по закону υ =υ0 (1 − 2αt ), где υ0 = 600 , α = 0,1 ...

Скорость пули при выстреле с движущегося объекта в обратном направлении - Механика
Здравствуйте! Помогите, пожалуйста, ответить на вопрос: Допустим, я двигаюсь на автомобиле со скоростью V = 300 м/с и в это время...

В матрице уплотнить все четные элементы в указанном направлении - Visual Basic
а как можно вот это сделать? В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать...

В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке - Pascal
:help:ПОМОГИТЕ пожалуйста решить задачу: В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные...

2
dcshowcousa
26 / 18 / 48
Регистрация: 22.10.2015
Сообщений: 303
10.04.2016, 12:30 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
saharok2000,
C++
1
double distance = sqrt((сx - px)*(сx - px) + (сy - py)*(сy - py));
0
DemolitionMan
98 / 154 / 47
Регистрация: 06.04.2016
Сообщений: 992
10.04.2016, 12:55 #3
Вместо этого:
C++
1
double distance = sqrt((сx - x)*(сx - x) + (сy - y)*(сy - y));
Нужно написать вот это:
C++
1
double distance = sqrt((сx - px)*(сx - px) + (сy - py)*(сy - py));
Нужно найти угол прямой:
C++
1
float k = y/x;
Задаем вермя таймера 100 мс.
По событию таймера вызываем движение пули:
C++
1
2
dx = 1;// или x += 1
dy = k;
Добавлено через 12 минут
Ну если у тебя системное время, то тогда нужно написать примерно так:
C++
1
2
3
4
5
6
7
8
9
10
int step = 100,//шаг времени
period = 0,//номер периода
bulletx = px, bullety = py;
for(;;){
if(time%step == 0){
period++;
dx = 1;// или x += 1
dy = k;
bulletx += dx,
bullety += dy;}}
Ну и как говорится:
C++
1
Timer1->Enabled = true;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2016, 12:55
Привет! Вот еще темы с ответами:

В матрице уплотнить все четные элементы в направлении, указанном на рисунке - Pascal
В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать равными нулю. Если решение...

В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке - Turbo Pascal
Здравствуйте, есть задача: В матрице А(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать...

Сколько зон Френеля открывает щель при наблюдении в указанном направлении - Оптика
Ребят, тяжело дается оптика, а сдать ее надо, помогите разобраться в задачке и решить ее. Плоская монохроматическая волна (0,5 мкм),...

С какой скоростью и в каком направлении будет двигаться мишень после попадания снаряда - Механика
Снаряд массой m1=2кг,летящий со скоростью V1=300 м/с,попадает в мишень с песком массой m2=100кг и застревает в ней.С какой скоростью и в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru