如何制作一种返回弹丸通过轨迹的方法?

时间:2012-12-21 04:47:08

标签: c# methods physics

我正在尝试制作一种方法:弹射的初始位置为Vector2,初始动量Vector2,这两个应该改变的公式?,停止条件?,并返回List<Vector2>

修改

显然我第一次不够清楚。我要求的是解释如何编写方法,以便它接受某些参数以及某种形式的方法,可用于在我的情况下计算Vector2

这是一个简化的情况,结构类似于我的问题:

Vector2 Position = new Vector2(0, 0),
        Momentum = new Vector2(1, 1);

void Update()
{
    Position += Momentum;
}

bool CheckStoppingCondition()
{
    if (Position.X >= 10) return true;
    else return false;
}

void NormalExecution()
{
    if (!CheckStoppingCondition()) Update();
}

List<Vector2> CalculateTrajectory (Vector2 pos, Vector2 mom, ???)
{
    List<Vector2> graph = new List<Vector2>();
    ?
    return graph;
}

什么是CalculateTrajectory方法应该是什么样的?


我在想我正在寻找的可能涉及代表。

1 个答案:

答案 0 :(得分:0)

您是在询问编程问题还是物理问题?

如果是一个编程问题,请更准确地说明你所问的内容 - 就目前而言,它似乎非常简单 - 只需使用一些时间步长值在循环中应用“更改公式”,直到“停止条件”为止遇到了,请参阅http://msdn.microsoft.com/en-us/library/ms173171(v=vs.80).aspx,了解如何将“更改公式”/“停止条件”传递给您的方法。

如果是物理问题(“如何在给定初始条件的X秒后计算位置/动量”),请尝试https://physics.stackexchange.com/或查看例如http://www.xinventions.com/main/spud/motion_equ.htm