标签: physics

如何计算2D表面上的移动和旋转盘的摩擦阻力?

让我们考虑在表面上具有质量m和半径R的圆盘,其中也涉及摩擦.当我们给这个磁盘一个方向的起始速度v时,磁盘将朝向该方向并减速并停止.

如果磁盘在速度旁边旋转(或旋转线与表面垂直旋转),则磁盘不会在一条线上移动,而是弯曲.线性和角速度都在最后为0.

如何计算这个条带/弯曲/拖动?是否有可能为X(v,w,t)函数提供解析解,其中X将根据它在给定t的初始vw给出磁盘的位置?

任何模拟提示都可以.我想,根据w和m和u,会有一个与线速度垂直的附加速度,因此磁盘的路径会从线性路径弯曲.

simulation physics

5
推荐指数
1
解决办法
2608
查看次数

RoboCup 3D Soccer bot的例子?

我想在SimSpark下运行的3D RoboCup软件足球模拟联盟中编写一个机器人.有人能指出一些已经处理过与服务器通信的代码吗?

alt text http://simspark.sourceforge.net/wiki/images/thumb/a/a3/SoccerSimulation_TwoTeams.png/800px-SoccerSimulation_TwoTeams.png

理想情况下,这将是.NET代码,但以任何语言生成的示例仍然有用.

编辑对于不熟悉RoboCup 3D足球联赛的人,请查看此YouTube视频.它有一些非常有趣的时刻,如果你有这样的事情......

编辑2仍然没有答案?我在维基百科上整理了一个专门用于 RoboCup 3D模拟足球联赛的页面,以获取更多信息.

这是另一部关于SEU-RedSun团队在2008年RoboCup锦标赛中踢球的YouTube视频.他们的代理人比我链接的第一个视频中的代理人要复杂得多(并且协调一致).

simulation physics robocup

5
推荐指数
0
解决办法
2327
查看次数

使用A*并仍然避免碰撞?

我正在设计一个塔防游戏,为此我使用A*寻路算法从我的产卵区到达我的目的地.

这里的问题是所有单元堆叠,看起来不太好看.有没有办法可以让他们以某种方式组成团体,如果没有足够的空间,可以传播更多?

该算法可以使所有单元一次移动一个图块.

c# xna physics path-finding game-physics

5
推荐指数
2
解决办法
691
查看次数

如何在AS3中使用抛物线公式来触发始终拦截给定点的箭头

首先要注意:从数学上讲,我根本不熟练.

我在iPhone上玩了一个游戏,你按下了一个点,箭头从你的城堡开始,它总是与你按下的点相交.我想做一个类似的游戏,认为这将是一个简单的快速制作; 然后我意识到这个数学实际上超出了我的技能水平.

我假设他们正在使用一个抛物线公式或某些东西来确定箭头启动时所需的速度和角度,以使箭头始终与点击的点相交.

我只是模糊地记得抛物线是如何从学校工作的,没有机会制定任何公式.

任何可能更容易实现的数学帮助或想法都会很棒.

我想最终在我的城堡中使用一个函数:

