topical media & game development
graphic-processing-algorithm-Ch02-p56-p56.pde / pde
float [] px = {
10.,10.,40.,80.};
float [] py = {
10.,40.,60.,20.};
void draw(){
background(255);
for(float t=0.; t<1.; t+=0.01){
float x = px[0]*pow((1 - t),3) + 3*px[1]*t*pow((1 - t),2) + 3*px[2]*pow(t,2)*(1 - t) + px[3]*pow(t,3);
float y = py[0]*pow((1 - t),3) + 3*py[1]*t*pow((1 - t),2) + 3*py[2]*pow(t,2)*(1 - t) + py[3]*pow(t,3);
point(x,y);
}
for(int i=0; i<4; i++)
rect(px[i],py[i],5,5);
}
void mouseDragged(){
for(int i=0; i<4; i++)
if(dist(mouseX,mouseY,px[i],py[i])<20){
px[i] += (mouseX-pmouseX);
py[i] += (mouseY-pmouseY);
}
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.