hi, i have created 2 objects using surface of revolution in java. i am having troubles in getting the 3 equations x, y, z for creating other objects like vase, hour glass, wine bottle and chess. so equations for the above objects are welcome or modification to my java files also welcome. thanks in advance. __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/
import java.applet.Applet; import java.awt.*; import java.math.*; public class para2 extends Applet { int uf,vf,i; double x,y,z,s,t; int e[]={0,-3000,3000}; //eye view {eu,ev,en} int u[]=new int[1000]; int v[]=new int[1000]; public void paint (Graphics g) { int xmax=799; int ymax=599; double p=Math.PI/180; s=-180; do { t=-90; i=1; do { x=(double)(4*Math.cos(p*s)*((Math.exp(p*t)+Math.exp(-p*t)*2+Math.pow(p*t,2)))); // Longitude z=(double)(2*Math.sin(p*t)*((Math.exp(p*t)+Math.exp(-p*t))/5)*(Math.sin(p*s)*4-Math.pow(p*t,2))/2); y=(double)(6*((Math.exp(p*t)-Math.exp(-p*t))/2)); // Latitude uf=(int)(xmax/2-30-Math.round(3*(e[2]*x-e[0]*z)/(e[2]-z))); vf=(int)(ymax/2+150-Math.round(3*(e[2]*y-e[1]*z)/(e[2]-z))); if (t==-90) { u[i]=uf; v[i]=vf; i++; } if (s!=-180) { g.drawLine(u[i],v[i],uf,vf); g.drawLine(u[i-1],v[i-1],uf,vf); } u[i]=uf; v[i]=vf; t=t+10; i++; // Longitude interval } while (t<180); s=s+10; // Latitude interval } while (s<=180); } }
import java.applet.Applet; import java.awt.*; import java.math.*; public class para1 extends Applet { int uf,vf,i; double x,y,z,s,t; int e[]={0,-1000,3000}; //eye view {eu,ev,en} int u[]=new int[1000]; int v[]=new int[1000]; public void paint (Graphics g) { int xmax=799; int ymax=599; double p=Math.PI/180; s=-180; do { t=-90; i=1; do { x=(double)(4*Math.cos(p*s)*((Math.exp(p*t)+Math.exp(-p*t)*2+Math.pow(p*t,2))/2)); // Longitude z=(double)(2*((Math.exp(p*t)+Math.exp(-p*t))/2)*Math.sin(p*s)-Math.pow(p*t,2)); y=(double)(18*((Math.exp(p*t)-Math.exp(-p*t))/2)); // Latitude uf=(int)(xmax/2-30-Math.round(2*(e[2]*x-e[0]*z)/(e[2]-z))); vf=(int)(ymax/2+150-Math.round(2*(e[2]*y-e[1]*z)/(e[2]-z))); if (t==-90) { u[i]=uf; v[i]=vf; i++; } if (s!=-180) { g.drawLine(u[i],v[i],uf,vf); g.drawLine(u[i-1],v[i-1],uf,vf); } u[i]=uf; v[i]=vf; t=t+10; i++; // Longitude interval } while (t<180); s=s+10; // Latitude interval } while (s<=180); } }