參數(shù)曲線的快速生成算法.doc
約49頁DOC格式手機打開展開
參數(shù)曲線的快速生成算法,50頁4.3萬余字 摘 要本畢業(yè)設(shè)計主要研究參數(shù)曲線的直接快速生成,要直接生成參數(shù)曲線就需對參數(shù)方程{x=f(t),y=g(t),(0 t 1)}的參數(shù)t每次增加一個步長,然后計算該點的x和y坐標(biāo)值并繪制該點。要逐點地生成參數(shù)曲線,就要求參數(shù)t每次增加的步長要使曲線前進(jìn)的幅度不得超過一個象素長度,否則有可能跨過一個中間...
內(nèi)容介紹
此文檔由會員 lzj781219 發(fā)布
50頁4.3萬余字
摘 要
本畢業(yè)設(shè)計主要研究參數(shù)曲線的直接快速生成,要直接生成參數(shù)曲線就需對參數(shù)方程{x=f(t),y=g(t),(0 t 1)}的參數(shù)t每次增加一個步長,然后計算該點的x和y坐標(biāo)值并繪制該點。要逐點地生成參數(shù)曲線,就要求參數(shù)t每次增加的步長要使曲線前進(jìn)的幅度不得超過一個象素長度,否則有可能跨過一個中間象素而產(chǎn)生斷點。
為了提高曲線生成算法的速度,本畢業(yè)設(shè)計針對如何選擇最佳的步長進(jìn)行比較討論,以使曲線前進(jìn)的幅度在不超過一個象素的前提下,選擇盡量大的步長。為了進(jìn)一步提高算法的速度,在前面討論的最佳步長的基礎(chǔ)上又采用了雙步逐點曲線生成算法,即將上述得到的步長增加一倍,以使算法的循環(huán)次數(shù)減少一半。由于步長增加一倍,這樣當(dāng)曲線前進(jìn)一步時,其幅度有時會大于一個象素的長度,這時我們通過插值的方法來確定跨過的那個中間象素。
通過上述討論的算法能夠比較快速的逐點生成曲線,為了實現(xiàn)上述算法,本畢業(yè)設(shè)計使用Visual C++6.0為工具并以三次Bezier曲線、普通參數(shù)曲線{x=f(t)=X3t3+X2t2+X1t+X0, y=g(t)=Y3t3+Y2t2+Y1t+Y0},以及導(dǎo)師所給的一個特殊的曲線方程為例編程實現(xiàn)上述算法。
關(guān)鍵詞:參數(shù)曲線,逐點,雙步,Visual C++6. 0
Abstract
This graduation project main reseach the direct born of the parameter curve {x=f(t),y=g(t),0<= t <=1,}quickly.To direct born of the parameter curve it need to increase the parameter ‘t’ a step length each time,then caculate this point’s coordinates value of x and y and draw this point.For drawing the parameter curve by point to point it orde to the parameter t’s step length of increased make the progress range of the curve can not large than the length of one pels, otherwise the curve may step over one middle pels and skip one point that it should be on the curve.
For speeding up the arithmetic of the drawing of the curve, this graduation project have discussed the choice of the best step length, so as to choose the biggst step length on the premise that the progress range is not large than one ples. To speeding up the arithmetic more, before the base of discussion about the best step length just now,we take the arithmetic of double step form of the curve by point to point ,and it double the step length that it be caculated just now to lessen the time of the circulation in the arithmetic to the half.Because it have doubled the step length,the progrss rang may large than the length of one pels when the curve go ahead one step.Then we must take the method of difference to make sure the middle pels that be steped over.
It can draw the curve quickly that used the arithmetic we have discussed.To achive the arithmetic,I have used the Visual C++6.0 and take example for the three time Bezier parameter curve ,a common parameter curve{x=f(t)=X3t3+X2t2+X1t+X0, y=g(t)=Y3t3+Y2t2+Y1t+Y0, 0 t 1} and a curve that my teacher gived to me to complete the program.
Keywords:curve,point to point,double step,Visual C++6. 0
Author:
July 2003
目 錄
摘 要………………………………………………………………………….…1
第一章 與本畢業(yè)設(shè)計相關(guān)的Visual C++內(nèi)容介紹
1.1 Visual C++6.0簡介…………………………………………………………………4
1.2 與本畢業(yè)設(shè)計有關(guān)的Visual C++內(nèi)容介紹……………………………………….5
第二章 計算機圖形學(xué)中常用的算法
2.1 常用直線的繪制算法………………………………………………………………6
2.2 常用的參數(shù)曲線的繪制算法……………………………………………………...7
第三章 參數(shù)曲線的快速生成算法及實現(xiàn)
3.1 普通參數(shù)曲線生成算法的介紹…………………………………………………..11
3.2 最佳的步長值…………………………………………………………………..…13
3.3 雙步逐點曲線生成算法…………………………………………………………..14
3.4 以三次Bezier曲線為例編程實現(xiàn)該算法………………………………………..16
3.5 普通參數(shù)曲線方程的編程實現(xiàn)…………………………………………………..28
3.6 使用雙步逐點曲線生成算法需要注意的一個問題……………………………..31
第四章 導(dǎo)師所給的參數(shù)方程的研究
4.1 通過在屏幕上鼠標(biāo)點擊若干點然后繪制曲線………………………………….32
4.2 通過在對話框中輸入控制點的坐標(biāo)繪制曲線………………………………….36
第五章 結(jié)論………………………………………………………………………………38
第六章 個人小結(jié)……………………………………………………………...39
第七章 附錄
英文資料翻譯……………………………………………………………………...40
參考文獻(xiàn)…………………………………………………………………………...48
參 考 文 獻(xiàn)
[1]劉勇奎 編著 計算機圖形學(xué)的基本算法
科學(xué)出版社
[2]黃有度 朱功勤編著 參數(shù)多項式曲線的快速逐點生成算法
計算機學(xué)報 2000年第四期
[3]孫家廣 等編著 計算機圖形學(xué)(第三版)
清華大學(xué)出版社
[4]同志工作室 編著 Visual C++6.0開發(fā)技巧與實例教程
人民郵電出版社
摘 要
本畢業(yè)設(shè)計主要研究參數(shù)曲線的直接快速生成,要直接生成參數(shù)曲線就需對參數(shù)方程{x=f(t),y=g(t),(0 t 1)}的參數(shù)t每次增加一個步長,然后計算該點的x和y坐標(biāo)值并繪制該點。要逐點地生成參數(shù)曲線,就要求參數(shù)t每次增加的步長要使曲線前進(jìn)的幅度不得超過一個象素長度,否則有可能跨過一個中間象素而產(chǎn)生斷點。
為了提高曲線生成算法的速度,本畢業(yè)設(shè)計針對如何選擇最佳的步長進(jìn)行比較討論,以使曲線前進(jìn)的幅度在不超過一個象素的前提下,選擇盡量大的步長。為了進(jìn)一步提高算法的速度,在前面討論的最佳步長的基礎(chǔ)上又采用了雙步逐點曲線生成算法,即將上述得到的步長增加一倍,以使算法的循環(huán)次數(shù)減少一半。由于步長增加一倍,這樣當(dāng)曲線前進(jìn)一步時,其幅度有時會大于一個象素的長度,這時我們通過插值的方法來確定跨過的那個中間象素。
通過上述討論的算法能夠比較快速的逐點生成曲線,為了實現(xiàn)上述算法,本畢業(yè)設(shè)計使用Visual C++6.0為工具并以三次Bezier曲線、普通參數(shù)曲線{x=f(t)=X3t3+X2t2+X1t+X0, y=g(t)=Y3t3+Y2t2+Y1t+Y0},以及導(dǎo)師所給的一個特殊的曲線方程為例編程實現(xiàn)上述算法。
關(guān)鍵詞:參數(shù)曲線,逐點,雙步,Visual C++6. 0
Abstract
This graduation project main reseach the direct born of the parameter curve {x=f(t),y=g(t),0<= t <=1,}quickly.To direct born of the parameter curve it need to increase the parameter ‘t’ a step length each time,then caculate this point’s coordinates value of x and y and draw this point.For drawing the parameter curve by point to point it orde to the parameter t’s step length of increased make the progress range of the curve can not large than the length of one pels, otherwise the curve may step over one middle pels and skip one point that it should be on the curve.
For speeding up the arithmetic of the drawing of the curve, this graduation project have discussed the choice of the best step length, so as to choose the biggst step length on the premise that the progress range is not large than one ples. To speeding up the arithmetic more, before the base of discussion about the best step length just now,we take the arithmetic of double step form of the curve by point to point ,and it double the step length that it be caculated just now to lessen the time of the circulation in the arithmetic to the half.Because it have doubled the step length,the progrss rang may large than the length of one pels when the curve go ahead one step.Then we must take the method of difference to make sure the middle pels that be steped over.
It can draw the curve quickly that used the arithmetic we have discussed.To achive the arithmetic,I have used the Visual C++6.0 and take example for the three time Bezier parameter curve ,a common parameter curve{x=f(t)=X3t3+X2t2+X1t+X0, y=g(t)=Y3t3+Y2t2+Y1t+Y0, 0 t 1} and a curve that my teacher gived to me to complete the program.
Keywords:curve,point to point,double step,Visual C++6. 0
Author:
July 2003
目 錄
摘 要………………………………………………………………………….…1
第一章 與本畢業(yè)設(shè)計相關(guān)的Visual C++內(nèi)容介紹
1.1 Visual C++6.0簡介…………………………………………………………………4
1.2 與本畢業(yè)設(shè)計有關(guān)的Visual C++內(nèi)容介紹……………………………………….5
第二章 計算機圖形學(xué)中常用的算法
2.1 常用直線的繪制算法………………………………………………………………6
2.2 常用的參數(shù)曲線的繪制算法……………………………………………………...7
第三章 參數(shù)曲線的快速生成算法及實現(xiàn)
3.1 普通參數(shù)曲線生成算法的介紹…………………………………………………..11
3.2 最佳的步長值…………………………………………………………………..…13
3.3 雙步逐點曲線生成算法…………………………………………………………..14
3.4 以三次Bezier曲線為例編程實現(xiàn)該算法………………………………………..16
3.5 普通參數(shù)曲線方程的編程實現(xiàn)…………………………………………………..28
3.6 使用雙步逐點曲線生成算法需要注意的一個問題……………………………..31
第四章 導(dǎo)師所給的參數(shù)方程的研究
4.1 通過在屏幕上鼠標(biāo)點擊若干點然后繪制曲線………………………………….32
4.2 通過在對話框中輸入控制點的坐標(biāo)繪制曲線………………………………….36
第五章 結(jié)論………………………………………………………………………………38
第六章 個人小結(jié)……………………………………………………………...39
第七章 附錄
英文資料翻譯……………………………………………………………………...40
參考文獻(xiàn)…………………………………………………………………………...48
參 考 文 獻(xiàn)
[1]劉勇奎 編著 計算機圖形學(xué)的基本算法
科學(xué)出版社
[2]黃有度 朱功勤編著 參數(shù)多項式曲線的快速逐點生成算法
計算機學(xué)報 2000年第四期
[3]孫家廣 等編著 計算機圖形學(xué)(第三版)
清華大學(xué)出版社
[4]同志工作室 編著 Visual C++6.0開發(fā)技巧與實例教程
人民郵電出版社
TA們正在看...
- 01.1四時田園雜興課堂教學(xué)教案教學(xué)設(shè)計(部編版).doc
- 01.2稚子弄冰課堂教學(xué)教案教學(xué)設(shè)計(部編版).doc
- 01.3村晚課堂教學(xué)教案教學(xué)設(shè)計(部編版).doc
- 02冬陽·童年·駱駝隊公開課優(yōu)秀教案教學(xué)設(shè)計(五年...doc
- 02冬陽·童年·駱駝隊最新教研教案教學(xué)設(shè)計(部編版...doc
- 02冬陽·童年·駱駝隊課堂教學(xué)教案教學(xué)設(shè)計(部編版).doc
- 03祖父的園子公開課優(yōu)秀教案教學(xué)設(shè)計(五年級下冊).doc
- 03祖父的園子最新教研教案教學(xué)設(shè)計(部編版五年級下...doc
- 03祖父的園子課堂教學(xué)教案教學(xué)設(shè)計(部編版).doc
- 04草船借箭公開課優(yōu)秀教案教學(xué)設(shè)計(五年級下冊).doc