三相交流(processing)
三相交流(processing)
int i=0; float cycle=2; //cycle周期分表示 void setup() { size(300, 160); colorMode(RGB, 100); } void draw() { background(100); for(int sou = 0; sou<3; sou++){ draw_wave(sou,i); draw_back(); } if(i == 241) i = 0; i++; } void draw_back() //軸を表示 { stroke(40); strokeWeight(3); line(30, 30, 30, 130); //y軸 line(30, 80, 270, 80); //時間軸 } void draw_wave(int sou, int delay_t) //波を表示 { int[] color_array = new int[]{0, 0, 0}; float y; color_array[sou] = 100; ellipseMode(CENTER); noStroke(); fill(color_array[0],color_array[1],color_array[2]); for(float t=0; t<241; t=t+1/cycle){ y = 80-50*sin(TWO_PI/(240/cycle)*(sou*80+delay_t+t)); ellipse(30+t, y, 2, 2); } }