《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 基于Visual Fortran和AutoCAD的Bezier曲線的自動繪制及應用
基于Visual Fortran和AutoCAD的Bezier曲線的自動繪制及應用
來源:微型機與應用2010年第18期
楊 帆1, 湯方平2
(1. 揚州大學 水利科學與工程學院, 江蘇 揚州 225009; 2. 揚州大學 能源與動力工程學
摘要: 以Fortran90語言和AutoCAD圖形軟件為平臺,開發了Bezier曲線繪制子程序,該程序能夠保存、處理數據文件,形成直觀曲線供用戶輸出,實現了計算機自動繪圖的目的。基于該子程序編制了部分應用主程序體現出自動繪圖子程序的應用價值。
Abstract:
Key words :

摘  要: 以Fortran90語言和AutoCAD圖形軟件為平臺,開發了Bezier曲線繪制子程序,該程序能夠保存、處理數據文件,形成直觀曲線供用戶輸出,實現了計算機自動繪圖的目的。基于該子程序編制了部分應用主程序體現出自動繪圖子程序的應用價值。
關鍵詞:Bezier曲線; 自動繪制; 應用

1 Bezier曲線及其原理
    20世紀60年代,法國雷諾汽車公司的工程師貝濟爾提出了用控制多邊形定義曲線的方法,即Bezier曲線,因該曲線采用了一組獨特的多項式基函數,使其具有許多優良的特性,在諸多形式的參數多項式曲線中獨樹一幟,一經問世,就受到工業界和計算機輔助幾何設計研究者的廣泛重視[1]。Bezier曲線算法是一種直觀、易于調整、高效率的曲線擬合方法,這種方法能使使用者在工程設計中比較直觀地意識到所給條件與設計出的曲線之間的關系,能方便地控制輸入控制點以改變曲線的形狀。Bezier曲線的形狀由點的位置確定,而且曲線可能并不通過除兩端點外的所有給定點,點數量不夠或點位置難以處理的情況下,用三次樣條曲線方法也許不能生產光滑曲線。
    Bezier曲線有不同的數學定義形式,如德卡斯特里奧遞歸(deCasteljau)算法、波恩斯坦基(Bernstein)原理等。本文中Bezier曲線的自動繪制方法采用Bernstein原理和參考文獻[2]提出的將中點分割和拐點分割相混合的Bezier曲線降階方法,其中Bezier曲線的數學基礎(影響曲線形狀的加權系數)來自下式給出的Bernstein原理[1]:
 
2 軟件的接口及編程
 Fortran語言具有強大的數學計算功能,AutoCAD具有強大的圖形繪制和編輯功能, 兩種軟件均是許多行業的工程技術人員所必備的工具,但集成兩種軟件的優勢,將兩者有機地結合起來卻并非易事。目前,Fortran語言與AutoCAD軟件間數據通信方式主要有下面兩種[3-4]:
    (1)將Fortran的計算結果輸出為DXF格式,利用AutoCAD將其打開即可看到計算的結果圖像。DXF(Autodesk Drawing Exchange Format)是AutoCAD中的矢量文件格式,它以ASCⅡ碼方式存儲文件,在表現圖形的大小方面十分精確。
    (2) 通過VB實現Fortran與AutoCAD之間的數據通信,VB是通過AutoCAD ActiveX Automation接口來建立與AutoCAD對象之間的聯系。
    本文采用第一種方法,對AutoCAD軟件常用的基本繪圖命令利用Fortran語言編寫相應的接口子程序,即建立Fortran與AutoCAD間的接口軟件。通過Fortran語言編程直接讀取離散控制點數據,通過對離散控制點進行曲線擬合,最后生成AutoCAD支持的DXF文件,最終利用編程生成的模型在AutoCAD環境下顯示,使其具有工程技術人員熟悉的友好用戶界面,并且具有人機交互的功能。下面僅給出了部分程序的清單。
    繪制多段線的程序:
    SUBROUTINEPLINE(X,Y,K,LY)
    CHARACTER*(*)LY
    DIMENSION(X(K),Y(K))
    NA=0
    WRITE(3,200)NA
    WRITE(3,600)’POLYLINE’
    NA=8
    WRITE(3,200) NA
    WRITE(3,600) LY    
    NA=66
    WRITE(3,600) LY 
    WRITE(3,600) LY
    NA=70
    WRITE(3,200) NA
    WRITE(3,600) LY
    DO I=1,K
    NA=0
    WRITE(3,200) NA
    WRITE(3,600)’VERTEX’
    NA=8
    WRITE(3,200) NA
    WRITE(3,600) LY
    NA=10
    WRITE(3,200) NA     
    WRITE(3,210) Y(I)
    CONTINUE
    NA=0
    WRITE(3,200) NA
    WRITE(3,600)‘SEQEND’
    NA=8
    WRITE(3,200) NA
    WRITE(3,600) LY
    FORMAT(I3)
    FORMAT(F12.6)
    FORMAT(A)
    RETURN
    END
    計算影響曲線形狀的加權系數的程序:
    allocate(j(k+1,n))
    m=n-1
    t=1.0/k
    call factorial(m,a)
    do i=0,1,t
    q=q+1
    do w=0,m
    call factorial(w,b)
    !求階乘的子程序
    c=m-w
    call factorial(c,d)
    call power(i,w,e)
    !求冪次的子程序
    f=1.0-i
    call power(f,c,g)
    j(q,w+1)=a/(b*d)*e*g
    end do
    end do
3 實例應用
    本文基于Bezier曲線自動繪制程序,在實例3.2與實例3.3中添加了部分程序,體現Bezier曲線自動繪制程序的價值所在。
3.1 翼型曲線的自動繪制
    利用所編程序來繪制翼型的外形曲線,表1為某翼型控制點數據,由數據分析可知該翼型為對稱翼型,通過自編程序,實現其自動繪制,并閉合曲線,繪制后的曲線如圖1所示。若圖形不夠理想,還可以改變控制點的參數來重新繪圖調整圖形。

3.2 泵性能曲線的繪制
    泵段及泵裝置在試驗結束后便需要進行性能曲線的繪制,而傳統的手工曲線繪制方法速度比較慢,且無法保證精度要求,目前,泵性能曲線的繪制多基于VB、VC軟件基礎來開發。本文基于自行編制的Bezier曲線繪制程序來達到性能曲線自動繪制的目的,曲線更加光滑平順、便于控制,能滿足水泵汽蝕和效率的不同要求。通過該程序給出了某泵裝置的流量-揚程(Q-H)曲線(如圖2所示)、流量-效率(Q-η)曲線(如圖3所示),其余的特性曲線均可采用本程序進行繪制。該程序不僅適用于水泵復雜特性曲線的擬合,對其他如風機、水輪機等動力機械的特性曲線擬合也會有較好的效果。

3.3 流場計算分析
    以立柱繞流的流場計算為例,在該程序的基礎上編寫有限元分析主體程序。在曲線自動繪制基礎上,利用有限元法生成了立柱繞流的部分流場圖。生成好的DXF格式的模型圖,可以在任何版本的AutoCAD環境下打開觀察,具有良好的直觀性。圖4給出了部分流場的流速矢量圖。

    基于AutoCAD平臺,利用Fortran語言編程,實現了Bezier曲線的自動繪制,讓用戶直觀地感受Bezier曲線優良的幾何特性。該程序具有良好的通用性,本文立足于該程序在翼型繪制、泵性能曲線繪制、有限元分析方面的應用。通過本程序的開發對Bezier曲線的數學表達和幾何意義有了深刻的理解和直觀的認識,也對Fortran90和AutoCAD間的鏈接及編程機制、圖形處理功能建立了初步的認識。以該程序為基礎,可進一步編寫與自己專業相關的專用接口子程序。
參考文獻
[1]  孫家廣,楊長貴.計算機圖形學(第二版)[M].北京:清華大學出版社,1995.
[2]  許凱,趙新明.基于拐點分割的Bezier曲線降階[J].上海交通大學學報,2007,41(8):1223-1226.
[3]  費璟昊,李俊杰,齊同軍.Fortran與AutoCAD間數據通信的幾種方法[J].電腦編程技巧與維護,2001(6):41- 42,45.
[4]  湯方平.Fortran語言生成DXF圖形交換文件通用子程序設計[J].微型計算機,1995,15(6):57-58.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频在线播放| 久久先锋资源| 欧美一区2区视频在线观看| 日韩午夜在线播放| 亚洲欧洲精品一区二区三区波多野1战4| 国产午夜一区二区三区| 国产精品免费观看在线| 欧美偷拍一区二区| 欧美视频免费在线| 欧美视频网站| 国产精品国产亚洲精品看不卡15 | 欧美影院精品一区| 午夜久久久久| 午夜日韩在线观看| 午夜精品久久久久久99热| 亚洲欧美日韩一区二区| 欧美在线播放一区| 久久精品国产v日韩v亚洲| 久久成人免费电影| 久久久www免费人成黑人精品| 久久激情婷婷| 久久久成人网| 鲁大师成人一区二区三区| 免费精品视频| 欧美精品免费看| 欧美性生交xxxxx久久久| 欧美亚洲成人精品| 国产精品中文在线| 国产亚洲欧洲一区高清在线观看| 国内成人在线| 在线观看日韩www视频免费| 亚洲国产成人精品久久| 91久久午夜| 中日韩视频在线观看| 亚洲午夜精品一区二区三区他趣| 亚洲永久精品国产| 久久精品成人一区二区三区蜜臀 | 亚洲国产欧美久久| 99精品欧美一区| 亚洲视频在线播放| 欧美在线一二三区| 99re亚洲国产精品| 亚洲欧美视频一区| 久久婷婷一区| 欧美日韩国产成人在线91| 国产精品久久| 国产一级揄自揄精品视频| 亚洲电影有码| 亚洲香蕉伊综合在人在线视看| 欧美一区二区三区四区视频| 亚洲人成网站色ww在线| 亚洲一区二区欧美| 久久久噜噜噜久久久| 欧美经典一区二区三区| 国产精品欧美精品| 亚洲国产成人一区| 亚洲在线视频免费观看| 亚洲经典视频在线观看| 亚洲一区二区在线看| 久久久久五月天| 欧美日韩精品免费观看视一区二区| 国产精品久99| 亚洲国产日韩欧美综合久久 | 久久精品青青大伊人av| 欧美片网站免费| 国产亚洲视频在线| 日韩亚洲精品电影| 亚洲成人资源网| 亚洲一线二线三线久久久| 久久亚洲私人国产精品va媚药 | 国产精品一区二区久久精品| 亚洲第一页自拍| 先锋a资源在线看亚洲| 亚洲美女黄网| 久久激情综合网| 欧美日韩国产丝袜另类| 黄色日韩网站| 亚洲尤物视频在线| 一本久久青青| 免费在线看成人av| 国产午夜精品美女毛片视频| 亚洲伦理精品| 亚洲国产欧美另类丝袜| 性做久久久久久免费观看欧美| 欧美激情亚洲激情| 黑人操亚洲美女惩罚| 亚洲视频1区2区| 亚洲精品欧美专区| 久久久久久久国产| 国产精品视频一二| 一本色道久久综合一区| 日韩亚洲欧美综合| 久久一区中文字幕| 国产欧美在线视频| 亚洲图片欧美一区| 在线一区免费观看| 蜜桃av综合| 好看的亚洲午夜视频在线| 亚洲欧美成人一区二区三区| 亚洲一二三区视频在线观看| 欧美激情中文字幕一区二区 | 亚洲黄色免费网站| 亚洲国产精品专区久久| 久久精品成人一区二区三区| 国产精品免费在线| 日韩午夜激情av| 日韩亚洲欧美中文三级| 欧美成人精品一区二区| 在线播放视频一区| 久久精品国产亚洲精品| 久久精品国产v日韩v亚洲| 国产区二精品视| 亚洲一区日本| 香蕉久久夜色精品国产| 国产精品久久久久久久午夜片| 一本一本a久久| 亚洲午夜一区二区| 国产精品hd| 亚洲少妇自拍| 午夜久久久久| 国产日韩精品一区二区浪潮av| 亚洲尤物视频在线| 久久国产精彩视频| 国产无一区二区| 久久狠狠久久综合桃花| 久久伊人精品天天| 在线看国产日韩| 亚洲精品老司机| 欧美另类在线观看| 99精品视频一区二区三区| 在线视频日本亚洲性| 国产精品wwwwww| 亚洲免费在线播放| 久久精品亚洲| 在线看无码的免费网站| 99riav国产精品| 欧美午夜在线观看| 亚洲综合精品自拍| 久久精品女人的天堂av| 韩国三级电影一区二区| 亚洲国产精品一区制服丝袜| 欧美激情bt| 国产精品99久久99久久久二8| 欧美一级视频免费在线观看| 国产专区欧美精品| 亚洲精品乱码久久久久久| 欧美色欧美亚洲另类二区| 亚洲一区二区欧美| 久久精品人人做人人爽| 亚洲国产精品va在线看黑人动漫| 99视频超级精品| 国产精品www.| 久久gogo国模啪啪人体图| 欧美成人综合一区| 99www免费人成精品| 欧美在线视频导航| 伊人成年综合电影网| 一区二区三区国产精华| 国产伦精品一区二区三区照片91| 亚洲高清不卡在线| 欧美日韩国产丝袜另类| 午夜影视日本亚洲欧洲精品| 欧美成人嫩草网站| 一区二区三区四区蜜桃| 久久国产精品高清| 亚洲黄网站黄| 欧美一级日韩一级| 亚洲国产福利在线| 亚洲欧美日产图| 在线精品亚洲| 午夜精品在线看| 亚洲国产精品久久久久婷婷老年| 亚洲女同同性videoxma| 18成人免费观看视频| 亚洲一区欧美二区| 1000部国产精品成人观看| 亚洲欧美成人| 亚洲第一久久影院| 欧美一级视频免费在线观看| 91久久精品国产91性色| 欧美一区二区三区视频免费播放| 亚洲国产91| 久久精品av麻豆的观看方式| 日韩特黄影片| 久久久久综合网| 国产精品99久久99久久久二8| 母乳一区在线观看| 亚洲欧美视频在线观看视频| 欧美激情一区二区三区蜜桃视频| 午夜精品www| 欧美三级在线播放| 亚洲激情六月丁香| 国产日韩欧美中文| 亚洲一区二区免费视频| 亚洲国产激情| 久久久精品国产免费观看同学 | 欧美在线视频免费播放| 日韩视频中文字幕| 免费在线观看成人av| 亚洲欧美一区二区三区在线|