24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Двач - помогач, ты мне нужен А конкретно все, кто может в программирование и физику
Задание: Разработать программу, демонстрирующую траекторию движения тела, брошенного под углом к горизонту.
Физику я успешно проебал от начала и до самого конца, поэтому обратился в гугл и нашел формулы: 1. Формула для определения значения высоты тела через расстояние S по горизонтали (y на пикрил) 2. Формула максимального расстояния (xMax на пикрил )
Используя эти формулы я построил траекторию движения для a=45, все было хорошо, пока я не начал менять значения a. Только с а=45 все выглядит, как и должно выглядеть. Почему у меня не получается, как тут vk-cc.com/1DUkmeg ? Что с этими формулами не так?
>>175423804 (OP) С физикой у меня тоже проеб, а по поводу погромирования - лезь в быдлер, там можно на коленке накатать нехитрую кривую по твоим запросам.
Потом в цикле высчитываешь в каждой секунде на какой высоте был шарик. Все это дело естественно подгоняешь в формулу. И так делать, пока высота шарика не будет меньше 0.
>>175424394 Ты блять спрашиваешь, почему они не работают? А что блять не работает? Твой говнокод? Так почему ты его не показал? Блять, чувак, я тупо время теряю на тебя. Хули ты ноешь? Эти формулы официально типизировали. И они рабочие.
procedure CreateAPath(a, x0, y0: Integer); // x0 и y0 - координаты начала координат var x, xMax, y: Real; begin CreatingACoordinatePlane; // это строит координатную плоскость xMax:=(sqr(30)sin(2a))/9.8; x:=0; y:=-(x(sin(a)/cos(a))-(sqr(x)9.8)/(2sqr(30)sqr(cos(a)))); Form1.Image1.Canvas.MoveTo(Trunc(x+x0),Trunc(y+y0)); while (x<=xMax) do begin Form1.Image1.Canvas.LineTo(Trunc(x+x0),Trunc(y+y0)); x:=x+1; y:=-(x(sin(a)/cos(a))-(sqr(x)9.8)/(2sqr(30)sqr(cos(a)))); end; end;
>>175423804 (OP) Ты все переусложнил! Смотри, позиция по вертикали - это интеграл вертикальной скорости по времени. Вертикальная скорость - это sin(a) x V_0 + g x t. Первый член - константа, второй - линейная функция. Интеграл будет sin(a) x V_0 x t + 1/2 x п x t^2. Движение по горизонтали - это интеграл горизонтальной скорости и равно cos(a) x V0 x t. Все, и перебирай все t от нуля и пока x снова не будет равен нулю.
Короче, берешь канву, изобретаешь пространство, материю, время, и ебошишь как боженька элементарными движениями по времени в цикле, на канву выводишь траекторию как там что у тебя летало.
>>175429582 Понял, я не переводил градусы в радианы >>175429261 , поэтому такая ебанина и получалась, убрал из твоего когда это, и получилась хуйня, как у меня и была, но я все равно ничего не понимаю
>>175429582 Работает на элементарных интуитивно понятных законах вселенной, выраженных в простой математике. Множество простых явлений порождают сложное, часто непонятное, можно не понимать полностью сложное явление, но простые надо найти и понять. Хотя что тут понимать, хуита летит в одну сторону равномерно, а в перпендикулярную ускорено, тут понимать ничего не надо и так все понятно, я не понимаю как можно это не понимать.
>>175423804 (OP) >Задание: Разработать программу, демонстрирующую траекторию движения тела, брошенного под углом к горизонту. Пиздец, ну это ж несложно.
>>175430539 k это элементарный отрезок времени, чем от меньше тем график точнее, но тем больше итераций у цикла. Умножаем потому что ищем расстояние из скорости и скорость из ускорения.
>>175426368 Кстати поддвачну. Пилишь цикл, за шаг циклак координате Х прибавляешь горизонтальную скорость (константу), к координате Y - вертикальную скорость,послечеговычитаешь из вертикальной скорости константу (ускорение свободного падения). Горизонтальная/вертикальная скорости на старте - это тупо общая скорость на косинус/синус угла.
>>175433200 алсо, рисовать нужно наверное сплайном если либа поддерживает или тупо линии проводить. лучше всего заполнить два вектора координат, а потом нарисовать.
А конкретно все, кто может в программирование и физику
Задание: Разработать программу, демонстрирующую траекторию движения тела, брошенного под углом к горизонту.
Физику я успешно проебал от начала и до самого конца, поэтому обратился в гугл и нашел формулы:
1. Формула для определения значения высоты тела через расстояние S по горизонтали (y на пикрил)
2. Формула максимального расстояния (xMax на пикрил )
Используя эти формулы я построил траекторию движения для a=45, все было хорошо, пока я не начал менять значения a.
Только с а=45 все выглядит, как и должно выглядеть.
Почему у меня не получается, как тут vk-cc.com/1DUkmeg ?
Что с этими формулами не так?