我在理解如何模拟这样的情况时遇到问题:http://phet.colorado.edu/sims/density-and-buoyancy/buoyancy_en.html
该程序的目的是制作一个模拟器 - 就像链接中的模拟器一样.我想保持现实并使用Python.我想在Pygame中绘制模拟.
在我的程序中,我要求几个变量; 质量和半径.半径将用于计算球体的体积,质量将用于计算浮力,重力和加速度.
但问题是,为了保持SI单位的所有内容,我要求以米为单位的半径.在保持半径小于10厘米的情况下这样做会产生非常小的数字.当我使用Pygame模块绘制0.1米大小的球体时,它会失败.因此,我需要使用更大的规模,而不是这样做.
所以这是我的主要问题.我应该如何扩展球体?假设我想将100像素定义为1米.然后我必须将我的半径乘以100,因为这将是比例,但是现在球体更大,速度是否也会乘以100?
我真的很困惑!谢谢你的时间.
无论如何,不知道你是否需要看到这个.
Calculations.py
import math
class Formulas():
def __init__(self):
self.pi = 3.1415926535
self.gravity = 9.82 #m/s^2
self.density_water = 1000.0 #kg/m^3
self.density_air = 1.29 #kg/m^3
self.drag_sphere = 0.47
def object_buoyancy(self, volume, medium_density):
buoyancy = volume * medium_density * self.gravity #N
return buoyancy
def object_gravity(self, mass):
gravity_force = mass * self.gravity #N
return gravity_force
def object_volume_sphere(self, radius):
volume = 1.3333333 * self.pi * math.pow(radius, 3) #m^3
return volume
def …Run Code Online (Sandbox Code Playgroud) 这些模块支持哪些声音格式:
pygame.mixer.sound
Run Code Online (Sandbox Code Playgroud)
要么:
pygame.mixer.music
Run Code Online (Sandbox Code Playgroud)