2023年計算機圖形學第二次實驗報告_第1頁
2023年計算機圖形學第二次實驗報告_第2頁
2023年計算機圖形學第二次實驗報告_第3頁
2023年計算機圖形學第二次實驗報告_第4頁
2023年計算機圖形學第二次實驗報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

40;-40,40;—40,40/40,-40];

D=[40z-40;120,-120;120,-120;120z-40;8

0,80;80,80;-80,80;-80,80;80,-80];

Q=[2,-2,l,l;-3,3,-2z-l;0,0,1,0;1,0,0,0];

plot(A(:z1),A(:/2));

[m,n]=size(A);

holdon

fori=l:m-l

fort=0:0.001:1

A

T=[t3,t*2rt,l];

Px=[A(i,l),A(i+lz1),B(i,l),B(i+1,1)];

py=[A(i,2),A(i+1,2),B(i,2),B(i+1,

2)];

x=T*Q*Px,;

y=T*Q*Py,;

Pxl=[A(i,l),A(i+1,1),C(i,l),C

(i+bl)l;

Py1=,A(i+1,2),C(i,2),C

<i+l,2)];

xl=T*Q*Px1*;

y1=T*Q*Py1';

Px2=[A(irl),A(i+1,1),D(i,l),D(i+

1,1)1;

Py2=[A(i,2),A(i+1,2),D(i,2),D(i+l,2)];

X2=T*Q*PX2';

y2=T*Q*Py2*;

plot(x,y,;

plot(xl,yl,'r1);

pl0t(x2,y2,'r1);

end

end

二、繪制Bezier曲線

1、二次Bernstein基函數性質分析

三次Bernstein基函數性質分析

end

三、繪制B樣條曲線

1、繪制均勻二次三點B樣條曲線

x=[l001502002503003504004505001;

y=[10050100501505010050100];

plot(x,y,*k\'LineWidth',1);k=1ength(x);

B=l/2;

fori=1:k-2

fort=0:0.005:1

Bx=B*(tA2-2*t+1)*x(i)+B*(-2*t*2+2*t+

1)*x(i+1)+…

B*(tA2)*x(i+2);

By=B*(L2—2*t+1)*y(i)+B*(-2*t入2

+2*t+l)*y(i+1)+...

B*(tA2)*y(i+2);

holdon

plot(Bx,By,1r1,'LineWidth',2);

end

end

2、繪制三次B樣條曲線

x=[100120220270370420420];

y=[300200200100100200300];

plot(x,y,'k','LineWidth\l);k=1ength(x);

B=1/6;

fori=1:k-3

fort=0:0.005:1

Bx=B*(-tA3+3*tA2-3*t+l)*x(i)

+B*(3*tA3-6*tA2-0*t+4)*x(i+l)+...

B*(-3*t7+3*L2+3*t+l)*x(i+2)+

B*(l*t*3-0*tA2-0*t+0)*x(i+3);

By=B*(-tr+3*t人2-3*t+1)*y(i)+B*(3

*tA3-6*tA2-0*t+4)*y(i+1)+...

AA

B*(-3*t34-3*t2+3*t+1)*y(i+2)+B*(1

*tA3-0*t"2-0*t+0)*y(i+3);

holdon

;

p1Ot(Bx,Byz*r*LineWidth*,2);

end

end

3、在同?控制頂點下(四個控制定點)繪制三次Bezier曲

線和三次B樣條曲線

hoidon

x=[220270300320340360370420];

y=[200100150150150150100200];

plot(x,y?,—b1,'LineWidth',2);pI

ot(x,y,**r*z*LineWidth,,3);

k=length(x);B=1/6;

fori=l:k-3

fort=0:0.001:1

Bx=B*(-tA3+3*tA2—3*t+1)*x(i)+B

*(3*t^3-6*tA2—0*t+4)*x(i+1)+...

B*(-3*13+3*tA2+3*t+1)*x(i+

2)+B*(l*t"3-0*t"2-0*t+0)*x(i+3);

By=B-+3*tA2-3*t+l)*y(i)+B*(3*t

-3-6*t*2—0*t+4)*y(i+l)+...

B*(-3*tA3+3*t、2+3*t+l)*y(i+2)+

B*(l*tA3-0*t"2—0*t+0)*y(i+3);

plot(Bx,By,*r'z'LineWidLh'z2);

end

end

四、有理曲線繪制各種參數圖形

繪制有理二次Bezier曲線

x=[100150200250300350400450500];

y=[l0050100501505010050100];

p1ot(x,y,'k*,*LineWidth',1);k=1eng

th(x);B=1/2;

fori=1:k-2

fort=0:0.005:1

Bx=(B*(t*2-2*t+1)*x(i)+B*(-2*t

A2+2*t+l)*x(i+1)+...

B*(tA2)*x(i+2))/(B*(tA2-2*t+l)+B*

(-2*t-2+2*t+l)+...

B*(tA2));

By=(B*(tA2-2*t+1)*y(i)+B*(-2*t^2+2

*t+l)*y(i+1)+...

B*(tA2)*y(i+2))/(B*(t22*t+l)+

B*(-2*t人2+2*t4-1)+...

B*(tA2));

hoIdon

p1ot(Bx,By,*r*>'LineWidth',2);

end

end

均勻有理B樣條曲線各種參數圖形

繪制有理三次B樣條曲線

h0Idon

x=[220270300320340370420];

y=[200100140150130100200];

p1ot(x,y,'-b*>'LineWidth',2);

k=length(x);B=l/6;

fori=l:k-3

fort=0:0.001:1

Bx=(B*(-tA3+3*tA2-3*t+1)*x(i)+B*

(3*t"3-6*tA2-0*t+4)*x(i+l)+...

B*(-3*tA34-3*t*2+3*t+l)*x(i+2)+B

*(1*t八3-0*t人2-0*t+0)*x(i+3))/(B*+

tA2-3*t+l)+B*(3*tA3—6*tA2-0*t+4)+.

B*(-3*tA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論