问题标签 [kinematics]

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.

0 投票
1 回答
280 浏览

c# - Unity3d中的非轴对齐棱柱关节?

我知道如何使用 ConfigurableJoint 制作轴对齐的棱柱关节。对于沿 x 轴的棱柱关节,我可以执行以下操作:

其他轴对齐的关节同样容易。但是,如果我想沿轴制作一个棱柱形关节,例如 (1/sqrt(3)、q/sqrt(3)、1/sqrt(3)),该怎么办。有没有办法做到这一点?

0 投票
0 回答
216 浏览

android - 使用 FlingAnimation 在 Y 轴上进行动力学平移

我正在尝试将 Y 轴上的“动力学”移动从屏幕顶部添加到底部(反之亦然)到使用窗口管理器显示在所有应用程序上方的自定义布局中。

我试图这样做:

但是以下结果无法正常工作。我试图将值更改SCROLL_YTRANSLATION_Y并设置自定义值范围,但没有运气。

在 event 中处理 action 是ACTION_MOVE这样的:

我想问一下如何以正确的方式在 Y 轴上设置动画?

非常感谢您的任何建议。

Edit1:设置后setStartVelocity(2000);似乎效果更好,但视图部分隐藏(见下面的截图)。

Edit2:我在自定义视图中实现了 GestureDetector.OnGestureListener,现在我能够捕捉到投掷和滚动事件。在 onFling 方法中,我能够识别投掷手势的方向(TOP_BOTTOM,BOTTOM_TOP),但我无法对给定方向的视图进行动画处理。

在此处输入图像描述

0 投票
0 回答
554 浏览

unity3d - Unity - 第一人称控制器 - “非运动学”的不良行为

我的第一人称控制器有问题。

由于想要与敌人发生碰撞触发器,我需要一个带有“Is Kinematic == false”的刚体。

但是如果我将我的刚体设置为非运动学 - FPS 控制器会在行走时吓坏并切换位置。有时视图会上升或下降。

如果我设置“Is Kinematic == true”一切正常。

我的代码中没有刚体的任何部分。

这是我的 FPS-Controller-Inspector 的屏幕截图:

在此处输入图像描述

这是我的层次结构的屏幕截图(请忽略“RigidBodyFPSController” - 它未使用。):

在此处输入图像描述

这是我的场景的屏幕截图,您可以在其中看到问题。我的 FPS-Controller-View 太高了。它应该在僵尸的同一高度。没有“Is Kinematic == false” - 一切正常。

在此处输入图像描述

如果您需要更多信息,请告诉我。

提前致谢。

0 投票
1 回答
31 浏览

physics - Trying to figure out kinematics

I'm currently trying to learn kinematics and I can't figure out what seems to be a basic problem. It is the following: An 1800 kg car brakes from 15 m/s to a stop in 3 seconds. What is the net force of friction on the tires?

If you could help describe how I could figure this out or give me hints I would be very happy. Thanks :D!

0 投票
0 回答
757 浏览

physics - 子弹物理:将刚体移动到特定点

我是子弹物理学的新手,我的用例就像我知道开始位置(x1,y1)和结束位置(x2,y2)。现在通过在刚体中心施加一些力,它应该移动到结束位置(x2, y2) 然后由于重力它应该下落(类似于运动学通过抛射运动到达最大位置并由于重力而下落)。

我使用如下 body->applyCentralForce(force); 但它没有达到预期或结束位置。

提前致谢。

0 投票
2 回答
1017 浏览

c# - Unity C# 向围绕移动轴旋转的目标发射弹丸

我正在开发一个 3D 太空游戏,其中相机处于恒定的 2D(自上而下)状态。我能够向以给定速度移动的目标发射速度(s)的射弹,并且每次都击中它。伟大的!好吧,如果那个目标在父母周围有一个角速度呢?我注意到如果目标有一个正在旋转的父对象,我的投影不正确,因为它没有考虑角速度。

我的初始代码是围绕以下假设构建的:

我假设射手是静止的(或可能在移动)并且需要以恒定的幅度发射子弹。

我将上述简化为

对两边求平方,我得到一个二次方程,我可以在给定行列式结果或零的情况下求解 t。这很完美。我返回值,然后将目标的位置和当前速度投影到那个 t,然后我有炮塔脚本,它以给定的角速度向那个点旋转。如果炮塔说它在所有轴上的 1% 范围内看那个点,它会以速度发射子弹,如果目标不改变其航向或速度,它会 100% 命中。

