【正文】
1998 年,胡事民等的在“‘ Approximate Degreereduction of Rectangular Bziersurfaces ’、‘ Approximate DegreeReduction of Bezier Curves’和‘ CAD 系統(tǒng)數(shù)據(jù)通訊中 5 若干幾何問(wèn)題的研究’”中通過(guò)擾動(dòng)控制頂點(diǎn)給出了 Bezier曲線曲面和廣義 Ball曲線的降階方法 ; 陳國(guó)棟 、 王國(guó)瑾等的“基于廣義逆矩陣的 Bezier 曲線降階逼近”利用廣義逆矩陣求得最小二乘解,實(shí)現(xiàn)了保端點(diǎn)插值的一次降多階逼近; 2001年,陳國(guó)棟和 王國(guó)瑾的“帶端點(diǎn)插值條件的 Bezier曲線降多階逼近”利用 Bezier曲線本身的幾何性質(zhì)結(jié)合廣義逆矩陣?yán)碚摻o出了一種新的降階逼近方法,結(jié)合Chebyshev多項(xiàng)式逼近理論,獲得滿足端點(diǎn)插值條件的近似最佳一致逼近該方法取得了較好的逼近效果。 B樣條曲 線造型方法的理論基礎(chǔ)是 B樣條 ,下面從 B樣條的定義和性質(zhì) ,以及各種 B樣條曲線的定義和程序?qū)崿F(xiàn)方法進(jìn)行闡述。 2 P l a ne curv es ba s ed o n VC Abstract: Curve plays a significant role in our life and is used by us in a great many of areas, hence the objective of this dissertation is researching curve. The dissertation based on the introduction of puter graphics calculation and theory, it guarantees the graduation of coordinate axis and method of drawing plane curve through utilizing the changeability of data range in Visual C++ development environment. In addition , it also based on graphics data of parameter of curve equation, geometric significance, the maximum and minimum and suitable value which are provided. Then, drawing the graphics of plane curve through these parameters and graphics data. This article introduce several categories of classical plane curves as well, these curves play an vital role in real life, they are important for a vast number of engineering achievements, The thesis will teach people how to draw plane curve, and the key information that we need to notice during the process of drawing plane curve, simultaneity, it will analyse particularlly which pivotal character the curve belongs to as well. Key words: Visual C++ , Plane curve, Computer graphics 3 1 緒論 本文的主要結(jié)構(gòu) 第一 部分 主要介紹本論文的研究背景和意義、論文主要研究的內(nèi)容、國(guó)內(nèi)外最新的研究成果 第二 部分 主要介紹計(jì)算機(jī)圖形學(xué)的發(fā)展史和 Visual C++ 第三 部分 詳細(xì)介紹幾種平面曲線 及其 實(shí)現(xiàn)過(guò)程 研究背景和意義 計(jì)算機(jī)輔助幾何設(shè)計(jì)始興于 20世紀(jì) 60年代 ,最初始于飛 機(jī)、 船舶的外形放樣工藝。 學(xué) 生 畢 業(yè) 設(shè) 計(jì)(論 文) 課題名稱(chēng) 基于 VC 的平面曲線繪制 姓 名 劉 釗 學(xué) 號(hào) 080640213 院 系 信息科學(xué)與工程 學(xué)院 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師 卜飛 宇 講師 2020 年 5 月 30 日※ ※ ※ ※ ※ ※ ※ ※ ※ ※※ ※ ※ ※ ※ ※ ※ ※ ※ ※ 2020 屆學(xué)生 畢業(yè)設(shè)計(jì) (論文 )材料 (四) I 湖南城市學(xué)院本科畢業(yè)設(shè)計(jì)(論文)誠(chéng)信聲明 本人鄭重聲明:所呈交的本科畢業(yè)設(shè)計(jì)(論文),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)(論文)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品成果。 關(guān)鍵詞 : Visual C++;平面曲線;計(jì)算機(jī)圖形學(xué)。 B樣條曲線的應(yīng)用范圍還在不斷的擴(kuò)大 ,同時(shí)也在不斷的改進(jìn) ,因此對(duì)它的研究具有一定的應(yīng)用價(jià)值和推廣價(jià)值。在國(guó)外, 最早由 Forrest于 1972年在“ Algorithms forrational Bezier curves” [9]中提出,但是誤差較大; 80年代 Farin在“ Algorithms forrational Bezier curves”中對(duì)有理 Bezier曲線、曲面的降階進(jìn)行了研究 [10], Pank的“ Degree Reduction of Bezier Curves”等改進(jìn)了 Forrest的方法 [11],得到了較好的效果;而 Moore和 Warren的“ LeastSquare Approximation to B233。 2 技術(shù)背景介紹 計(jì)算機(jī)圖形學(xué) (ComputerGraphics簡(jiǎn)稱(chēng) CG是一種使用數(shù)學(xué)算法將二維或三維圖形轉(zhuǎn)化為計(jì)算機(jī)顯示器的柵格式的科學(xué)。在整個(gè) 50年代,只有子管計(jì)算機(jī) ,用機(jī)器語(yǔ)言編程,主要應(yīng)用于科學(xué)計(jì)算,為這些計(jì)算機(jī)置的圖形設(shè)備僅具有輸出功能。或者數(shù)據(jù)加工代碼 的指令??梢暬兄鴱V闊的發(fā)展前途。這其中光照和表面屬性是最難摸擬的。計(jì)算機(jī)動(dòng)畫(huà)內(nèi)容豐富多彩,生成動(dòng) 8 畫(huà)的方法也多種多樣.比如基于特征的圖象變形,二維形狀混合 ,軸變形方法,三維自由形體變形等。目前國(guó)內(nèi)外不少人士正在研制人體模擬系統(tǒng),這使得在不久的將來(lái)把歷史上早已去世的著名影視明星重新搬上新的影視片成為可能。使氣象預(yù)報(bào)越來(lái)越準(zhǔn) 確;用于地質(zhì)堪探,使地質(zhì)學(xué)家可以發(fā)現(xiàn)新資源;用于醫(yī)學(xué)做 些精密的手術(shù)提高了人們的壽命等。 Visual C++ 特色和缺點(diǎn) 特色: Visual C++ Microsoft開(kāi)發(fā) , 它不僅是一個(gè) C++ 編譯器,而且是一個(gè)基于 Windows操作系統(tǒng) 操作系統(tǒng) 的可視化 集成開(kāi)發(fā)環(huán)境 ( integrated development environment, IDE)。 Visual C++ “ 語(yǔ)法高亮 ” ,自動(dòng)編譯功能以及高級(jí)除錯(cuò)功能而著稱(chēng)?,F(xiàn)在最新補(bǔ)丁為 SP6,推薦安裝,否則易出現(xiàn)編譯時(shí)假死狀態(tài)。 Bezier曲線的性質(zhì) ( 1)曲線的起點(diǎn)和終點(diǎn)同特征多邊形的起點(diǎn)和終點(diǎn)重合 ( 2) Bezier曲線在端點(diǎn)處的一階導(dǎo)數(shù)只同相近的兩個(gè)控制點(diǎn)有關(guān),其方向相同于兩點(diǎn)的連線方向。 int degree,i,j。 double delt。 coeff_y[3]=30。 for(i=0。 寫(xiě)成坐標(biāo)分量的形式如下 : x(u)﹦ (u3/6﹢ u2/2﹣ u/2﹢ 1/6)x0﹢ (u3/2 ﹣ u2﹢ 2/3)x1﹢ (u3/2﹢ u2/2﹢ u/2﹢ 13 1/6)x2﹢ u3x3/6 y(u)﹦ (u3/6﹢ u2/2﹣ u/2﹢ 1/6)y0﹢ (u3/2 ﹣ u2﹢ 2/3)y1﹢ (u3/2﹢ u2/2﹢ u/2﹢1/6)y2﹢ u3y3/6 z(u)﹦ (u3/6﹢ u2/2﹣ u/2﹢ 1/6)z0﹢ (u3/2 ﹣ u2﹢ 2/3)z1﹢ (u3/2﹢ u2/2﹢ u/2﹢1/6)z2﹢ u3z3/6 當(dāng) u從 0到 1變化時(shí),曲線將在 P0到 P3之間順序地連續(xù)形成。 部分源代碼 : void CMyView::OnDraw3bspline() { RedrawWindow()。 n=9。 a3=(x[0]3*x[1]+3*x[2]x[3])/6。i++){ t=i*dt。 // TODO: Add your mand handler code here } 程序運(yùn)行效果圖 三次貝塞爾去效果圖如圖 所示: 圖 B樣條曲線 5 正葉線 正葉線 正葉線是一種類(lèi)似植物葉子形狀的曲線,數(shù)學(xué)表達(dá)式為: R=asin(ntheta) X=rcos(theta) (a0,n=2,3,4,5,.........) Y=rsin(theta) 可以通過(guò)修改上述數(shù)學(xué)表達(dá)式,繪制由二重、三重的正葉線組成的美麗圖形。 a=p=。 if(flag==0) {pdcMoveTo(gx,gy)。 寒假在家的時(shí)候,我時(shí)常去網(wǎng)上查找我與我題目相關(guān)的資料,還認(rèn)真的帶了本筆記本,記錄了許多重要的信息,還對(duì)很多信息進(jìn)行的比較,選擇最有利我論文的資料。 19 參考文獻(xiàn) [1] Bezier P of an existing system in motorindustry:theUNISURFsystem [J].ProcRoySocofLondon,1971,A321:207218. [2] Coons S for puter aided design of spacfrms [R].Cambridge Mass:MIT Project MACTR255,1964: 5565. [3] Coons S A Sufaces for puter aided design of space forms,MIT Priject: 3660. [4] 杜雙興,殷學(xué)文,李琪華。 6a*CZ7H$dq8Kqqf HVZFedswSyXTyamp。 qYpEh5pDx2zVkum amp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkum amp。 gTXRm 6X4NGpP$vSTTamp。qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkum amp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 qYpEh5pDx2zVkum amp。 gTXRm 6X4NGpP$vSTTamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkum amp。 qYpEh5pDx2zVkum amp。 MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK! zn%Mz849Gx^Gj qv^$UE9wEwZQcUE%amp。 MuWFA5uxY7JnD6YWRrWwc^vR9CpbK! zn% Mz849Gx^Gj qv^$UE9wEwZQcUE%amp。 MuWFA5ux^Gj qv^$UE9wEwZQcUE%amp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8!z89Am YWv*3t nGK8! z89Am YWpazadNuKNamp。ksv*3t nGK8!z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWv*3tnGK8! z89Am YWpazadNuKNamp。 gTXRm 6X4NGpP$vSTTamp。 gTXRm 6X4NGpP$vSTTamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkumamp。 qYpEh5pDx2zVkum amp。MuWFA5ux^Gj qv^$UE9wEwZQcUE%amp。 MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK! zn%Mz849Gx^Gj qv^$U*3t nGK8! z89Am YWpazadNuKNamp。MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK! zn%Mz849Gx^Gj qv^$U*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 ksv*3tnGK8! z89Am YWv*3t nGK8! z89Am YWpazadNuKNamp。ksv*3t nGK8!z89A