首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在box2d中施加离心力?

如何在box2d中施加离心力?
EN

Stack Overflow用户
提问于 2014-12-21 02:51:42
回答 1查看 116关注 0票数 0

我在box2d试验床上用绳索连接了一个动态体和一个静态体。我想让动态体在按下'a‘或'd’时围绕静态体旋转。我不想使用旋转连接,因为旋转连接的长度是固定的。所以我想对物体施加离心力,有人能告诉我怎么做吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-30 15:08:34

我对testbed不熟悉,但是你问的问题背后的逻辑是相当简单的。你要做的是找出动态体和静态体之间的角度。有了这个角度,你只需创建一个新的Vector2(x,y),它将代表你在ApplyForce中使用的力。

在java中,它看起来像这样:

代码语言:javascript
复制
    // This is the dimension of the vector representing the applied force (you choose that)
    float forceDimension = 10;

    // This is the angle you have to find (I use PI since the Math class uses radians)
    // PI radians == 90 degrees (your dynamic body would then be directly above your static body)
    double angle = Math.PI;

    // This is the actual vector of the force
    Vector2 force = new Vector2(forceDimension * (float) Math.sin(angle), forceDimension * (float) Math.cos(angle));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27583290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档