Java系列概論JavaSystemConcepts.ppt
範例68 續1 44 public Ex15_4() { 45 super(Ex15_4); 46 setSize(350, 350); 47 vector_calculator vc = new vector_calculator(); 48 vc.setPt(xb, yb); 49 vc.vectSubtract(xa, ya); 50 xc = vc.getPtX(); 51 yc = vc.getPtY(); 52 xN1 = -yc; yN1 = xc; 53 xN2 = yc; yN2 = -xc; 54 view_To_screen_coordinates vTs = new view_To_screen_coordinates(); 55 x0s = vTs.viewX_To_screenX(x0); 56 y0s = vTs.viewY_To_screenY(y0); 57 xcs = vTs.viewX_To_screenX(xc); 58 ycs = vTs.viewY_To_screenY(yc); 59 xN1s = vTs.viewX_To_screenX(xN1); 60 yN1s = vTs.viewY_To_screenY(yN1); 61 xN2s = vTs.viewX_To_screenX(xN2); 62 yN2s = vTs.viewY_To_screenY(yN2); 範例68 續2 63 enableEvents(AWTEvent.WINDOW_EVENT_MASK); 64 setVisible(true); 65 new Thread(this).start(); 66 } 67 public void processWindowEvent(WindowEvent e) { 68 if(e.getID() == WindowEvent.WINDOW_CLOSING) { 69 System.exit(0); 70 } 71 } 72 public void run() { 73 repaint(); 74 } 75 public void paint(Graphics g) { 76 g.drawLine(x0s, y0s, xcs, ycs); 77 g.drawLine(x0s, y0s, xN1s, yN1s); 78 g.drawLine(x0s, y0s, xN2s, yN2s); 79 } 80 } 15-5 多邊形(Polygon) 三個(含)以上的點所包含之範圍均可謂 “多邊形(Polygon)”。在2D、3D繪圖上,多邊形將是不可或缺的繪圖元件,為圖案畫面的基本單元(Basic Unit),每一幅圖案都是以不同的多個多邊形所組成,掌握住多邊形的特性,亦即掌握住圖案的特性,例如旋轉(Rotate)、縮放(Zoom)、隱藏(Hide) 等。 圖15-5 範例69:設計檔案Ex15_5.java,其功能為解釋使用包裹math2D、與繪出多邊形之應用。 包裹檔案1 view_To_screen_coordinates.java:(如範例67,將視景座標改換成螢幕座標,本例目錄為C:\BookJavaVol_3\Program\ch15\15_5\math2D) 檔案Ex15_5.java:(繪出多邊形abcd) 11 import math2D.*; 12 import java.awt.*; 13 import java.awt.event.*; 14 import java.awt.Graphics; 15 public class Ex15_5 extends Frame implements Runnable { 16 int xa=20, ya=40, xb=30, yb=10, xc=100, yc=20, xd=80, yd=60; 17 int xas, yas, xbs, ybs, xcs, ycs, xds, yds; 18 public static void main(String args[]) { 19 Ex15_5 workStart=new Ex15_5(); 20 } 範例69 續1 21 public Ex15_5() { 22 super(Ex15_5); 23 setSize(350, 350); 24 view_To_screen_coordinates v
原创力文档

文档评论(0)