freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于gdi2d圖形軟件開發(fā)方法初探-2d幾何畫板畢業(yè)論文(參考版)

2025-06-30 18:26本頁面
  

【正文】 也就是說,如果你的對象持有其他對象的引用,或者其他對象引用的集合,那么所有這些對象都將被 Ser。 Deep Serialization Deep Serialization 比 Shallow Serialization 更加徹底,因為它是將存儲在對象 私有變量里的實際值拷貝到字節(jié)流里。 Shallow Serialization 所謂 Shallow Serialization 是將對象的可讀寫( readwrite)屬性的值轉(zhuǎn)換成字節(jié)流,而對象內(nèi)部的數(shù)據(jù)(沒有通過 readwrite 屬性暴露出來的數(shù)據(jù))則不被轉(zhuǎn)換。 paste 的。 一般說來,在兩種情況下非常需要 Serialization: 1)當(dāng)我們希望能夠?qū)ο螽?dāng)前的狀態(tài)完整地保存到存儲介質(zhì)中,以便我們以后能夠精確地還原對象時; 2)當(dāng)我們希望將對象從一個應(yīng)用程序空間( Application domain)傳遞到另一個應(yīng)用程序空間時。在此過程中,先將對象的公共字段和私有字段以及類的名稱(包括類所在的程序集)轉(zhuǎn)換為字節(jié)流,然后再把字節(jié)流寫入數(shù)據(jù)流。 Serialization 的核心概念是將一個對象的所有數(shù)據(jù)看作一個獨立的單元。它是一個將對象中的數(shù)據(jù)轉(zhuǎn)換成一個單一元素(通常是 Stream)的過程。如 y=fpart(x)*cos(x)2。 函數(shù)表達(dá)式的錄入窗口如圖 所示: 圖 函數(shù)表達(dá)式的錄入窗口 設(shè)定相關(guān)參數(shù)后, 按確定可繪制出相應(yīng)的函數(shù)圖形,上面的輸入可生成如圖 所示的函數(shù)圖形: 圖 y= x*sin(x)函數(shù)圖形 6 2D 函數(shù)圖形繪制模塊設(shè)計 47 y=log10(x)的圖形如圖 所示: 圖 y=log10(x)的圖形 在輸入表達(dá)式時采用函數(shù)表達(dá)式方式輸入,輸入 10log(x),即可繪制出 y=log10(x)的圖形。在繪制函數(shù)表達(dá)式圖形的過程中,主要用到的方法是 。語法分析方法是對表達(dá)式有效性的檢驗, Syntax( String exp )是實現(xiàn)語法分析的方法,其實現(xiàn)代碼如圖 所示: 6 2D 函數(shù)圖形繪制模塊設(shè)計 45 圖 語法分析方法的響應(yīng)代碼 公式分析器方法聲明如表 所示: 表 公式編輯器方法聲明 方法名 參數(shù) 返回值 功能 matchParant String bool 表達(dá)式有效性檢查(括號的匹配) isAlpha char bool 檢查當(dāng)前字符是否是英文字母 isVariable String bool 表達(dá)式有效性檢查(變量) isConstant char bool 檢查當(dāng)前字符是否是數(shù)字 isConstant String bool 檢查當(dāng)前字符串是否是數(shù)字串 isAllNumbers String bool 檢查當(dāng)前表達(dá)式是否只由數(shù)字組成 isOperator String bool 檢查當(dāng)前字符串是否是有效的函數(shù)表達(dá)式 isAllowedSym char bool 檢查當(dāng)前字符是否是有效符號 Syntax String void 檢查字符串表達(dá)式的語法有效性 putMult String String 對乘法操作符的處理 parseE String String 對科學(xué)記數(shù)的處理 match String , int int 對括號的處理 getOp String , int String 從表達(dá)式中提取一個操作符 parse String Node 分析表達(dá)式,并創(chuàng)建一顆分析樹 toValue Node double 解析分析樹,并返回相應(yīng)的值 46 繪制圖形 由公式分析器對表達(dá)式分析,生成一個 n 階矩陣用以保存分析的結(jié)果值: x0 , y0 x1 , y1 : : xn1 , y n1 對應(yīng)于相應(yīng)的結(jié)果矩 陣,結(jié)合給出的 x的區(qū)間計算出相應(yīng)的 y區(qū)間,并由刻度分值來生成網(wǎng)格線。其實現(xiàn)代碼片段由圖 : 圖 公式分析器實現(xiàn)代碼 44 在 2D 幾何畫板中,支持的操作符如下所示: +, , *, /, ^, % 支持的函數(shù)表達(dá)式如下所示: sqrt, sin, cos, tan, atan, acos, asin, acotan, exp, ln, 10log, fac, sinh, cosh,tanh, abs, ceil, floor, sfac, round, fpart 對于函數(shù)表達(dá)式中的符號,采用哈希表來存儲。 在實現(xiàn)二維函數(shù)圖形的繪制時,函數(shù)表達(dá)式通過函數(shù)公式分析器,分解出相應(yīng)的信息,然后由設(shè)定的區(qū)間確定繪制區(qū)間,并由確定的繪制點數(shù),計算出相應(yīng)的關(guān)鍵點,由這些關(guān)鍵點來決定相應(yīng)函數(shù)的圖形,繪制出相應(yīng)的圖形。 實現(xiàn)原理 繪制二維函數(shù)圖形,首先給定二維函數(shù)的表達(dá)式,然后設(shè)定相應(yīng)的區(qū)間,最后由 2D幾何畫板根據(jù)相應(yīng)的信息繪制出相應(yīng)的 圖形。 當(dāng)操作類型為選取時,鼠標(biāo)按下時的響應(yīng)代碼如圖 所示: 5 圖形繪制模塊設(shè)計 41 圖 鼠標(biāo) 按下時的響應(yīng)代碼 鼠標(biāo)拖動時的響應(yīng)代碼如圖 所示: 圖 鼠標(biāo)拖動時的響應(yīng)代碼 42 6 2D 函數(shù)圖形繪制模塊設(shè)計 43 6 2D 函數(shù)圖形繪制模塊設(shè)計 基于《 GDI+》 2D 圖形軟件開發(fā)方法初探 — 2D幾何畫板的一個重要功能是能夠繪制直角坐標(biāo)系函數(shù)的圖形,并可以分區(qū)間的查看函數(shù)的特性。在繪制中,曲線由四個關(guān)鍵點和一個張力確定。封閉起始點和結(jié)束點為同一個點的曲線,除封閉曲線之外的曲線稱為開放曲線。在一條曲線中,兩個點之間基本上都不存在直線。曲線的張力提供了它的平滑度和移動角。 在文字標(biāo)記的繪制過程中,當(dāng)單擊鼠標(biāo)左鍵時,在確定文字標(biāo)記左上角坐標(biāo)時,也彈出一個文字輸入框,在此文字輸入框中輸入相關(guān)的文字標(biāo)記,按確定后完成文字標(biāo)記的繪制。其選取時的響應(yīng) 方法如圖 所示: 圖 操作類型為選取時的響應(yīng)方法 移動多邊形時的響應(yīng)方法如圖 所示: 38 圖 移動多邊形時的響應(yīng)方法 文字 文字標(biāo)記是對相應(yīng)對象進(jìn)行標(biāo)記,對相關(guān)信息進(jìn)行標(biāo)注。 繪制任意多邊形時,由鼠標(biāo)左鍵按下的次數(shù)來確定多邊形的頂點數(shù),并在移動鼠標(biāo)時動態(tài)的繪制出相應(yīng)的多邊形形狀,當(dāng)雙擊鼠標(biāo)左鍵時,確定多邊形的頂點數(shù),完成多邊形的繪制。 三角形的外接圓圓心,即外心,是三角形三邊的垂直平分線的交點,它到三個頂點的距離相等 。 直角三角形的繪制方法如圖 所示: 圖 直角三角形的繪制方 法 繪制直角三角形時按下鼠標(biāo)左鍵時響應(yīng)代碼如圖 所示: 圖 鼠標(biāo)左鍵活動響應(yīng)代碼 按著鼠標(biāo)左鍵并拖動鼠標(biāo)時的響應(yīng)代碼如圖 所示: 圖 拖動鼠標(biāo)響應(yīng)代碼 帶外接圓的三角形 過三角形三個頂點確定的圓稱為三角形的外接圓,任意三角形都有外接圓。 在繪制直角三角形時,按下鼠標(biāo)左鍵時確定第一個關(guān)鍵點,然后按著鼠標(biāo)左鍵并拖動鼠標(biāo),可以動態(tài)觀察在直角三角形的形狀,釋放鼠標(biāo)時確定第二關(guān)鍵點,完成直角三 34 角形的繪制。直角三角形具有三角形的所有特性,并具有一個角是直角的特性。 等邊三角形的繪制方法如圖 所示: 5 圖形繪制模塊設(shè)計 33 圖 等邊三角形繪制方法 由上面的代碼可知,等邊三角形的第三關(guān)鍵點是在繪制時動態(tài)確定的,即如圖 所示: 圖 等邊三角形關(guān)鍵點的繪制方法 繪制等邊三角形時按下鼠標(biāo)左鍵時的響應(yīng)代碼如圖 : 圖 等邊三角形按下鼠標(biāo)左鍵的響應(yīng)代碼 按著鼠標(biāo)左鍵并拖動鼠標(biāo)時的響應(yīng)代碼如圖 所示: 圖 移動鼠標(biāo)的實現(xiàn)方法 直角三角形 直角三角形是特殊的三角形,是三角形的一個特例。 在改變等邊三角形的屬性時,其等邊的性質(zhì)不會變化,保持三邊相等。繪制靠邊三角形時,按下鼠標(biāo)左鍵時確定第一個關(guān)鍵點,然后按著鼠標(biāo)左鍵并拖動鼠標(biāo),可以動態(tài)觀察到靠邊三角形的形狀,釋放鼠標(biāo)時取得當(dāng)前鼠標(biāo)坐標(biāo),設(shè)置第二個關(guān)鍵點,完成靠邊三角形的繪制。 在繪制等腰三角形時,按下鼠標(biāo)左鍵時確定第一個關(guān)鍵點,然后按著鼠標(biāo)左鍵并拖動鼠標(biāo),將動態(tài)的繪制出等腰三角形,當(dāng)釋放鼠標(biāo)左鍵時,確定第二個關(guān)鍵點,第三個關(guān)鍵點是根據(jù)另外二個關(guān)鍵點來動態(tài)確定的。等腰三角形類從三角形類派生,在繪制時利用三角函數(shù)確定二邊相等,即二個底角相等來實現(xiàn)等腰三角形。完成繪制后,也可以改變關(guān)鍵點的屬性,可以選中三角形對其進(jìn)行移動操作。繪制中是由鼠標(biāo)左鍵按下的來確定三角形的關(guān)鍵點的,因為三角形有三個關(guān)鍵點,所以要判斷鼠標(biāo)按下的次 數(shù),當(dāng)鼠標(biāo)左鍵第一次按下時,記錄鼠標(biāo)坐標(biāo),并設(shè)置第一個關(guān)鍵點,第二次按下鼠標(biāo)左鍵時,記錄鼠標(biāo)坐標(biāo),設(shè)置第二個關(guān)鍵點,第三次按下鼠標(biāo)左鍵時,記錄鼠標(biāo)坐標(biāo),設(shè)置第三個關(guān)鍵點,當(dāng)三個關(guān)鍵點都確定時,繪制出相應(yīng)的三角形。當(dāng)繪制類型為圓時,按下鼠標(biāo)左鍵時取 得圓心坐標(biāo),按著鼠標(biāo)左鍵并拖動鼠標(biāo)時,動態(tài)計算出圓的半徑,釋放鼠標(biāo)時完成圓的繪制。菱形類從矩形類派生,與矩形類具有相同的屬性,菱形類具有六個關(guān)鍵點,可以改變菱形的大小,也可以改變菱形相應(yīng)角度的大小。正文形類從矩形類派生,與矩形類有相同的屬性,具有四個關(guān)鍵點。 當(dāng)選中矩形時,四個關(guān)鍵點將會高亮顯示,可以改變關(guān)鍵點的屬性,也可以選中矩形改變矩形的位置。 5 圖形繪制模塊設(shè)計 27 線段的繪制方法如圖 所示: 圖 線段繪制方法 移動線段的方法如圖 所示: 圖 移動線段方法 矩形 矩形有四個關(guān)鍵 點,在繪制時只確定左上方和右下方二個關(guān)鍵點即可,左下方和右上方二個關(guān)鍵可由左上方和右下方二個關(guān)鍵點確定。 當(dāng)選中線段時,其二個關(guān)鍵點會高亮顯示。 點的繪制方法如圖 所示: 圖 點繪制方法 線段 線段是基本的對象之一,它由關(guān)鍵點確定?;悘膐bject 對象派生,其實現(xiàn)如圖 所示: 圖 基類從 object 對象派生實現(xiàn) 基類中相應(yīng)方法的說明如表 所示: 26 表 基類方法說明 方法名 參數(shù) 返回值 功能 HotPoint Graphics,Point void 繪制關(guān)鍵點 AtPoint Point, Point bool 判斷當(dāng)前鼠標(biāo)坐標(biāo)是否落在關(guān)鍵點上 AtLine Point,Point, Point bool 判斷當(dāng)前鼠標(biāo)坐標(biāo)是否落在線上 Pain Graphics virtual void 由關(guān)鍵點繪制出相應(yīng)的圖形 SelectAt Point virtual int 判斷當(dāng)前選中關(guān)鍵屬性 Move Graphics,int,Poin virtual voi 移動對象時發(fā)生的動作 NewPoint Point virtual in 新建對象時發(fā)生的動作 AddPoint Point virtual int 新增一個關(guān)鍵點 HotPoints Graphics virtual void 選中對象時繪制出其關(guān)鍵點 drawFocus1 Graphics virtual void 當(dāng)焦點落在關(guān)鍵點時響應(yīng)的動作 drawFocus0 Graphics virtual void 當(dāng)焦點離開關(guān)鍵點時響應(yīng)的動作 點 點是基本的對象之一,它由一個坐標(biāo)確定。 基于面向?qū)ο蟮脑O(shè)計思想,所有圖元對 象都從一個基類派生,基類定義一些共有的屬性和方法,從它派生的類重寫基類的相應(yīng)方法來實現(xiàn)各自特有的動作。繪圖區(qū)是圖形的繪制區(qū)域,可以繪制圖形并對圖形對象進(jìn)行控制、修改、變更等操作。 系統(tǒng)屬性面板如圖 所示: 圖 系統(tǒng)屬性面板 系統(tǒng)狀態(tài)欄是系統(tǒng)相關(guān)狀態(tài)的顯示區(qū)域,如當(dāng)前鼠標(biāo)的坐標(biāo)位置,當(dāng)前文檔的路徑等信息。 常用工具欄如圖 所示: 圖 常用工具欄 系統(tǒng)屬性控制區(qū)是對相應(yīng)對象的相關(guān)屬性進(jìn)行控制,如圓可以設(shè)置半徑,曲線可以設(shè)置張力,并實時的繪制出變化后的圖形。在設(shè)計中采用了界面透明技術(shù),使得登錄界面更具視角沖擊。 ( 3) 直觀?!痘?GDI+》 2D圖形軟件開發(fā)方法初探 —— 2D 幾何畫板系統(tǒng)的人機界面設(shè)計一般遵循了以下的原則: ( 1) 簡潔。在界面設(shè)計中,應(yīng)遵循美觀、舒適、操作方便、結(jié)構(gòu)合理等要求。 桌面圖標(biāo)設(shè)計效果如圖 所示: 圖 桌面圖標(biāo) 20 ( 2) 圖標(biāo)規(guī)格 即 工具欄顯示的圖標(biāo): 20 * 20,單位像素。 ( 3)硬件要求: CPU: Pentium Ⅲ (及以上)、內(nèi)存: 256MB(建議 512MB 或以上)。 系統(tǒng)總體結(jié)構(gòu)和部署示意圖如圖 所示: 圖 系統(tǒng)總體結(jié)構(gòu)和部署示意圖 線段、射線、直線、矩形、 圓、 點 正方形、 菱 形、 三角形、多邊形、 曲 線 角度、長度、距離、 直角坐標(biāo)系里函數(shù)表達(dá)式的圖形生成 基本圖形繪制模塊 自定義圖形繪制模塊 測量模塊 2D函數(shù)圖形繪制
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1