问题标签 [angular-momentum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - 角动量传递方程
对于如何计算两个刚体之间的角动量传递,是否有人对可以相对容易地实现的方程有任何好的参考?
我一直在寻找这种东西一段时间,我还没有找到任何特别容易理解的问题解释。
确切地说,问题是这样产生的;两个刚体在一个无摩擦(好,几乎)的表面上运动;把它想象成空气曲棍球。两个刚体接触,然后移开。现在,不考虑角动量,方程相对简单;问题变成了,物体之间的角动量转移会发生什么?
例如,假设这两个物体没有任何角动量;他们没有旋转。当它们以斜角相互作用时(行进矢量与它们的质心线不对齐),显然它们的一定量的动量被转换为角动量(即它们每个都得到一定量的自旋),但是如何很多,这样的方程式是什么?
这可能可以通过使用多体刚性系统进行计算来解决,但我想要进行更优化的计算,所以我可以实时计算这些东西。是否有人对方程式有任何想法,或指向这些计算的开源实现以包含在项目中?准确地说,我需要这是一个相当优化的计算,因为需要在模拟的单个“滴答”中模拟交互的数量。
编辑:好的,看起来关于这个主题的准确信息并不多。而且我发现“程序员物理学”类型的书有点太……愚蠢到真正得到;我不想要算法的代码实现;我想弄清楚(或至少为我勾勒出)算法。只有这样,我才能根据我的需要适当地优化它。有人对此类主题有任何数学参考吗?
vector - 使用来自两个自旋向量的点在球体上插值 x、y、z 坐标?
我想实时绘制位于单位球体表面的 3D 点(r = 1)。
这里有两个自旋向量在起作用。一个向量围绕 Y 轴旋转,它的 X 和 Z 值使用完全位于 X/Z 平面上的圆的 cos() 和 sin() 计算,所有 Y 值都等于 0。另一个围绕X 轴,它是使用完全位于 Z/Y 平面上的圆的 cos() 和 sin() 计算的 Z 和 Y 值,所有 X 值都等于 0。两个向量的角动量通常不是相同的。但是,向量的端点位于半径等于 1 的公共球面上。因此,它们的大小相等,并且都源自同一个 0、0、0 点。
假设第一个向量有一个称为 angXZ 的角动量项和第二个 angZY。这意味着我可以随时使用 angXY 和 angZY 计算两个点,每个自旋向量一个。对于这两个 3D 点,计算第三个点的公式是什么,该点也位于单位球体的表面上,并且是从 angXZ 和 angZY 计算的两个点之间的正确插值?
我可以在脑海中看到,给定位于单位球体表面上的任意两个 3D 点,只有一个圆(平面)的圆周都位于它们的圆周上。我也可以直觉计算插值点的坐标归结为将两个计算点投影到它们共享周长的圆上时产生的角度平分。但我就是无法将翻译和数学全神贯注。
是否有一个简单的公式可以采用位于单位球体表面上的两个 3D 点来计算第三个点,该点也将位于该表面上并且是前两个点之间的正确插值?
如果这很重要,我正在使用 Delphi Pro 6。
跟进:从直觉上看,我应该能够从一对自旋向量计算出的两个点的线性中点,并将该点投影回单位球体。例如,在下面的链接中找到的公式给出了计算任意两个 3D 点之间中点的公式。我是否应该能够获取该 3D 点并使用一些公式,以将其投影回单位球体表面的方式调整它的 XYZ 坐标?
objective-c - 目标 C:从用户手指滑动相机
我的问题是,如果用户快速滑动,我应该使用什么算法或数学来保持屏幕滑动势头以保持滚动。
示例:屏幕上有一个图像在绕圈旋转,如果用户缓慢滑动相机,它只会随着手指移动。但是,如果用户真的很快,图像应该像旋转木马一样旋转几秒钟,这取决于用户滑动的速度?
我能够从用户触摸屏幕时的点以及用户不断滑动和抬起手指的点获得点,有什么想法吗?
我有一个每秒调用 60 次的方法,有什么想法吗?
iphone - iPhone 轮子(命运之轮)旋转动量
我很难为我的纺车增加动力。
我有这个轮子(类似这样的东西),我通过使用单点触摸事件围绕它的中心旋转它。
这里没有问题,但是当触摸(又名拖动)结束时;我希望轮子保持它的动力并减轻它的运动。
任何人都可以给我一些指示,它不一定必须在objective-c中。AS3、javascript 或 JAVA 也足够了。
*更新(旋转轮子的代码)*
rotation - 从两个四元数和时间步长获得动量四元数
我有一个保持物体旋转的四元数。在帧中我修改它并获得一个新的四元数。我可以计算一个从“上一帧”旋转到“当前帧”的四元数。
但是,我无法弄清楚如何“除以 t”这个四元数来获得我需要的每秒旋转。
即,基于时间步长,我需要知道如果四元数被应用到自身 X 次(即 28.5 fps 时 28.5 次等),四元数会是什么样子。
有人知道该怎么做吗?或者你会建议我做一些类似于转换为欧拉,乘以,然后转换回来的事情吗?
2d - 在 2d 物理中添加力时惯性的问题
我尝试制作一个非常简单的二维物理函数来解决以球体粒子作为对撞机的刚体,
我有一个刚体和粒子类:
所以基本上,每一帧我计算存储在每个刚体中的每个粒子的新位置,然后我检查粒子到粒子的碰撞,如果发生碰撞,我计算一个力来排斥它们(基于半径和里面有多少嚼劲)它们),然后我将这个力存储在粒子中,
我通过向我的刚体添加和冲量来计算线性速度和角度速度,以获得它包含的所有粒子上的所有力存储。
我的函数 addImpulse(用脉冲将力存储在粒子中并定位我的粒子的世界 pos):
我的问题是,这个函数对 linearVelocity 工作得很好,因为它接缝的角速度在最小的碰撞中变得非常大,现在,我不使用任何阻尼(线性或角度),我没有我的 angularVelocity 的惯性,
我想惯性缺失是我的问题,但是当我在互联网上查看如何计算它时,我有点困惑,
我在 box2d 中查看是否存储了惯性,并且它似乎是刚体的变量(作为质量)。我在互联网上发现惯性 = 质量 * (r*r)
问题 => 什么是 r ...
-if 是我重心的距离(所以我刚体的位置),显然一直等于 0(body.position - body.position == 0)
在 box2d 中我发现:this.m_I = massData.I - this.m_mass * (massData.center.x * massData.center.x + massData.center.y * massData.center.y); 并且massData.center接缝是刚体形状的中心,在我的情况下,我的形状是2个球体,一个在(0,10),一个在(0,-10),所以中心是(0 ,0) ....
在另一个网站上我发现: for(i < numberOfParticle) I += ( massOfParticle(i) * (RelativePosOfParticle(i)*RelativePosOfParticle(i) ) 在这种情况下更好,因为当我平方每个粒子的距离时(而不是先搜索中心),我的 I 将大于 0。但是我不确定使用的公式是否正确......
如果有人可以用简单的方式解释我,如何计算惯性?如果我可以直接(而不是通过粒子)计算我的刚体的惯性?如果我可以存储惯性,或者如果它加深了应用冲动的地方(我也在其他网站上读到过......)?和/或为什么我的冲动函数会做错以获得如此大的角速度(也许是正常的,解决这个问题的阻尼是其他物理引擎)。
而且,如果有人可以回答(只是出于好奇),box2d 是否使用简单版本的惯性,因为计算速度更快并且结果足够好?还是Box2d的计算是正确的,我在阅读代码时漏掉了什么?
非常感谢^^,
马吕斯。
php - PhP如何用变量行计算矩
我有 45 - 50 个数组行,它们是标准 PhP 数组字符串格式的反序列化 json 返回值,来自 cURL,数据如下所示:
var_dump 数据 var_dump
我需要对返回数据执行以下数学计算(注意增量 1,2,3..)
假设以下 3 个数组元素
然后
如果您不知道数组中有多少行,那么在 PhP 中设置它的正确方法是什么?
javascript - Javascript 时刻在日期范围内 api
有没有我可以使用如下的函数来确定日期数组是否在一天之内?
例子:
我希望 momentjs 向我返回 24-12-2014 内的所有事件
所以它应该返回
我在下面尝试但效果不佳
javascript - 2D 物理引擎:在碰撞后找到盒子的角速度的最佳方法是什么?
我正在尝试制作 2D 物理引擎,但我在角运动方面遇到了一些问题。我知道角速度 (ω) 取决于力矢量 (F)、施加力的距离 (r) 和转动惯量(I)。矩形公式的转动惯量是I = m(w² + h²) / 12
,m 是物体的质量 w 是宽,h 是高。扭矩是距离和力的叉积τ = r × F
,角加速度的公式是α = τ / I
。但我不明白什么是力矢量。例如,盒子落在边缘加速度是相同的,质量没有变化,所以力是相同的。角动量(L)的公式为L = r × p
, p 为线性动量(p = mv),所以我认为线性动量比力更容易计算。而那个F是什么冲击力?我还找到了公式:ω = L / I
,所以最终的角速度公式是ω = r × p / I
。哪个公式更好地计算角速度?
momentjs - 如何立即区分两个 HH:mm:ss 格式
它产生 00:00:00 作为 o/p 但我需要 -18:00:00 如何进行格式化。
在 C# 中,效果很好。
我已经试过了。
我需要以下格式。18:00:00
http://jsfiddle.net/5103y2du/4/
Atlast 我找到了解决方案,但解决方案并不好。
让 n = moment.duration(moment("00:00:00", "HH:mm:ss").diff(moment("18:00:00", "HH:mm:ss")));
工作正常
-- 不工作
使用时刻需要相同