Go to file
2022-07-01 01:48:56 -05:00
.vscode Solve Program 2: Chaos Game 2022-06-23 15:50:00 -05:00
ChaosGame Center in clip space 2022-06-23 15:54:01 -05:00
ClickedPoints Complete the assignment 2022-06-20 00:11:49 -05:00
lib Add matsuda libs 2022-06-20 00:11:04 -05:00
Pendulum It finally works 2022-07-01 01:48:56 -05:00
.gitignore Initial Commit 2022-06-20 00:00:11 -05:00
README.md Add Program 3: Pendulum and problem statement for Program 2 2022-06-21 20:49:01 -05:00

CSCE 4230 Computer Graphics

Dr. Doran's in-person hour long commute.

Program 1

Warm Up

Problem Statement

Modify the ClickedPoints example as follow:

  1. Change the canvas size from 400x400 to 600x400.

  2. Change the clearing color (background color) from black to grey level 0.3. That is, use 0.3 for for each of the RGB values.

  3. Change the fragment color (point color) from red to yellow (with maximum intensity).

  4. Change the point size from 10 to 25.

Submit both your HTML and JS on Canvas. Please do NOT put them in Zip archives or similar.

This shouldn't take very long at all to do, and is really mainly a warm-up exercise.

Program 2

Play the Chaos Game

Problem Statement:

Write a WebGL program that implements Michael Barnsley's 'chaos game'. See this link (Links to an external site.) for more information.

Submit your HTML and js files on Canvas

Program 3

Make a rotating Pendulum

Problem Statement:

Write a WebGL program that displays a rotating pendulum.

The pendulum bob is free to rotate through 360 degrees about an anchor point at the center of the canvas. The pendulum has the following three components:

  1. The anchor point is a green square centered at the origin (0,0), with point size = 5 pixels.

  2. The bob is a blue hexagon of radius r=0.1. Render this with a triangle fan centered at the origin (along with a ModelView matrix that translates and rotates).

  3. The bob is attached to the anchor point by a rigid red wire of length l=0.8.

Use global variables for the point size of the anchor, the radius of the bob, the length of the wire, and the angular velocity of rotation in degrees per second. Set the initial angular velocity to 45 (degrees per second) and allow an interactive user to increase or decrease the value in multiples of 10 degrees per second with button presses.

Submit your HTML and JS files on Canvas