




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE1服裝CAD原理與應(yīng)用實(shí)驗(yàn)報(bào)告目錄實(shí)驗(yàn)報(bào)告(一)三點(diǎn)畫圓弧(02-07)實(shí)驗(yàn)報(bào)告(二)兩點(diǎn)畫圓?。?8-12)實(shí)驗(yàn)報(bào)告(三)Bezier曲線的繪制(13-17)實(shí)驗(yàn)報(bào)告(四)Hermite曲線的繪制(18-22)實(shí)驗(yàn)報(bào)告(五)B樣條曲線的繪制(23-27)EndAttributeVB_Name="Form1"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivatept()AsmypointPrivateSubForm_Load()ReDimpt(1)EndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)DimsAsIntegerpt(UBound(pt)).x=xpt(UBound(pt)).y=yPicture1.Circle(x,y),15s=Val(UBound(pt))SelectCasesCase1Picture1.Print"A"Case2Picture1.Print"B"Case3Picture1.Print"C"EndSelectIfUBound(pt)>1ThenPicture1.Line(pt(UBound(pt)-1).x,pt(UBound(pt)-1).y)-(pt(UBound(pt)).x,pt(UBound(pt)).y)EndIfReDimPreservept(UBound(pt)+1)EndSubPrivateSubCommand1_Click()DimA1,A2,B1,B2,C1,C2AsSingleDimX0,Y0,r,PIAsDoubleDimt1,t2,t3AsDoubleDimtAsDoubleA1=pt(1).x^2+pt(1).y^2-pt(3).x^2-pt(3).y^2A2=pt(2).x^2+pt(2).y^2-pt(3).x^2-pt(3).y^2B1=2*pt(3).x-2*pt(1).xB2=2*pt(3).x-2*pt(2).xC1=2*pt(1).y-2*pt(3).yC2=2*pt(2).y-2*pt(3).yX0=(A1*C2-A2*C1)/(B2*C1-B1*C2)Y0=(A1*B2-A2*B1)/(B2*C1-B1*C2)r=Sqr((pt(1).x-X0)*(pt(1).x-X0)+(pt(1).y-Y0)*(pt(1).y-Y0))PI=4*Atn(1)t1=Atn((pt(1).y-Y0)/(pt(1).x-X0))Ifpt(1).x-X0>0Andpt(1).y-Y0>0Thent1=t1ElseIfpt(1).x-X0<0Andpt(1).y-Y0>0Thent1=t1+PIElseIfpt(1).x-X0<0Andpt(1).y-Y0<0Thent1=t1+PIElset1=t1+2*PIEndIfEndIfEndIft2=Atn((pt(2).y-Y0)/(pt(2).x-X0))Ifpt(2).x-X0>0Andpt(2).y-Y0>0Thent2=t2ElseIfpt(2).x-X0<0Andpt(2).y-Y0>0Thent2=t2+PIElseIfpt(2).x-X0<0Andpt(2).y-Y0<0Thent2=t2+PIElset2=t2+2*PIEndIfEndIfEndIfIft1<t3<t2ThenFort=t1Tot2Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElseIft2<t1<t3Thent2=t2+2*PIFort=t1Tot2Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElseIft3<t2<t1Thent2=t2+2*PIFort=t1Tot2Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElseIft1<t2<t3Thent1=t1+2*PIFort=t2Tot1Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElseIft3<t1<t2Thent1=t1+2*PIFort=t2Tot1Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElseIft2<t3<t1ThenFort=t2Tot1Step0.001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttEndIfEndSubPrivateSubCommand2_Click()Picture1.ClsReDimpt(1)EndSubPrivateSubCommand3_Click()EndEndSub四實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)報(bào)告(二)實(shí)驗(yàn)題目使用VB軟件實(shí)現(xiàn)兩點(diǎn)畫圓弧實(shí)驗(yàn)?zāi)康?.了解服裝CAD中的常用曲線,靈活運(yùn)用理論知識(shí)加以運(yùn)用,實(shí)現(xiàn)操作;2.掌握使用兩端點(diǎn),以及其中一端點(diǎn)切線畫圓弧的基本原理和繪制方法;3.運(yùn)用VisualBasic6.0軟件編寫程序?qū)崿F(xiàn)通過(guò)兩端點(diǎn),以及其中一端點(diǎn)切線成功繪制圓弧。實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理已知一圓弧兩端點(diǎn)A,B和A端點(diǎn)切線的方向數(shù)L①根據(jù)向量的知識(shí),由已知一圓弧兩端點(diǎn)A,B和A端點(diǎn)切線的方向數(shù)L求出圓心的坐標(biāo)和半徑大?。虎谟?jì)算在圓心為原點(diǎn)的新坐標(biāo)系下初始角和終止角的正切值,進(jìn)而求出對(duì)應(yīng)的角度;③判斷L和半徑向量的乘積,若大于0,則為逆時(shí)針方向畫圓弧,小于0,則為順時(shí)針方向畫圓??;④根據(jù)圓的參數(shù)方程表達(dá)式,利用VB繪制圓弧。2、源代碼 VERSION5.00BeginVB.FormForm1AutoRedraw=-1'TrueCaption="兩點(diǎn)加切線畫圓弧"ClientHeight=6810ClientLeft=120ClientTop=450ClientWidth=8340LinkTopic="Form1"ScaleHeight=6810ScaleWidth=8340StartUpPosition=3'窗口缺省BeginVB.CommandButtonCommand3Caption="退出"Height=615Left=6240TabIndex=3Top=6000Width=1575EndBeginVB.CommandButtonCommand2Caption="取消"Height=615Left=3360TabIndex=2Top=6000Width=1575EndBeginVB.CommandButtonCommand1Caption="畫弧"Height=615Left=480TabIndex=1Top=6000Width=1575EndBeginVB.PictureBoxPicture1AutoRedraw=-1'TrueHeight=5175Left=360ScaleHeight=5115ScaleWidth=7515TabIndex=0Top=480Width=7575EndEndAttributeVB_Name="Form1"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivatept()AsmypointPrivateSubForm_Load()ReDimpt(1)EndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)DimsAsIntegerpt(UBound(pt)).x=xpt(UBound(pt)).y=yPicture1.Circle(x,y),1s=Val(UBound(pt))SelectCasesCase1Picture1.Print"A"Case2Picture1.Print"B"Case3Picture1.Print"L"'曲線在A點(diǎn)處的切線矢量Picture1.Line(pt(1).x,pt(1).y)-(pt(3).x,pt(3).y)EndSelectReDimPreservept(UBound(pt)+1)EndSubPrivateSubCommand1_Click()DimX0,Y0,rAsDoubleDima1,a2,b1,b2,c1,c2AsDoubleDimt,t1,t2,i,j,k,m,nAsDoubleDimpiAsSinglepi=4*Atn(1)a1=2*pt(1).x-2*pt(2).xa2=pt(3).x-pt(1).xb1=2*pt(1).y-2*pt(2).yb2=pt(3).y-pt(1).yc1=pt(1).x^2-pt(2).x^2+pt(1).y^2-pt(2).y^2c2=(pt(1).x-pt(3).x)*pt(1).x+(pt(1).y-pt(3).y)*pt(1).yX0=(b2*c1-b1*c2)/(a1*b2-a2*b1)Y0=(a1*c2-a2*c1)/(a1*b2-a2*b1)r=Sqr((pt(1).x-X0)^2+(pt(1).y-Y0)^2)k=(pt(3).y-pt(1).y)*(pt(1).x-X0)-(pt(3).x-pt(1).x)*(pt(1).y-Y0)m=pt(1).x-X0n=pt(1).y-Y0t1=Atn(Abs(n/m))Ifm>0Andn>0Thent1=t1ElseIfm<0Andn>0Thent1=pi-t1ElseIfm<0Andn<0Thent1=pi+t1ElseIfm>0Andn<0Thent1=2*pi-t1EndIfi=pt(2).x-X0j=pt(2).y-Y0t2=Atn(Abs(j/i))Ifi>0Andj>0Thent2=t2ElseIfi<0Andj>0Thent2=pi-t2ElseIfi<0Andj<0Thent2=pi+t2ElseIfi>0Andj<0Thent2=2*pi-t2EndIfIfk>0ThenIft1<t2ThenFort=t1Tot2Step0.0001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElse:t2=t2+2*piFort=t1Tot2Step0.0001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttEndIfElseIft1>t2ThenFort=t2Tot1Step0.0001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttElse:t1=t1+2*piFort=t2Tot1Step0.0001x=X0+r*Cos(t)y=Y0+r*Sin(t)Picture1.PSet(x,y)NexttEndIfEndIfEndSubPrivateSubCommand2_Click()Picture1.ClsReDimpt(1)EndSubPrivateSubCommand3_Click()EndEndSub實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)報(bào)告(三)實(shí)驗(yàn)題目運(yùn)用VB軟件繪制Bezier曲線實(shí)驗(yàn)?zāi)康?、了解服裝CAD中的常用曲線,通過(guò)實(shí)際操作加以深入認(rèn)識(shí);2、了解Bezier曲線的特點(diǎn),根據(jù)Bezier曲線的基本原理,推斷出繪制方法并進(jìn)行操作;3、運(yùn)用VisualBasic6.0軟件編寫程序?qū)崿F(xiàn)曲線的成功繪制。實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理設(shè)空間有n+1個(gè)點(diǎn)P0,P1,P2,……,Pn,則稱下列函數(shù)所決定的參數(shù)曲線為Bezier曲線:在給定幾個(gè)點(diǎn)時(shí),可在t[0,1]區(qū)間取一系列值,相應(yīng)的計(jì)算一系列的x(t),y(t),z(t)的值,由此可確定空間曲線上各點(diǎn)的位置,連接后即得該空間曲線。2、源代碼VERSION5.00BeginVB.FormBezierCaption="Bezier曲線"ClientHeight=7575ClientLeft=60ClientTop=450ClientWidth=9255LinkTopic="Form1"ScaleHeight=7575ScaleWidth=9255StartUpPosition=3'窗口缺省BeginVB.CommandButtonCommand2Caption="取消"Height=495Left=3840TabIndex=3Top=6600Width=1455EndBeginVB.CommandButtonCommand3Caption="退出"Height=495Left=6720TabIndex=2Top=6600Width=1455EndBeginVB.CommandButtonCommand1Caption="畫弧"Height=495Left=1080TabIndex=1Top=6600Width=1455EndBeginVB.PictureBoxPicture1Height=5655Left=600ScaleHeight=5595ScaleWidth=7995TabIndex=0Top=480Width=8055EndEndAttributeVB_Name="Bezier"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivatept()AsmypointPrivateSubForm_Load()ReDimpt(1)EndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)DimsAsIntegerpt(UBound(pt)).x=xpt(UBound(pt)).y=yPicture1.Circle(x,y),15s=Val(UBound(pt))SelectCasesCase1Picture1.Print"P0"Case2Picture1.Print"P1"Case3Picture1.Print"P2"Case4Picture1.Print"P3"Case5Picture1.Print"P4"Case6Picture1.Print"P5"Case7Picture1.Print"P6"Case8Picture1.Print"P7"Case9Picture1.Print"P8"Case10Picture1.Print"P9"Case11Picture1.Print"P10"EndSelectIfUBound(pt)>1ThenPicture1.Line(pt(UBound(pt)-1).x,pt(UBound(pt)-1).y)-(pt(UBound(pt)).x,pt(UBound(pt)).y)EndIfReDimPreservept(UBound(pt)+1)EndSubPrivateSubCommand1_Click()Dimi%,t#Dimj,nAsIntegerDims,x,yAsSinglen=UBound(pt)-1-1Forj=1To1000x=0y=0Fori=0Tont=j/1000x=x+pt(i+1).x*B(i,n,t)y=y+pt(i+1).y*B(i,n,t)NextiPicture1.PSet(x,y)NextjEndSubPrivateFunctionfact(nAsInteger)DimiAsIntegerDimsAsLongs=1Fori=1Tons=s*iNextifact=sEndFunctionPrivateFunctionB(i%,n%,t#)AsSingleB=(fact(n)*t^i*(1-t)^(n-i))/(fact(i)*fact(n-i))EndFunctionPrivateSubCommand2_Click()Picture1.ClsReDimpt(1)'pt(1)為第一個(gè)點(diǎn)P0EndSubPrivateSubCommand3_Click()EndEndSub實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)報(bào)告(四)實(shí)驗(yàn)題目運(yùn)用VB軟件繪制三次Hermite曲線實(shí)驗(yàn)?zāi)康?、了解服裝CAD中的常用曲線,通過(guò)實(shí)際操作加以深入認(rèn)識(shí);2、了解Hermite曲線的特點(diǎn),根據(jù)Hermite曲線的基本原理,推斷出繪制方法并進(jìn)行操作;3、運(yùn)用VisualBasic6.0軟件編寫程序?qū)崿F(xiàn)Hermite曲線的成功繪制。實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理2、源代碼VERSION5.00BeginVB.FormHermiteCaption="三次Hermite曲線"ClientHeight=7575ClientLeft=60ClientTop=450ClientWidth=9255LinkTopic="Form1"ScaleHeight=7575ScaleWidth=9255StartUpPosition=3'窗口缺省BeginVB.PictureBoxPicture1Height=5655Left=600ScaleHeight=5595ScaleWidth=7995TabIndex=3Top=480Width=8055EndBeginVB.CommandButtonCommand1Caption="畫弧"Height=495Left=1200TabIndex=2Top=6600Width=1455EndBeginVB.CommandButtonCommand3Caption="退出"Height=495Left=6600TabIndex=1Top=6600Width=1455EndBeginVB.CommandButtonCommand2Caption="取消"Height=495Left=3960TabIndex=0Top=6600Width=1455EndEndAttributeVB_Name="Hermite"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivatept()AsmypointPrivateSubForm_Load()ReDimpt(1)EndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)DimsAsIntegerpt(UBound(pt)).x=xpt(UBound(pt)).y=yPicture1.Circle(x,y),1s=Val(UBound(pt))SelectCasesCase1Picture1.Print"P0"Case2Picture1.Print"P1"Case3Picture1.Print"P01"'曲線在P0點(diǎn)處的切線矢量Picture1.Line(pt(1).x,pt(1).y)-(pt(3).x,pt(3).y)Case4Picture1.Print"P11"'曲線在P1點(diǎn)處的切線矢量Picture1.Line(pt(2).x,pt(2).y)-(pt(4).x,pt(4).y)EndSelectReDimPreservept(UBound(pt)+1)EndSubPrivateSubCommand1_Click()DimAx,Bx,Cx,Dx,Ay,By,Cy,DyAsSingleDimP01x!,P11y!Dimj%,tAsSingleP01x=2*(pt(3).x-pt(1).x)P01y=2*(pt(3).y-pt(1).y)P11x=2*(pt(2).x-pt(UBound(pt)-1).x)P11y=2*(pt(2).y-pt(UBound(pt)-1).y)Ax=2*(pt(1).x-pt(2).x)+P01x+P11xAy=2*(pt(1).y-pt(2).y)+P01y+P11yBx=3*(pt(2).x-pt(1).x)-2*P01x-P11xBy=3*(pt(2).y-pt(1).y)-2*P01y-P11yCx=P01xCy=P01yDx=pt(1).xDy=pt(1).yForj=1To1000t=j/1000x=Ax*t^3+Bx*t^2+Cx*t+Dxy=Ay*t^3+By*t^2+Cy*t+DyPicture1.PSet(x,y)NextjEndSubPrivateSubCommand2_Click()Picture1.ClsReDimpt(1)'pt(1)為第一個(gè)點(diǎn)P0EndSubPrivateSubCommand3_Click()EndEndSubPrivateSubForm_Activate()Picture1.Scale(0,500)-(500,0)EndSub實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)報(bào)告(五)實(shí)驗(yàn)題目用VB繪制三次B樣條曲線實(shí)驗(yàn)?zāi)康?、了解服裝CAD中的常用曲線。2、掌握B樣條曲線的基本原理和方法,了解B樣條曲線的特點(diǎn)。3、運(yùn)用VisualBasic6.0軟件編寫程序?qū)崿F(xiàn)三次B樣條曲線的成功繪制實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理B樣條曲線的數(shù)學(xué)模型:設(shè)空間有n+k+1個(gè)點(diǎn),稱下列函數(shù)所決定的參數(shù)曲線為第i段B樣條曲線:k=3時(shí),稱為三次B樣條曲線根據(jù)上式可得:代入前面的式中,第i段三次B樣條曲線表達(dá)式為:=根據(jù)給定四個(gè)點(diǎn)的,可在t[0,1]區(qū)間取一系列值,相應(yīng)的計(jì)算一系列的x(t),y(t),z(t)的值,由此可確定空間曲線上各點(diǎn)的位置,連接后即得該空間曲線。2、源代碼VERSION5.00BeginVB.FormForm1Caption="三次B樣條曲線"ClientHeight=6240ClientLeft=120ClientTop=450ClientWidth=9030LinkTopic="Form1"ScaleHeight=6240ScaleWidth=9030StartUpPosition=3'窗口缺省BeginVB.CommandButtonCommand3Caption="退出"Height=615Left=6840TabIndex=3Top=5400Width=1575EndBeginVB.CommandButtonCommand2Caption="取消"Height=615Left=3720TabIndex=2Top=5400Width=1575EndBeginVB.CommandButtonCommand1Caption="畫弧"Height=615Left=600TabIndex=1Top=5400Width=1455En
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工項(xiàng)目建設(shè)合同范本
- 0物業(yè)合同范本
- 廠家和平臺(tái)合同范本
- 吊車交易合同范例
- 吹塑加工采購(gòu)合同范例
- 單位貨車出售合同范本
- 農(nóng)村公墓建設(shè)合同范本
- 信貸擔(dān)保合同范本
- 吊裝安裝服務(wù)合同范本
- 個(gè)人投資股票借款合同范本
- 貴州區(qū)域地質(zhì)地史概述
- Aptitude態(tài)度的重要性
- 監(jiān)理大綱維修改造項(xiàng)目
- 中國(guó)著名的塔課件
- 邢臺(tái)市區(qū)土地級(jí)別及基準(zhǔn)地價(jià)表
- 《推薦》500kV輸電線路應(yīng)急處置預(yù)案6個(gè)
- 李小建《經(jīng)濟(jì)地理學(xué)》(電子版)
- 中央空調(diào)安裝施工組織設(shè)計(jì)方案(水、多聯(lián)機(jī))
- 2022年最新蘇教版五年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 咖啡樹的修剪方法和技術(shù)_種植技巧
- 小學(xué)四年級(jí)數(shù)學(xué)奧數(shù)應(yīng)用題100題
評(píng)論
0/150
提交評(píng)論