Четверг, 02 Мая 2024, 07:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Математические вычисления (вычисление высоты)
Математические вычисления
LgunchikДата: Вторник, 20 Сентября 2011, 18:37 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
не магу вычислить высоту
смотрим скриншот



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

объяснил плохо так, что не ругайтесь и если что то не понятно задавайте вопросы))


>
B@rneyДата: Вторник, 20 Сентября 2011, 18:42 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Подели высоту на равные части и проводи прямые к нужной точке.
Или тебе надо как то через код это сделать? happy


Правильного решения порой нет, но лучшее решение есть всегда.
LgunchikДата: Вторник, 20 Сентября 2011, 18:47 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
мне нужно через код...причём длина 8 не постоянна и может изменяться

Добавлено (20.09.2011, 18:47)
---------------------------------------------
горизонтальная линия это земля, а диогональная это траектория палёта пули....так вот мне нужно вычеслить на какой высоте каждый кадр находиться пуля


>
XageuДата: Вторник, 20 Сентября 2011, 18:56 | Сообщение # 4
Хадей - Друг Детей
Сейчас нет на сайте
Геометрия за 5-6 класс, если память не изменяет. Позор smile

длина 8 идет как переменная.
Нужно знать длины внизу (что логично)
Затем из подобия треугольников находишь нужные тебе высоты. (т.е. 8/5L (или что там написано) всегда равняется длина/любую из высот).


noTformaTДата: Вторник, 20 Сентября 2011, 18:58 | Сообщение # 5
Ukrainian independent game developer
Сейчас нет на сайте
Lgunchik, ммм, есть учебник геометрии? Теорема пифагора и треугольники, там в заданиях такое было.

У тебя есть два катета, один 5, второй 8. Зная это ты можешь вычислить гипотенузу, зная гипотенузы - можешь вычислить угол между гепотинузой и катетом, зная угол и размер нижнего катета - можешь вычислить любую точку на гипотенузе.

Хотя на твоем рисунке и так есть ответ.

Добавлено (20.09.2011, 18:58)
---------------------------------------------

Quote (noTformaT)
Хотя на твоем рисунке и так есть ответ.

Вернее если сказать так - в точке 0 по гипотенузе высота равна 0, в точке 8 - высота равна 5.
Дальше все очень просто smile


@noTformaT
LgunchikДата: Вторник, 20 Сентября 2011, 19:00 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Загё, ага если у меня когда я учился в школе она началась в 7 или 8 классе

>
XageuДата: Вторник, 20 Сентября 2011, 19:01 | Сообщение # 7
Хадей - Друг Детей
Сейчас нет на сайте
Каким образом тебя это оправдывает? "Я уже не учусь в школе, и в 8ом классе я не смог освоить теорему Пифагора, так как в 6ом я был умнее", так, что ли7 happy

LgunchikДата: Вторник, 20 Сентября 2011, 19:05 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
если я разделю 8 на 5, то что я получу??

>
LunarPixelДата: Вторник, 20 Сентября 2011, 19:05 | Сообщение # 9
старожил
Сейчас нет на сайте
Lgunchik, тебе это нужно геометрически вывести или непосредственно рассчитать для игрового процесса? Т.е. летит пуля, на указанное расстояние, и каждый шаг отображается её высота? smile
при этом поверхность земли всегда ровная? или высота должна меняться относительно поверхности? smile




Сообщение отредактировал LunarPixel - Вторник, 20 Сентября 2011, 19:05
LgunchikДата: Вторник, 20 Сентября 2011, 19:11 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
а лучше дайте мне скаип если не сложно и поесните мне всё на словах))

Добавлено (20.09.2011, 19:11)
---------------------------------------------
LunarPixel, да ты прав...каждый шаг отображается её высота, а поверхность земли ровная!!!


>
karuyДата: Вторник, 20 Сентября 2011, 19:14 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте

Исходя из данного рисунка, упуская промежуточные уравнения:
z = sqrt(x^2+y^2);
res = y - x1*sin(90 - arccos(y/z));


Сообщение отредактировал karuy - Вторник, 20 Сентября 2011, 19:25
ApatiДата: Вторник, 20 Сентября 2011, 19:21 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
В простейшем случае можно так:
?=высота * K, где K - коэффициент от 0 до 1, определяемый как K = (расстояние от правого угла до точки измерения высоты, т.е. до вопроса) / (общая длина нижней стороны треугольника т.е. в данном случае 8).
Например, тебе надо измерить высоту в точке x=3 (отсчет от левого нижнего угла), следовательно находим расстояния от точки измерения до правого угла: 8-3 Далее находим K=(8-3)/8=0,625
Ну и теперь находим высоту: ?=5*0,625=3,125
MatouДата: Вторник, 20 Сентября 2011, 19:26 | Сообщение # 13
Исходный коТ
Сейчас нет на сайте
Quote (noTformaT)
У тебя есть два катета, один 5, второй 8. Зная это ты можешь вычислить гипотенузу, зная гипотенузы - можешь вычислить угол между гепотинузой и катетом, зная угол и размер нижнего катета - можешь вычислить любую точку на гипотенузе.

