Questions tagged «physics»

15
宇宙射线:它们会影响程序的概率是多少?
我再一次进行设计审查,并遇到一种说法,即特定场景的可能性“小于宇宙射线的风险”对程序的影响,但我发现我并不了解那是什么。概率是。 “由于2 -128是340282366920938463463374374607431768211456中的1,因此我认为我们有理由在这里冒险,即使这些计算相差数十亿倍……我们更容易受到宇宙射线的威胁我相信,把我们搞砸了。” 这个程序员正确吗?宇宙射线撞击计算机并影响程序执行的概率是多少?

11
球对球碰撞-检测和处理
在Stack Overflow社区的帮助下,我编写了一个非常基本但有趣的物理模拟器。 单击并拖动鼠标以启动球。它会反弹并最终停在“地板”上。 我要添加的下一个重要功能是球与球之间的碰撞。球的运动分为轴速度和y速度向量。我有重力(每个步骤y向量的小减小),我有摩擦力(每个与壁碰撞的两个向量的小减小)。球以令人惊讶的现实方式诚实地移动。 我想我的问题分为两个部分: 检测球与球碰撞的最佳方法是什么? 我是否只有O(n ^ 2)循环遍历每个球并检查其他每个球以查看其半径是否重叠? 我使用什么方程式来处理球与球之间的碰撞?物理101 如何影响两个球的x / y向量速度?两个球朝哪个方向前进?如何将此应用于每个球? 处理“墙”的碰撞检测和所产生的矢量变化很容易,但我发现球与球之间的碰撞会更加复杂。对于墙,我只需要取适当的x或y向量的负值,然后沿正确的方向走即可。对于球,我认为不是那样。 一些快速的澄清:为简单起见,我现在可以进行完全弹性的碰撞,而且我的所有球现在都具有相同的质量,但将来可能会改变。 编辑:我发现有用的资源 带矢量的2d球物理:没有Trigonometry.pdf的 二维碰撞。pdf2d球碰撞检测示例:添加碰撞检测 成功! 我的球碰撞检测和响应效果很好! 相关代码: 碰撞检测: for (int i = 0; i < ballCount; i++) { for (int j = i + 1; j < ballCount; j++) { if (balls[i].colliding(balls[j])) { balls[i].resolveCollision(balls[j]); } } …

2
为什么我的球消失了?[关闭]
关闭。这个问题不能重现,或者是由错别字引起的。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 原谅有趣的标题。我创建了一个小图形演示,演示了200个球在墙壁上互相撞击和弹跳的情况。您可以在这里查看我目前所拥有的:http : //www.exeneva.com/html5/multipleBallsBouncingAndColliding/ 问题在于,只要它们相互碰撞,它们就会消失。我不知道为什么。有人可以帮我看看吗? 更新:显然,球数组具有坐标为NaN的球。下面是我将球推入数组的代码。我不完全确定坐标如何获得NaN。 // Variables var numBalls = 200; // number of balls var maxSize = 15; var minSize = 5; var maxSpeed = maxSize + 5; var balls = new Array(); var tempBall; var tempX; var tempY; var tempSpeed; var tempAngle; …

6
Android加速度计精度(惯性导航)
我当时正在考虑为Android手机实施惯性导航系统,鉴于加速度计的准确性和读数的不断波动,我意识到这很难。 首先,我将手机放在平坦的表面上,并在X和Y方向上采样了1000个加速度计读数(与表格平行,因此在这些方向上没有重力作用)。然后,我将这些读数取平均值,并使用该值校准手机(从每个后续读数中减去该值)。 然后,我通过将其再次放在桌子上并在X和Y方向上采样5000个加速度计读数来测试该系统。在校准的情况下,我希望这些加速度在每个方向上的总和为0(大约)。但是,事实并非如此,并且经过5000次迭代的总加速度远没有达到0(每条轴平均约为10)。 我意识到看不到我的代码可能很难回答,但是从更一般的意义上来说... 这仅仅是手机(HTC Desire S)上的加速度计读数有多不准确的一个示例,还是我的编码出现错误的可能性更大?

20
在科学环境中进行编程的实践?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 背景 去年,我在大学的一个物理研究小组实习。在这个小组中,我们主要使用LabVIEW编写程序来控制设置,进行数据采集和分析数据。出于前两个目的,这行之有效,但是对于数据分析,这确实是一个痛苦。最重要的是,每个人大多都是自学成才,因此编写的代码通常很混乱(难怪每个博士都很快决定从头开始重写所有内容)。版本控制是未知的,并且由于IT部门的严格软件和网络法规而无法设置。 现在,事情实际上出乎意料地好了,但是自然科学界的人们如何进行软件开发? 问题 一些具体的问题: 您用于开发科学软件(尤其是数据分析)的语言/环境是什么?什么图书馆?(例如,您使用什么作图?) 是否对没有编程背景的人进行了培训? 您是否有版本控制和错误跟踪之类的东西? 您将如何尝试创建一个不错的编程环境,而又不会给单个科学家带来太多麻烦(尤其是物理学家是固执的人!) 到目前为止的答案摘要 到目前为止的答案(或我对它们的解释):(2008-10-11) 似乎使用最广泛的语言/软件包: LabVIEW 蟒蛇 与SciPy的,NumPy的,PyLab等(另见布兰登的下载和链接回复) C / C ++ 的MATLAB 几乎所有受访者都使用版本控制。错误跟踪和其他过程要少得多。 “软件木工”课程是向科学家教授编程和开发技术的好方法。 如何改善事情? 不要强迫人们遵循严格的协议。 自己设置环境,并向他人展示收益。帮助他们自己开始使用版本控制,错误跟踪等。 查看其他人的代码可以有所帮助,但请注意,并非所有人都可能会对此表示赞赏。

4
使用MatterJS防止通过其他物体拖拉物体
我正在将MatterJs用于基于物理的游戏,但尚未找到解决方案来防止鼠标通过其他物体强行拖动物体。如果将一个主体拖到另一个主体中,则被拖动的主体可能会迫使自己进入另一个主体并通过另一个主体。我正在寻找一种可靠的方法来防止它们相交。您可以在任何MatterJS演示中观察这种效果,方法是用鼠标选择一个主体,然后尝试迫使它穿过另一个主体。这是一个典型的例子: https://brm.io/matter-js/demo/#staticFriction 不幸的是,这会根据拖放而中断任何游戏或模拟。我尝试了许多解决方案,例如在发生碰撞时打破鼠标约束,或减小约束刚度,但没有一种可靠地工作。 任何建议欢迎!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.