首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >二维精灵体旋转力的计算

二维精灵体旋转力的计算
EN

Game Development用户
提问于 2011-11-10 12:06:21
回答 2查看 5.4K关注 0票数 36

我想知道是否有人有一个优雅的方法来计算下面的场景。

我的目标是(n)个正方形,随机形状,但我们会假装它们都是矩形。

我们处理的不是重力,所以从自上而下的角度来考虑太空中的物体。我在一个特定的正方形上对物体施加力(如下图所示)。

如何根据所施加的力,在所施加的位置上计算旋转角度。如果把它放在正中广场,它会一直往前走。我离中心越远它该怎么做?如何计算转速?

EN

回答 2

Game Development用户

回答已采纳

发布于 2011-11-10 12:32:31

你在计算扭矩。扭矩取决于物体的作用力F、作用点和质心。

1)质心。定义物体的质心。

2)应用点:定义力作用的点。

( 3)力矩臂:上述两点之间的距离。

代码语言:javascript
运行
AI代码解释
复制
Point centerofMass
Point applicationPoint
Vector momentArm = applicationPoint - centerofMass

( 4)角力:将你的力F分成两个正交矢量,一个与直线平行,一个垂直。平行分量不影响角动量。垂直的那个有。您可以通过矢量投影计算并行组件。,你可以从原始部分减去它,得到垂直分量。在伪码中(dot指点积)

代码语言:javascript
运行
AI代码解释
复制
Vector myForce
Vector momentArm

parallelComponent = momentArm * (dot(myForce, momentArm) / dot(momentArm, momentArm))
angularForce = myForce - parallelComponent

( 5)力矩:力的垂直分量乘以力矩臂的长度。

代码语言:javascript
运行
AI代码解释
复制
Vector angularForce
Vector torque = angularForce * momentArm.Length

从扭矩到角速度:

1)转动惯量:对给定物体的转动惯量的定义。例如,旋转一个长杆比一个相同质量的球体需要更多的扭矩。如果你不关心现实,你可以假装转动惯量相对于质量,或者你可以完全忽略物体的形状和质量。

2)角加速度:

代码语言:javascript
运行
AI代码解释
复制
Vector angularAcceleration = torque / momentOfInertia

3)角速度:只要施加扭矩,角速度就会不断增加。因此,一个公式大概是“时间的角速度T是角加速度的累积和,直到T。这是用伪代码表示的,如

代码语言:javascript
运行
AI代码解释
复制
void Update(float elapsedSeconds):
    orientation += 0.5 * angularVelocity * elapsedSeconds;
    angularVelocity += angularAcceleration * elapsedSeconds;
    orientation += 0.5 * angularVelocity * elapsedSeconds;
票数 45
EN

Game Development用户

发布于 2011-11-10 14:18:18

如果力不太强,用多个点和连接它们来模拟旋转要容易得多。在这种情况下,你只需假设你的形状由多个点组成,由弹簧连接。每个圆点代表质量,其他形状的东西的质量等于零。

上图中,黑点代表群众,红线代表弹簧。然后,要施加力,你只需要把它应用到最近的点上,你就会看到你的物体会像你喜欢的那样旋转。为了使你的形状看起来像一个坚固的结构,最好定义一个高阻尼值和高k值的弹簧。

票数 7
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/19634