Quote (karuy)
Исходя из данного рисунка, упуская промежуточные уравнения: res = y - x1*sin(90 - arccos(y/z));


Обоим по пятерке!

---
Т.к. не все тут понимают иронию.
Зачем юзать тригонометрические функции, когда можно обойтись одним лишь делением и умножением исходя их подобия треугольников, как уже предложил Загё?





Сообщение отредактировал Matou - Вторник, 20 Сентября 2011, 20:10
XageuДата: Вторник, 20 Сентября 2011, 19:39 | Сообщение # 14
Хадей - Друг Детей
Сейчас нет на сайте
Ага, в школе бы такими умными были :DDD

LunarPixelДата: Вторник, 20 Сентября 2011, 19:46 | Сообщение # 15
старожил
Сейчас нет на сайте
Lgunchik, все конечно написали более чем достаточно. Но ещё, как вариант, непосредственно для GM можно сделать так:

прописать у пули в Step:
h=lengthdir_y(distance_to_point(x1,y1),direction)

x1,y1 - точка старта пули
direction - направление движения пули

Ну и к h нужно будет добавить высоту от земли до точки старта пули. В данном случае всё в пикселях, конечно. smile
Вроде ничего не напутал, не тестил smile


SalahAdDinДата: Вторник, 20 Сентября 2011, 19:54 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Чета вы мудрите товарищи.
Если поверхность ровная, то:
By-Ay это и есть высота полета пули. Где Ву это игрик координата пули, а Ау - игрик координата поверхности. Или я чет не так понял? smile


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
LgunchikДата: Вторник, 20 Сентября 2011, 20:15 | Сообщение # 17
постоянный участник
Сейчас нет на сайте


>
noTformaTДата: Вторник, 20 Сентября 2011, 20:17 | Сообщение # 18
Ukrainian independent game developer
Сейчас нет на сайте
Quote (SalahAdDin)
By-Ay это и есть высота полета пули. Где Ву это игрик координата пули, а Ау - игрик координата поверхности. Или я чет не так понял?

ммм, если я выстрелил пулю на высоте 0 метров, строго параллельно поверхности на которой я стою, тоесть 0 градусов наклон, то высота пули полета будет 0. Ну это в том случае если на пулю не действует гравитация. )))

Quote (Lgunchik)
если я разделю 8 на 5, то что я получу??

по сути ничего.
Главное понять концепцию. в точке 0 по оси у, у тебя высота 0, а в точке 8 - высота 5, тоесть вычислить точку высоты в пределе [0 .... 8], где значение высоты точки в пределе [0..5] можно по формуле ((8-нужная тебе точка в пределе [0..8])/8) * 5

Lgunchik, я понимаю что 16 лет это пора веселья, но все же возьмись за геометрию, тебе это в жизни понадобится, без нее никак, она есть везде, а в создании игр тем более. Если ты будешь устраиваться ко мне на работу, то тебя 100% спросят как узнать, находится ли точка в треугольнике, прямоугольнике, круге и т.д. Не порть себе жизнь, потом будет поздно.


@noTformaT
SalahAdDinДата: Вторник, 20 Сентября 2011, 20:29 | Сообщение # 19
постоянный участник
Сейчас нет на сайте
Quote (noTformaT)
ммм, если я выстрелил пулю на высоте 0 метров, строго параллельно поверхности на которой я стою, тоесть 0 градусов наклон, то высота пули полета будет 0. Ну это в том случае если на пулю не действует гравитация. )))

Какая разница какой наклон если нужно вычислить высоту? smile
Другое дело если нужно просчитать траекторию, но об этом автор ничего не говорил.
Высота у пули будет ровно та же, что и высчитанная через лендир, только заморочек меньше, и просчет идет в конкретный момент. Может это автору и нужно, тогда зачем перенапрягать лишними вычислениями движок?


Фотошоп это не сложно. Немного теории, полезной на практике:
Работа с наложением текстур
Рисуем без планшета
noTformaTДата: Вторник, 20 Сентября 2011, 20:37 | Сообщение # 20
Ukrainian independent game developer
Сейчас нет на сайте
SalahAdDin, я хз что такое лин дир, я с гм никогда не работал, но все же тс написал что ему надо вычислить высоту пули там где вопросы:



@noTformaT
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Математические вычисления (вычисление высоты)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг