Ejemplo n.º 1
0
  /*
   *  Uses linear interpolation to translate a 3D Window Point
   *  Into a 2D Viewport point
   */
  public static Point2D WindowToViewPort(Point3D point) {
    Point2D tmpCoordinate = new Point2D(0, 0);

    tmpCoordinate.x =
        LinearInterpolation(curVP.LeftX, curVP.RightX, curWin.LeftX, curWin.RightX, point.x);
    if (tmpCoordinate.x < curVP.LeftX) {
      tmpCoordinate.x = curVP.LeftX;
    } else if (tmpCoordinate.x > curVP.RightX) {
      tmpCoordinate.x = curVP.RightX;
    }
    tmpCoordinate.y =
        LinearInterpolation(curVP.BotY, curVP.TopY, curWin.BotY, curWin.TopY, point.y);
    if (tmpCoordinate.y < curVP.BotY) {
      tmpCoordinate.y = curVP.BotY;
    } else if (tmpCoordinate.y > curVP.TopY) {
      tmpCoordinate.y = curVP.TopY;
    }

    return tmpCoordinate;
  }