- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有两个质量相同的质量为 0.1 千克的质量,由一个 k = 10^5 N/m 的刚性 Spring 连接。 Spring 的剩余长度(以及两个质量 block 之间的初始距离)为 d0 = 0.15m
质量 1 的初始速度为 (2.77, 1.25, 0) m/s,而质量 2 的初始速度为 (1.25, 4, 0) m/s。
我想编写一个代码来模拟这个系统在重力作用下的飞行,同时忽略空气阻力。我还想放置位于系统质心的第三个球体。
这是我到目前为止写的内容:
from visual import *
mass1 = sphere(radius = 0.01)
mass2 = sphere(pos = (0.15, 0, 0), radius = 0.01)
COM = sphere(pos = (0.15/2, 0, 0), radius = 0.01)
mass1.m = 0.1
mass2.m = 0.1
k = 1*10**5
mass1.v = vector(2.77, 1.25, 0)
mass2.v = vector(1.25, 4, 0)
mass1.p = mass1.v*mass1.m
mass2.p = mass2.v*mass2.m
dt = 0.0001
t = 0
while 1:
g = 9.8
d = (mass1.pos-mass2.pos)/mag(mass1.pos-mass2.pos)
Ft12 = mass1.m*d*k*0.15
Ft21 = mass2.m*d*k*0.15
Fnet = Ft12 + Ft21
mass1.p += Fnet*dt
mass2.p += Fnet*dt
mass1.vA = 0.5*(mass1.v + (mass1.p/mass1.m))
mass2.vA = 0.5*(mass1.v + (mass2.p/mass2.m))
mass1.pos += mass1.vA*dt
mass2.pos += mass2.vA*dt
COM.pos = (mass1.pos-mass2.pos)/2 + mass1.pos
t += dt
Ft12 是从球 1 到球 2 的张力,Ft21 是从 2 到 1。当然,如果我得到准确的结果,我不会发布这个,但我什至没有得到这样的结果我很容易观察。屏幕很快就变黑了,我没有机会看到发生了什么。我基本上想让这个系统在重力的作用下被“抛出”,你可以想象 COM 的轨迹将是抛物线。任何帮助将不胜感激。如果我弄错了力,或者我需要在某些地方添加一些力,请告诉我!
谢谢大家!
最佳答案
我对这条线有严重的怀疑:
dt += 1
我猜 dt
是时间步长。每次循环都将时间步长增加一秒。通常你会增加时间:
t += dt
但是您还没有时间变量。一旦你的时间步长变大,一切都会崩溃。现在我只想删除 dt += 1
行。
至于代码的其余部分,我没有仔细查看它,我无法猜测您的符号表示什么。代码中可能存在更多问题。
关于python - 由 Spring 连接的两个质量......试图模拟飞行但遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523994/
我是 C++ 的新手,我在使用这段代码时遇到了问题: string output_date(int day, int month, int year){ string date; if
所以我这样做了 tar cvzf test.zip FP 为了创建目录 FP 的 zip 但是,它会列出 zip 中的目录 FP/ FP/php/ FP/php/pdf/ FP/php/docs/ F
我正在尝试在 Swift、Xcode 7.3(所以是 Swift 2.2)中创建一个通用类,但我似乎无法让它通过编译器: protocol Struct1Protocol { } struct Str
我的测试用例是这样的: class FooTest extends PHPUnit_Framework_TestCase { /** @covers MyClass::bar */ f
我正在尝试将brew install wine作为使electron-builder工作的一步。但是我所能得到的只是以下响应: ==> Installing dependencies for wine
我这样做: string[,] string1 = {{"one", "0"},{"Two", "5"},{"Three","1"}}; int b = 0; for(int i = 0; i <=
我正在尝试使用 SetWindowsHookEx 键盘 Hook Notepad.exe。 如您所见,工作线程正在将其 ASCII 代码(即 wParam)发送到指定的服务器。 UINT WINAPI
我正在尝试将 ListView 实现到我的 Fragment 中,但无论我尝试什么,我都会得到一个 NullPointerException。我检查对象是否为 null 并记录是否为 null,看起来
我尝试在一行中对齐两个 div。使用 float left 属性,一切顺利。但是当我在 div 中使用图像时,它开始产生问题。 所以这是我的示例代码:- Some headi
我目前正在使用此代码来获取图像的灰度图像表示并以 (512, 370, 1) 的格式表示它大批。 img_instance = cv2.imread(df.iloc[i][x_col]) / 255.
总结 我正在创建一个简单的应用程序,它允许用户选择一个包含顶级窗口的进程。用户首先键入 native DLL(而非托管 DLL)的路径。然后用户键入将在 Hook 过程中调用的方法的名称。该方法不得返
我是一名优秀的程序员,十分优秀!