Tutorials | (back to the list of tutorials) |
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1); new IPoint(pt2); new IPoint(pt3); new IPoint(pt4); ICurve curve1 = new ICurve(pt1.dup(), pt2.dup()); curve1.mv(new IVec(0,-20,30)).clr(0,0,1.); ISurface surface1 = new ISurface(pt1.dup(), pt2.dup(), pt3.dup(), pt4.dup()); surface1.mv(new IVec(0,0,-20)).clr(.5,0,0); ISurface surface2 = new ISurface(pt1.dup(), pt2.dup(), pt3.dup(), pt4.dup()); surface2.mv(-60,0,0).clr(.5,.2,.5);
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1); new IPoint(pt2); new IPoint(pt3); new IPoint(pt4); ICurve curve1 = new ICurve(pt1.cp(), pt2.cp()); ICurve curve2 = curve1.dup(); ISurface surface1 = new ISurface(pt1.cp(), pt2.cp(), pt3.cp(), pt4.cp()); ISurface surface2 = surface1.dup(); ISurface surface3 = surface2.cp().clr(1.0,0,0); ISurface surface4 = surface3.cp(new IVec(-60, 0, 0));
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1).clr(0); new IPoint(pt2).clr(0); new IPoint(pt3).clr(0); new IPoint(pt4).clr(0); ICurve curve1 = new ICurve(pt1.cp(), pt2.cp()).clr(1.,0,0); curve1.scale(2); ISurface surface1 = new ISurface(pt1.cp(),pt2.cp(),pt3.cp(),pt4.cp()).clr(1.); ISurface surface2 = surface1.dup().clr(0,0,.5); surface1.scale(2.5); surface2.scale(new IVec(20,10,0), 2);
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1).clr(0); new IPoint(pt2).clr(0); new IPoint(pt3).clr(0); new IPoint(pt4).clr(0); ISurface surface1 = new ISurface(pt1.cp(),pt2.cp(),pt3.cp(),pt4.cp()).clr(1.); ISurface surface2 = surface1.dup().clr(0,0,.5); // scaling in x direction surface1.scale1d(new IVec(1,0,0), 2); // scaling in vector (1,1,0) direction from center (20,10,0). surface2.scale1d(new IVec(20,10,0), new IVec(1,1,0), 3); // just showing the scaling direction new IVec(1,1,0).show(new IVec(20,10,0)).mul(50).size(10).clr(1.,0,0);
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1).clr(0); new IPoint(pt2).clr(0); new IPoint(pt3).clr(0); new IPoint(pt4).clr(0); ICurve curve1 = new ICurve(pt1.cp(), pt2.cp()).clr(1.,0,0); // rotation around y axis curve1.rot(new IVec(0,1,0), PI/4); ISurface surface1 = new ISurface(pt1.cp(),pt2.cp(),pt3.cp(),pt4.cp()).clr(1.); ISurface surface2 = surface1.dup().clr(0,0,.5); // rotation around z axis surface1.rot(new IVec(0,0,1), PI/4); // rotation around vector (1,1,1) axis and center (20,10,0). surface2.cp().rot(new IVec(20,10,0), new IVec(1,1,1), PI/6); // just showing the rotation axis new IVec(1,1,1).show(new IVec(20,10,0)).mul(10).clr(0);
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1).clr(0); new IPoint(pt2).clr(0); new IPoint(pt3).clr(0); new IPoint(pt4).clr(0); ICurve curve1 = new ICurve(pt1.cp(), pt2.cp()).clr(1.,0,0); // reflect on a diagonal plane curve1.cp().ref(new IVec(0,-10,0), new IVec(0,1,0)); ISurface surface1 = new ISurface(pt1.cp(),pt2.cp(),pt3.cp(),pt4.cp()).clr(1.); ISurface surface2 = surface1.dup().clr(0,0,.5); // reflect on yz-plane surface1.ref(new IVec(1,0,0)); // reflect on zx-plane at (0,-20,0) surface2.ref(new IVec(0,-20,0), new IVec(0,1,0));
import processing.opengl.*; import igeo.*; size(480,360,IG.GL); IVec pt1 = new IVec(0,0,0); IVec pt2 = new IVec(40,0,0); IVec pt3 = new IVec(40,20,0); IVec pt4 = new IVec(0,20,0); // showing original location new IPoint(pt1).clr(0); new IPoint(pt2).clr(0); new IPoint(pt3).clr(0); new IPoint(pt4).clr(0); ISurface surface1 = new ISurface(pt1.cp(),pt2.cp(),pt3.cp(),pt4.cp()).clr(1.); ISurface surface2 = surface1.dup().clr(0,0,.5); // shearing in x surface1.shearXY(1, 0); // shearing in y surface2.shearXY(new IVec(20,10,0), 0, -1.5);