- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
描绘(目前角)方向的旋转
第八章 學習重點 我們導入座標以便將點的位置顯示出來,各點的位置關係如在直線上,則能以1次方程式呈現,各點如位於圓、橢圓、雙曲線、拋物線等曲線上,則能以2次方程式顯示出來。如此一來2維圖形就能以某種方程式(y=f(x))表示出來,因此以運算的方式就能解開圖形問題的解。這種學科稱為解析幾何學,其創始者為迪斯卡提(Rene Descartes) 若將圖形以方程式表示出來,並以電腦加以解析的話,則以轉換座標方式進行的圖形平行移動、旋轉、放大與縮小等作業就能輕易的做到。此外, 3維空間座標也因而能投影至2維平面。 但如要以解析方式將自然界存在的物體,比如複雜的海岸線表示出來還很困難。目前碎形幾何(Fractals)可以表示這種複雜的圖形。這是以遞迴方式將圖形表示出來的方法,又稱為遞迴繪圖(recursive graphics)。 8-0 Java的繪圖處理 1 座標Java的畫面座標如右圖所示,y軸座標是朝畫面的下方前進。 由於這與數學座標的標示方式不同,因而採用圖8.2所示的座標系統。邏輯座標中的y軸座標朝畫面的上方前進,Java將此邏輯座標上的(WX1,WY1)-(WX2,WY2)區域(視窗)對應至畫面上的(VX1,VY1)-(VX2,VY2)區域(景象埠:view port)。 1 座標 將視窗上的座標(x,y)描繪成景象埠的座標時,可用下列的計算式計算: 視窗的設定 window(x1,y1,x2,y2) 將邏輯座標上的(x1,y1)-(x2,y2)範圍設定成視窗。 景象埠的設定 view(x1,y1,x2,y2) 將景象座標上的(x1,y1)-(x2,y2)範圍設定成景象埠。 2 Turtle Graphics Library 下面為畫直線的2個方法: (1) 設起點與終點 (2) 設長度與方向 Java製作了move、turn等2個method,使第2個方法得以在Java上使用。這個方法也適合用來製作Turtle Graphics。 用第2個方法來畫直線時,先要以描繪的目前位置(LPX,LPY)與目前角Angle為基點。 8-1 move與turn 例題56 多角形描繪正三角形~正九角形 只要如圖將move(1);turn(120); 執行3次,就可畫出正三角形。 畫正n角形時的旋轉角度為360/n[°]。 練習問題56 螺旋圖案 反覆執行move與turn,並同時慢慢的縮減直線的長度 將turn的角度設為a,逐漸縮減的長度設為step,然後反覆執行move與turn,直至直線的長度等於10。 改變step與a的值,就能畫出不同的圖形。 8-2 2維座標轉換 某點(x0, y0)經過各種轉換後,其各點(x, y)可分別以下列方式求出。 對稱移動對著與y軸平行的直線x=a進行對稱移動,則 相反的,若對著與x軸平行的直線進行對稱移動,則 例題57 對稱移動 mirror的flag若為1,則對著x=m進行對稱移動,若flag為0,則對著y=m進行對稱移動。 練習問題57 旋轉移動 8-3 幾何繪圖 例題58 對稱圖案以三角形的重心為中心,再將基本圖形旋轉,反覆製作同樣的圖案 美麗的幾何圖案很乍見之下極為複雜,但這些圖案實際上是由基本的圖形(直線、多角形等)反覆製作而成的,具有協調性與規律性。 以正三角形的重心為中心,將基本圖形旋轉2次,每次均旋轉120°。由此作業產生的圖案會被收斂至正三角形之內,而形成1個新的圖形。皆下來將這個三角形圖形的倒立圖橫向描繪,如此反覆操作。 8-4 3維座標轉換 圖8.18中有1個直方體,我們即使以與z軸平行的平行光線投射至直方體的x-y平面上,也只會出現如圖8.19之(a)所示的長方形,看起來沒有立體的感覺。若將y軸旋轉β°,然後以平行光線照射至x-y平面上,則會出現如圖8.19的(b)所示的圖形,若將x軸旋轉α°,然後以平行光線照射至x-y平面上,則會出現如圖8.19的(c)所示的看起來有立體感覺的圖形。 將平行光線投射至x-y平面上的投影作業稱為軸測投影,執行下列2個基本作業後,就可製圖了。 (1) 將立體物以y軸、x軸、z軸為軸心旋轉 旋轉角的正方向設為面對各軸正方向的順時鐘方向,y軸、x軸、z軸旋轉的角度則分別設為α、β、γ。旋轉的順序若設為y軸→x軸→z軸,則點(x,y,z)會轉換成: 設y軸的旋轉為β 設x軸的旋轉為α 設z軸的旋轉為γ (2) 將在以上的旋轉中所得到的座標平行的投射在z=0平面(x-y平面)上。 這並不難做到,因為將上面的結果(x3,y3,z3)中的
文档评论(0)