Hyunseo Lee
Hyunseo Lee

Reputation: 163

Processing Line tracing

I am a student studying Processing.

I watch an example video I recently discovered to study Processing, and I ask a question because there is a concept that is difficult to understand.

  1. rotate the triangle so that the top vertex of the triangle always faces the point.

  2. Also, a line that runs vertically from the midpoint of the base of the triangle must be connected to the point.

I am not sure where to start fixing the problem.

If you understand the problem, I would appreciate it if you could provide a brief explanation and code.

Upvotes: 0

Views: 83

Answers (1)

Freek de Bruijn
Freek de Bruijn

Reputation: 3622

It looks like a great demonstration of the rotate function, perhaps combined with the translate function. Look at this Processing tutorial for a good description of what you can do with these functions.

To get the desired effect, the program can select a random angle and a random distance between the triangle and the circle. Using the rotate and translate functions, you can basically draw the triangle, circle & line at fixed coordinates and have Processing do the calculations for you (except the distance between the triangle and the circle). The program could look like this:

void settings() {
  size(800, 600);
}

void setup() {
  frameRate(2);
}

void draw() {
  background(128);
  
  float angle = random(-QUARTER_PI, QUARTER_PI);
  float ballDistance = random(100, 400);
  
  translate(width / 2, height - 28);
  rotate(angle);

  noStroke();
  fill(255, 0, 0);
  circle(0, -ballDistance, 12);
  
  stroke(120, 200, 120);
  line(0, 0, 0, -ballDistance);
  
  noStroke();
  fill(0, 0, 255);
  triangle(-16, 0, 16, 0, 0, -64);
}

Upvotes: 1

Related Questions