隠線消去プログラム
 
 
public void paint(Graphics g) {
	 Int ymin[ ] = new int[width];  Int ymax[ ] = new int[width];
	 henkan.preper();                         // 座標変換の係数セット
	 for(int i=0;I<width;i++){                 // ymin[],ymax[]の初期化
		 ymin[I]=height; ymax[I]=0;}
       //  z,xを変化させて、y= f(z,x) を 計算
	 for(int z=170; z>=-170; z -= 10){
		 for(int x=-170; x<=170; x++){
			 Point3 P = FuncHat(x,z);         // 関数生成 P(x,y,z)
			 Point q = henkan.project(P);     // 透視投影 q(x,y)
			 Int px = x_origin + q.x ;  int py =  y_origin - q.y;
		       if( py < ymin[px] )  { ymin[px]= py;
		           g.drawLine(px,.py,  px, py); }  // 可視点の描画(下側)
		        if( py > ymax[px] ) { ymax[px]= py;
		           g.drawLine(px, py, px, py); }  // 可視点の描画(上側)