PR0C3551N6 のテスト
PR0C3551N6 のテスト
final int MAX_POINT = 180; final int RADIUS = 150; final int POINT_SIZE = 5; PVector[] point = new PVector[MAX_POINT]; float halfWidth; float halfHeight; void setup(){ //size(400, 400); halfWidth = width / 2; halfHeight = height / 2; smooth(); noStroke(); // 各ポイントにベクトルをセット for(int i = 0; i < MAX_POINT; i++){ float d = 360.0 / MAX_POINT * i; float x = cos(radians(d)) * RADIUS; float y = sin(radians(d)) * RADIUS; point[i] = new PVector(x, y); } } int c = 0; void draw(){ background(0); c += 5; PVector tmp = new PVector(); PVector center = new PVector(halfWidth, halfHeight); // 各点を描く for(int i = 0; i < MAX_POINT; i++){ tmp.set(point[i]); tmp.mult((sin(radians(i * 14 + c * 1.2))) * 0.2 + 0.8); tmp.mult((cos(radians(i * 18 + -c * 1.7))) * 0.2 + 0.8); tmp.add(center); ellipse(tmp.x, tmp.y, POINT_SIZE, POINT_SIZE); } }