我正在尝试制作一种方法:弹射的初始位置为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方法应该是什么样的?
我在想我正在寻找的可能涉及代表。
答案 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