复制
相关文章
在图中添加多边形
在matplotlib中有一个子模块patches, 提供了绘制各种多边形的功能,常用的多边形及其画法如下
生信修炼手册
2020/09/23
6350
在图中添加多边形
Win10: 在截图中添加红框
文章背景: 在工作中,很多时候需要用到Win10原生的截图工具,然后在截图中添加红框进行强调。对于Win10系统,可以通过按Windows 徽标键‌+ Shift+ S,快速调出截图工具,但无法在截图中添加红框,需要借助画图工具进行实现。
Exploring
2023/08/17
13.7K0
Win10: 在截图中添加红框
R语言绘图中添加公式
R语言在作图时难免会用到公式,往途中添加标签公式的方法有很多,R基础包自带的expression函数就是一个,除此之外还有latex2exp可以在R语言中使用latex的命令来给图片添加公式。本文基于expression函数常用的命令从常用的运算符、大型运算、集合运算、希腊字母等方面给出常用的公式命令。
拴小林
2021/10/11
2K0
R语言绘图中添加公式
利用api向小程序地图中添加marker
在某些小程序中我们需要将一些地点的位置标记出来。之前我们也发过有关marker添加的文章,今天在此技术的基础上利用api向其中填加maker。
算法与编程之美
2022/05/23
1.1K0
利用api向小程序地图中添加marker
【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。
小鄧子
2018/08/20
1.3K0
在DevOps中分层安全性[DevOps]
将DevSecOps方法分层进行,在强大的安全性需求和快速部署需求之间取得了适当的平衡。
yyx
2019/12/05
8470
在DevOps中分层安全性[DevOps]
在 SwiftUI 视图中打开 URL 的若干方法
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
东坡肘子
2022/07/28
7.9K1
在 SwiftUI 视图中打开 URL 的若干方法
C++在视图中显示缩略图
将任意形式文件已缩略图形式显示在视图中 //pWnd为当前客户区视图 CWnd* pWnd; pWnd=this; CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; HWND hwnd=pWnd->GetSafeHwnd(); CImage image; //m_ViewRect 为当前客户区 CRect m_ViewRect; GetClientRect(&m_ViewRect); //strFilePath为影像绝度路径,包含文件名 image.Load(strFilePath);
用户7886150
2021/02/13
7110
eclipse的Servers视图中无法添加Tomcat7的解决方法
Eclipse 添加Tomcat7时,因为Service name这项是灰色的,导致无法添加成功.
Java架构师必看
2021/06/10
4670
产品浅谈用户分层在推荐上的应用
作者:zuliyang,腾讯PCG高级产品经理 |导语 常言道“物以类聚,人以群分”,运用在推荐策略上和常见的用户精细化运营策略类似,不同的用户群体行为存在差异,定向的归类建模单独施策以寻求差异化推荐,寻求各个分层用户的定向转化,最终实现业务核心指标的增长。 做过to C的产品人都经历过从前期的用户粗犷式运营到后期的流量精细化运营阶段,当业务指标提升空间遇到瓶颈或用户规模体量达到一定规模后,深耕用户流量精细化运营或许能带来些突破与可能。对于推荐业务用户分层是基于当前存量用户的行为或者属性做定向的划分,以
腾讯大讲堂
2020/12/16
2.4K0
color pathway 使用指南 : 在通路图中标记基因
对于通路分析结果的可视化而言,最常用的展现方式就是在通路中高亮显示富集到的基因。kegg 提供了在Color Pathway 在线服务,可以方便的完成这一任务。
生信修炼手册
2020/05/09
1.9K0
【Unity3D】视图中心 ( 视图中心概念 | 围绕游戏物体旋转 | 添加游戏物体到游戏场景的位置 )
当使用 " alt + 鼠标左键 " 进行旋转时 , 是 围绕 视图中心 进行旋转的 ;
韩曙亮
2023/03/30
1.4K0
【Unity3D】视图中心 ( 视图中心概念 | 围绕游戏物体旋转 | 添加游戏物体到游戏场景的位置 )
Python提取Word文档中所有脚注文本
pywin32,如果使用Anaconda 3 Spyder的话,默认安装了这个扩展库,不需要额外安装。
Python小屋屋主
2020/03/19
1.2K0
Python提取Word文档中所有脚注文本
分层测试(一):什么是分层测试?
模块内通过接口测试保证模块质量,多模块之间通过集成测试保证通信路径和模块间交互质量,整体系统通过端到端用例对核心业务场景进行验证,用户体验通过手工测试确保无妨碍用户的交互。
于果
2023/02/27
8510
分层测试(一):什么是分层测试?
DDD分层
DDD中明确了repository概念,并属于domain层,但dao是对底层数据库的封装,具体实现类放在infrastructure层更合理
码农戏码
2021/03/23
2.5K0
测试分层
看看市场上的测试岗位,大多数都是围绕这这些来设定的:功能测试,自动化测试,测试开发,性能测试,服务端测试
千往
2018/08/30
9440
测试分层
灰度分层
算法:灰度分层是按照灰度值范围划分为不同的层级,然后给每个层级赋予不同的颜色,从而增强不同层级的对比度。灰度分层技术将灰度图像转换为伪彩色图像,且伪彩色图像的颜色种类数目与强度分层的数目一致。
裴来凡
2022/05/28
1.1K0
灰度分层
分层架构
最近连续做了两个新项目,借着新项目的机会,重新审视一下之前一些实践方法,进而寻求一下背后的理论支撑
码农戏码
2021/03/23
6240
类图中的关系
关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。
后端码匠
2022/03/28
7550
类图中的关系
点击加载更多

相似问题

在牛尾图层图中添加图例

25

在牛尾图中改变单色

15

用牛尾标注分层图表(Python)

27

如何将数学符号添加到牛尾图中?

15

无法在回收器视图中动态添加脚注项

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档