2017-04-08 61 views
0

我想用矢量創建正弦波(因爲我使用的是box2d)。如何在處理中創建正弦波?

到目前爲止,我有(在void draw()

Vec2 mov2 = new Vec2(sin(angle)*scalar,0); 

for (int j = 0; j <= 10; j++) { 
    bridge.particles.get(j).body.setLinearVelocity(mov2); 
} 

其中bridgeparticles鏈。然而,這使得所有的粒子同時來回移動,而我想像正弦波一樣移動,以便每個粒子在前一個粒子之後稍微移動。

回答

1

您需要在循環中的每個粒子之間添加某種偏移量。

實施例:

for(int i=0; i < 360; i++){ 
     float x = 1 + i; 
     float y = (float)(Math.sin(Math.toRadians(i+currentOffset))); 
     bridge.particles.get(j).setTransform(x, y, 0); 
} 
currentOffset+=1;