【发布时间】:2012-10-21 21:59:01
【问题描述】:
所以我正在根据pseudocode here 将 Boids 移植到 Brightscript。
我试图了解所涉及的数据结构,例如 Velocity 是单个值还是 3D 值? (即velocity={x,y,z})
似乎伪代码似乎混淆了这一点,有时它有一个包含向量和单值项的方程:
v1 = rule1(b)
v2 = rule2(b)
v3 = rule3(b)
b.velocity = b.velocity + v1 + v2 + v3
如果 Velocity 是一个三方值,那么这是有道理的,但我不确定。
那么,我的第一个问题:根据上面的伪代码,对于单个 boid,这是正确的数据结构吗?
boid={position:{px:0,py:0,pz:0},velocity:{x:0,y:0,z:0},vector:{x:0,y:0,z:0},pc:{x:0,y:0,z:0},pv:{x:0,y:0,z:0})
pc= 感知中心,pv= 感知速度。
我已经实现了vector_add、vector_sub、vector_div 和向量布尔函数。
我从这个伪代码开始的原因是我找不到任何其他可读的东西,但它仍然给我留下了很多问题,因为没有为每个变量明确定义数据结构。
(编辑)这是我所说的一个很好的例子:
IF |b.position - bJ.position| < 100 THEN
如果b.position - b[j].position都是3D坐标,除非是< {100,100,100},否则怎么算“小于100”?
【问题讨论】:
标签: algorithm data-structures vector vectormath boids