/* * 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; }