我开始在我的飞船/小行星上添加组件,这些组件是父对象的子对象,例如连接到飞船的炮塔,炮塔本身就是目标。如果船围绕轴(例如 Y 轴)旋转并且炮塔不在 x=0 和 z=0 处,我的投影不再起作用。我认为使用 r * sin ( theta + omega * t) 作为 X 位置的角速度分量和 r * cos ( theta + omega * t) 作为 Z 位置的角速度分量可以工作。Theta 是当前旋转(相对于世界坐标),而 omega 是围绕 y 轴的 eulerAngle 旋转。

我很快意识到这只适用于绕 y 轴旋转,我不能将 sin 放入二次方程,因为我不能从中提取 t,所以我不能真正正确地投影这个。我尝试使用双曲线,但情况相同。我可以创建一个任意的 t,假设 t=2,然后计算对象在 2 秒内的位置。但我正在努力寻找一种方法来实现子弹速度投影。

从这里开始,我一直在不停地旋转我的轮子,试图找出一个可行的解决方案。我将 eulerAngle.y 用于运行良好的欧米茄。最终,我只需要我应该射击的空间中的瞬时点,它是子弹速度和投影距离的乘积,然后我的炮塔瞄准脚本将负责其余的工作。

我一直在研究基于父母位置(旋转中心)的球坐标系

在给定这些角度的情况下,我可以计算出物体的位置……但我正在努力将其转化为可以与 omega * t(角速度)方法一起使用的东西。

我想知道是否有更优雅的方法来解决这个问题,或者是否有人可以指出我正确的公式方向来帮助我思考这个问题?我在四元数和 EulerAngles 方面不是最好的,但我正在慢慢学习它们。也许我可以用这些做一些聪明的事情?

0 投票
1 回答
179 浏览

python - Python弹弓模型

我正在尝试模拟从弹弓发射弹丸。

这是我的代码:

但它给了我这个对我来说没有意义的情节:

在此处输入图像描述

我错过了什么?价值观不应该像他们那样出来,但对于我的生活,我不明白为什么。

这可能是一件微不足道的事情,但我已经盯着这个太久了,所以我认为引入一组新的眼睛是最好的做法。

0 投票
2 回答
89 浏览

javascript - 如何使用这些运动学形式进行编程?

我正在尝试对图中的每个方程式进行编程(我没有制作图表):

因此用户可以输入 5 个变量中的 3 个,并始终返回缺少的 2 个变量。在加速度为 0 和其他位置的情况下,我遇到了一些除以 0 的问题。第二行求时间的方程,第二个方程似乎特别奇怪。我也应该从其中一些中收到 2 个答案。即平方根问题?

首先,这些方程式准确吗?如果它们是准确的,我应该在我的程序中添加什么规定,以防止除以 0 问题和可能的其他问题。

如果它帮助你知道,我正在使用 JavaScript,但我更关心数学的本质以及它与运动学的关系,而不是语言本身。

非常感谢。

0 投票
0 回答
265 浏览

python - 带约束的运动链中关节的欧拉角

我想找到允许从左侧图像转换到右侧图像的欧拉角(见下文)。关节AB有一组约束:

  • 由角度给出的局部坐标系 XYZ [0, 0, 20](其他关节可能有不同的坐标系)。我认为这总是相对于原点(我从 .amc 和 .asf 文件中读取)
  • 方向D和长度L
  • 有些关节只允许在一个或两个轴上进行变换;
  • AB是运动链的一部分。

在此处输入图像描述

问题:

  • 如何计算允许转换的旋转矩阵,A考虑A'到它们的局部坐标系和旋转约束?

请注意,我不是在寻找逆运动学算法,因为我已经有了两个段之间的关节角度。我无法理解如何处理旋转限制局部坐标系方向

0 投票
1 回答
78 浏览

algorithm - 如何将坦克的左右电机速度转换为路径/曲率

我正在 MATLAB 中进行坦克模拟。坦克有两个马达,一个左马达和一个右马达。这些都可以单独编写,以从 (-100%) 到 (+100%) 的速度运行。因此,如果我写 L, R = (100%, 100%),每个电机将以相同的速度旋转,因此将沿着一条完美的直线驱动。写 L, R = (-100%, 100%) 使机器人保持在相同的 (x, y) 坐标,但改变了它的角度。L, R = (50%, 100%) 使机器人向前行驶并转动其角度。

我的问题:如何将这些左右电机速度转换为路径或曲率方程?