[Перевод] Физика Человека-паука с его новыми паутинными крыльями

Врать не буду, я очень жду фильм «Человек-паук: Возвращение домой» [Spider-Man: Homecoming]. А пока что единственной отдушиной для меня будет заняться физикой Человека-паука. И я займусь его новыми паутинными крыльями, увиденными в последнем трейлере.

Для фанатов отмечу, что в некоторых из оригинальных комиксов про Человека-паука действительно было показано, как он их использует, хотя он не всегда использовал их для полётов.

Физика планирования

Что случится после прыжка Человека-паука со здания? Я могу смоделировать его движение, приняв, что на него действуют три силы – гравитация, сопротивление воздуха и подъёмная сила. С вашего позволения, я опишу каждую из них.

• Гравитация – постоянная, направленная вниз сила, пропорциональная массе ЧП (на поверхности Земли, по крайней мере).
• Сопротивление. Представьте, что вы тянете объект через гигантское море шариков для пинг-понга. Замените шарики воздухом – и будет примерно то же самое. Сопротивление увеличивается вместе со скоростью.
• Подъёмная сила. Опять-таки представьте столкновения с шариками, но такие, после которых шарики отскакивают вниз. Заменив шарики воздухом, вы получите подъёмную силу, зависящую от угла атаки, поверхности и скорости.

Вот вам красивая диаграмма сил планирующего на крыльях ЧП. Да, пока мы смоделируем его при помощи треугольника.

[Перевод] Физика Человека-паука с его новыми паутинными крыльями

В нашей простой модели подъёмная сила перпендикулярна скорости, а сопротивление направлено в противоположную ей сторону. Для моделирования движения ЧП с крыльями, мне нужна формула для них обеих.

image

Это величины важных нам сил. Они похожи, за исключением CL (подъёмного коэффициента) и CD (коэффициента сопротивления). В обоих случаях ρ это плотность воздуха (1,2 кг/м3), а v – скорость.

Что есть А? Это площадь поперечного сечения человека (ЧП в нашем случае). По идее, А для сопротивления и для подъёмной силы должны отличаться, в зависимости от угла атаки. Но я не всегда точно знаю, что я делаю – поэтому я сверился с разными источниками, и больше всего к моему случаю подходит статья 2011 года “Траектория падающего Бэтмена” из физического журнала Journal of Physics Special Topics. В ней авторы использовали одну и ту же площадь для сопротивления и подъёмной силы, так что я сделаю то же самое.

Моделирование траектории

Если ЧП спрыгнет со здания, как далеко он сможет сместиться в падении? Какую разницу дадут ему паутинные крылья? Моделировать движение ЧП не так уж просто, поскольку сопротивление и подъёмная сила зависят от скорости. Такую траекторию можно рассчитать только при использовании числовой модели, в которой движение разбивается на небольшие шаги.

Займёмся аппроксимацией. Сначала посчитаем площадь поверхности ЧП. Грубо прикинув, я получил:

image

Что даёт нам площадь около 0,651 м2 с крыльями и 0,513 м2 без них. Остальные значения:
• Подъёмный коэффициент = 1,45 (значение взято из работы о Бэтмене)
• Коэффициент сопротивления = 0,4 (оттуда же)
• Масса = 64 кг
• Начальная скорость = 8 м/с (горизонтальная)
• И ещё одно предположение: постоянный угол атаки, в связи с чем коэффициенты сопротивления и подъёма не меняются.

Без колебаний я прыгнул в мир числовых моделей. Я оставил в коде комментарии, чтобы вы смогли переделать её для использования в качестве домашней работы.

GlowScript 2.1 VPython #this is the area with the wings A1=0.651  #area without wings A2=0.513  g=vector(0,-9.8,0)  m=64 #mass of Spider-Man  CL=1.45 #coefficient of lift CD=0.4 #coefficient of drag rho=1.2 #density of air  #starting velocity  #try changning this v0=8 #starting momentum assuming horizontal - change this p=vector(v0,0,0)*m #p2 is just the momentum for the comparison p2=p  t=0 dt=0.01  #starting height h=40 #starting position r=vector(0,h,0) r2=r  #these are for the graphs f1=series(color=color.red) f2=series(color=color.blue)  while r.y>0:     #calculate the velocity to use in lift-drag     v=p/m     v2=p2/m          #calculate the drag force     Fd=-.5*rho*A1*CD*(mag(v)**2)*norm(v)     Fd2=-.5*rho*A2*CD*(mag(v2)**2)*norm(v2)          #calculate lift (notice cross product to get direction)     FL=-.5*rho*A1*CL*(mag(v)**2)*cross(norm(v),vector(0,0,1))     FL2=-.5*rho*A2*CL*(mag(v2)**2)*cross(norm(v2),vector(0,0,1))          #total force     F=m*g+Fd+FL     F2=m*g+Fd2+FL2          #update momentum     p=p+F*dt     p2=p2+F2*dt          #update position     r=r+p*dt/m     r2=r2+p2*dt/m          #update time     t=t+dt          #plot stuff     #change this if it makes you happy     f1.plot(r.x,r.y)     f2.plot(r2.x,r2.y)  print("Glide Ratio 1 = ",-p.x/p.y) print("Glide Ratio 2 = ", -p2.x/p2.y)

image

В моей модели красная линия представляет траекторию ЧП с крыльями, а голубая – без крыльев. Также я вывожу значение аэродинамического качества. Поскольку в конце он двигается с постоянной скоростью, это соотношение будет равняться просто отношению х-компоненты импульса, делённой на у-компоненту.

Домашнее заданее

Для ответа на следующие вопросы используйте эту числовую модель. Не волнуйтесь, вы ничего не сломаете. Если что-то сделаете с кодом, просто перезагрузите и начните сначала.
• Согласно Википедии, у прыгающего в крылатом костюме парашютиста аэродинамическое качество (отношение подъёмной силы к лобовому сопротивлению) имеет значение порядка 2,5:1 (то есть, наша программа вывела бы число 2,5). Сможете ли вы так подправить код, чтобы программа выдала такое значение? Подсказка: меняйте как площадь поверхности, так и начальную скорость.
• Что, если ЧП упадёт вертикально вниз? Какую предельную скорость он приобретёт с крыльями, и без них?
• Как быстро ЧП нужно двигаться по горизонтали, чтобы он полетел вверх, а не вниз, в начале полёта?
• Может ли ЧП прыгнуть, целясь вниз, так, чтобы набрать большую скорость и на какое-то время перейти в горизонтальный полёт?
• Можете ли вы построить улучшенную модель, принимающую во внимание угол атаки? Возможно, и сможете, но мне кажется, что полёты с малой скоростью – достаточно сложная тема.


Источник

python, планирование, человек-паук, числовые модели

Читайте также