//
// Draw a simple house

import java.awt.*;

public class House extends BufferedApplet
{
   double points[][] = {{-.9,-1,0},{1,-1,0},{1,.8,0},{0,1.5,0},{-1,.8,0},{-1,-1,0},{.9,.8,0},{-.9,.8,0},{.9,-.9,0}};
   double a[] = {0,0,0}, b[] = {0,0,0};
   int w, h;

   public void render(Graphics g) {
      w = bounds().width;             // FIND OUT HOW BIG THE APPLET WINDOW IS
      h = bounds().height;

      g.setColor(Color.white);        // MAKE A CLEAR WHITE BACKGROUND
      g.fillRect(0,0,w,h);

      g.setColor(Color.black);        // SET THE DRAWING COLOR TO BLACK

      for (int i = 1 ; i < points.length ; i++) { // LOOP THROUGH ALL THE LINES IN THE SHAPE
	 transform(points[i-1], a);                         // TRANSFORM BOTH ENDPOINTS OF LINE
	 transform(points[i  ], b);
	 g.drawLine(x(a[0]), y(a[1]), x(b[0]), y(b[1]));    // DRAW ONE LINE ON THE SCREEN
      }
   }

   int x(double t) { return w/2 + (int)(t*w/4); } // CONVERT X COORDINATE TO SCREEN PIXELS
   int y(double t) { return h/2 - (int)(t*w/4); } // CONVERT Y COORDINATE TO SCREEN PIXELS

   void transform(double src[], double dst[]) {

      ///////// THIS IS THE PART YOU SHOULD REPLACE, TO DO COOL TRANSFORMATIONS  /////////

      dst[0] = src[0];
      dst[1] = src[1];
      dst[2] = src[2];

      ////////////////////////////////////////////////////////////////////////////////////
   }
}