# Nina Yoo – Project 07 – Curves

sketch
I was really intrigued by the hypotrochoid curve and how it was drawn the site itself. Through this project I was able to play around with the functions of cos and sin which I havent been able to delve into before. It was interesting to play with the numbers and see what different shapes appeared because of the repetitively drawn lines.

``````/* Nina Yoo
Section E
nyoo@andrew.cmu.edu
Project-07 Composition with Curves*/

var nPoints = 200
function setup() {
createCanvas(480, 480);
frameRate(15);

}

function draw() {
background(200,34,164);
push();
//into middle
translate(width/2, height/2);
drawHypotrochoidCurve();
pop();
}

function drawHypotrochoidCurve(){
//Hyptotrochoid

var x;
var y;

var h = 15;

var a = map(mouseX, 0,width,100,300); // (wat u want to effect, orginal range, new range) makes the variables interactive
var b = map(mouseY, 0, height, 100,300);

stroke(210,36,117);
strokeWeight(2);

beginShape();
for(var i = 0; i <nPoints; i ++){

// set variable t within the for loop so it keeps on looping (this acts as the angle for mouse)
var t = map (i, 0, nPoints, 0 , 330 );

// equation for the curve
x = (a - b) * cos(t) + h * cos((a - b) * t);
y = (a - b) * sin(t) - h * sin((a - b) * t);
vertex(x,y); // setting the patternn in the middle

}
endShape(CLOSE);

}

``````