如何在二维粒子系统中实现方向?
问题描述:
我正在为2D项目创建SDL的简单粒子系统。我的这一代人的功能很好,我可以创造速度,以及粒子生成的位置。我需要做的是指示移动的方向,例如,像在火箭烟雾中一样。那么如何让粒子系统选择粒子运动的方向呢?如何在二维粒子系统中实现方向?
答
为了给每个粒子的运动方向,选择一个绝对角度(0指向显示的右侧),模量(粒子的速度)并执行这些简单的三角指令:
vel.x = speed*cos(angle);
vel.y = speed*sin(angle);
实际指令依赖于基础数据结构,但数学概念是完美的。只要注意角度和使用的功能:两者必须具有相同的角度单位(度,弧度,...)。
如果您的意思是使用角度和模量定义每个粒子的速度,只需使用简单的三角函数。 – 2012-08-10 22:53:09
嗯,这可能会奏效,但请您举个例子,对此有点麻烦。 – Annabelle 2012-08-10 22:53:46
我会回答,一会儿。 – 2012-08-10 22:54:03