package
{
    import avian.framework.objects.AvElement;

    public class Castle extends AvElement
    {
        /**
         * Fires an arrow from this
         * @param ix The x intersection point
         * @param iy The y intersection point
         */
        public function fire(ix:Number, iy:Number):void
        {
            var ar:Arrow = new Arrow();

            ar.x = x;
            ar.y = y;

            // define angle and velocity based on ix, iy
            // ar.fireAngle = ??
            // ar.fireVelocity = ??

            parent.addChild(ar);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据评论中的问题更新:

箭头没有施加任何力,例如风,摩擦等.此外,箭头的起点在整个游戏中固定(在城堡处). …

math flash physics actionscript-3

5
推荐指数
1
解决办法
5416
查看次数

什么是用于创建(视觉上吸引人的)3D物理模拟/可视化的python程序的好库?

什么是用于创建(视觉上吸引人的)3D物理模拟/可视化的python程序的好库?

我看过Vpython,但我看到的模拟看起来很难看,我希望它们具有视觉吸引力.它看起来像一个旧图书馆.对于3D编程,我已经看到了使用Panda3Dpython-ogre的建议,但我不确定它是否真的适合精确模拟.另外,我更喜欢一个与其他库很好地结合的库(例如pygame与其他库没有很好的结合).

python simulation 3d visualization physics

5
推荐指数
1
解决办法
4316
查看次数

传热二维有限元库

嗨我目前在COMSOL用于计算2D中的热传递,我正在寻找一个用C++编写的库.libMesh和Gmsh的组合是最佳选择吗?

如果您还可以在建议的库中提供此类操作的示例,那将非常有用吗?我使用傅立叶方程.

先感谢您

c++ math physics transfer

5
推荐指数
1
解决办法
2022
查看次数

SceneKit – SCNPhysics主体与SCNPhysicsShape不匹配

我有一个非常简单的场景:一个带有动态物理物体的立方体和一个带有静态物理物体的平面。当立方体掉落并撞到地面时,两个物体之间有一个可见的缝隙,您可以在此处看到以下视频:

我尝试了所有不同的组合,SCNPhysicsShapeTypeKey还尝试将SCNPhysicsBody的形状设置为nil(文档说:“保留此nil将使系统决定并使用最有效的边界表示”),但是没有任何方法能够消除差距。

    // ...
    // plane physics
    var body = SCNPhysicsBody(type: SCNPhysicsBodyType.Static, shape: SCNPhysicsShape(geometry: result.node!.geometry!, options: [SCNPhysicsShapeTypeKey:SCNPhysicsShapeTypeConvexHull]));
    result.node!.physicsBody = body;
} else {
    // cube physics
    var body = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: SCNPhysicsShape(node: result.node!, options: [SCNPhysicsShapeTypeKey:SCNPhysicsShapeTypeConvexHull]));
     result.node!.physicsBody = body;
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了我的dae文件(在此处附件),并根据此问题应用了所有比例/变换,但是结果相同。

我想我这里缺少明显的东西,有什么想法吗?

iphone physics ios scenekit swift

5
推荐指数
1
解决办法
3119
查看次数

SceneKit:SCNPhysicsBody获取当前速度

如何获得SCNPhyisicsBody的当前速度?

velocity属性总是返回(0.0,0.0,0.0),而我的SCNNode的prensetationNode的physicsBody也是nil.

xcode physics objective-c scenekit swift

5
推荐指数
1
解决办法
679
查看次数

计算行星之间的吸引力方向

我正在尝试使用C在opengl中建立太阳系的模拟.我似乎无法弄清楚如何编写用于计算另一个行星施加在行星上的力的方向的代码.这就是我到目前为止:

void attraction(planet self, planet other, float *direction)
{
   float d = vecDistance(self.p, other.p);

   //calc the force of attraction
   float f = G * ((self.mass * other.mass) / (pow(d, 2)));

   //calc the direction of the force
   float vectorDist[3];
   vecSub(self.p, other.p, vectorDist);

   direction[0] = f*vectorDist[0] / d;
   direction[1] = f*vectorDist[1] / d;
   direction[2] = f*vectorDist[2] / d;
}



float vecDistance( float *pV1, float *pV2 )
{
    float fLen=0.0f;

    if(pV1 && pV2)
    {
        float av[3];

        vecSub(pV2, pV1, av);
        fLen=vecLength(av);
    }

    return fLen; …
Run Code Online (Sandbox Code Playgroud)

c math physics

5
推荐指数
1
解决办法
206
查看次数

对于C++ Vector3实用程序类实现,是否比struct和class更快?

出于好奇,我用3种方式实现了vector3实用程序:array(带有typedef),类和结构

这是数组实现:

typedef float newVector3[3];

namespace vec3{
    void add(const newVector3& first, const newVector3& second, newVector3& out_newVector3);
    void subtract(const newVector3& first, const newVector3& second, newVector3& out_newVector3);
    void dot(const newVector3& first, const newVector3& second, float& out_result);
    void cross(const newVector3& first, const newVector3& second, newVector3& out_newVector3);
    }

    // implementations, nothing fancy...really

     void add(const newVector3& first, const newVector3& second, newVector3& out_newVector3)

    {
        out_newVector3[0] = first[0] + second[0];
        out_newVector3[1] = first[1] + second[1];
        out_newVector3[2] = first[2] + second[2];
    }

    void subtract(const newVector3& first, const newVector3& …
Run Code Online (Sandbox Code Playgroud)

c++ optimization performance physics utility

5
推荐指数
1
解决办法
550
查看次数