Python编码:创建一个新的“类”来计算投射物的运动

2024-03-29 10:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,用python创建一个新的“类”来做一些运动学计算

但是,考虑到常见的物理运动学方程,我很难理解如何用python构建公式

以下是总体目标:

“构造一个名为sparlode的类。该类变量应包括射弹的射出高度、落下高度、初始速度以及初始速度相对于水平面的角度。分级方法应包括弹丸射程、最大高度和最终速度的计算。”

我已经开始定义新类和变量,但不确定如何构建函数。任何帮助都会非常有用。以下是迄今为止的代码:

import math
import numpy as np
import matplotlib.pyplot as plt
import pylab
import os

# acceleration due to gravity = 9.80665 m/s**2

class Projectile(object):
# h0 is vertical starting position which starts at y = 0
    def __init__(self,h0,v0,theta):
        self.h0 = h0 #height
        self.v0 = v0 #speed
        self.theta = theta # angle above horizontal
        self.v0x = v0*math.cos(theta) #x component of velocity
        self.v0y = v0*math.sin(theta) #y component of velocity

Tags: of项目importself高度as物理math
1条回答
网友
1楼 · 发布于 2024-03-29 10:28:34
  • 三个运动方程,涉及初始和最终速度、距离、加速度和时间
  • 每个变量都可以分别用于所有变量的水平和垂直分量
  • 对于最大高度,请使用垂直组件。最终垂直速度为零,加速度由重力引起
  • 为了获得距离,首先使用带有垂直变量分量的距离公式计算飞行时间(距离为初始高度和最终高度之差)
  • 然后使用时间计算最终值。您可能需要计算水平和垂直值,然后将它们相加

相关问题 更多 >