




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MATLAB制作漂亮手表1一、問題的提出1二、理論分析1三、實驗步驟1四、程序?qū)崿F(xiàn)2五、實驗結(jié)果及結(jié)果分析5六、程序及其說明8MATLAB制作漂亮手表一、問題的提出隨著科技的日新月異,人們的生活節(jié)奏變得越來越快,而準確的把我時間也變得越來越重要,幾乎人人都會攜帶可以知道時間的東西,比如手表,手機,懷表,于是在此提出問題,如何通過matlab數(shù)字化模擬日常生活中所用的手表的轉(zhuǎn)動?二、理論分析 完整的時鐘界面有時針,分針,秒針以及刻度等組成,而要用matlab模擬出這些部件,則只需由外至內(nèi),一部部的模擬出表面的圖形,以及它的運轉(zhuǎn)法則。三、實驗步驟1.了解手表的表盤中由哪些東西構(gòu)成,將需要通過mat
2、lab作出來的部件記下。2.觀察手表的秒針,分針,以及時針的運轉(zhuǎn)規(guī)律,構(gòu)想出通過matlab來實現(xiàn)指針的轉(zhuǎn)動方法。3.著手編寫matlab程序來實現(xiàn)這一過程。4.完成程序,檢驗程序的可行性,并完善,使作出來的手表表盤盡可能的美化。5.完成實驗報告。四、程序?qū)崿F(xiàn)1.畫一個大的圓圈,表示手表的最外層的圈圈,通過plot畫圓來實現(xiàn),x,y用參數(shù)方程確定。2.通過line畫直線的方式,畫出表盤中得分針和秒針的小的刻度,一共60個。3.同樣的方式,畫出時針的大的刻度,一共12個,并在正上方的刻度下表上12.4.運用clock指令讀取系統(tǒng)時間,并將其作為初始時間。5.采用同樣的方式分別做出第一、第二、第三
3、個小圓盤,具體程序就不在此給出了。6.分別做出大表盤以及小表盤中得指針,采用fill指令分別實現(xiàn)時針,分針和秒針。在此列舉大表盤中得時針做出方法。7.加入以數(shù)字形式顯示時間的指令,具體實現(xiàn)方法如下顯示初始時間:8.設(shè)計指針的運轉(zhuǎn),當(dāng)秒針每轉(zhuǎn)動一秒時,相應(yīng)的改變大表盤中秒針,分針,以及時針的位置,以及小圓圈中得指針位置。 數(shù)據(jù)的改變: 大圓圈的指針數(shù)據(jù):小圓圈中指針的數(shù)據(jù):圖像中指針的位置改變:9.當(dāng)指針轉(zhuǎn)動一圈時,相應(yīng)的數(shù)據(jù)應(yīng)如何變化:10.數(shù)字顯示也許相應(yīng)的改變:11為使秒針的運動符合時間的規(guī)律,采用pause指令:五、實驗結(jié)果及結(jié)果分析運行程序,得到結(jié)果:六、程序及其說明clear;clf
4、;% 作出大的表盤 %set(gcf,'name','鐘表','color','white');theta=linspace(0,2*pi,10000);r=10;x=r.*cos(theta);y=r.*sin(theta);shg;plot(x,y);axis(-12 12 -15 12);axis equal;hold on;axis('off');text(-0.6,9,'fontsize2012');theta0=;xa=;xb=;ya=;yb=;for i=1:60 %畫出60個刻度 t
5、heta0(i)=i*pi/30; xa=(r-0.3)*cos(theta0(i); xb=(r-0.3)*sin(theta0(i); ya=r*cos(theta0(i); yb=r*sin(theta0(i); line(xa;ya,xb;yb);endfor i=1:12 %畫出12個時針的刻度,為了美觀,采取個別不畫的原則 if i=1|i=3|i=5|i=9 continue end theta0(i)=i*pi/6; xa=(r-1.5)*cos(theta0(i); xb=(r-1.5)*sin(theta0(i); ya=(r-0.36)*cos(theta0(i); yb
6、=(r-0.36)*sin(theta0(i); line(xa;ya,xb;yb,'linewidth',3);endfor i=1:12 %在60個小刻度的基礎(chǔ)上對時針的刻度加粗 theta0(i)=i*pi/6; xa=(r-0.3)*cos(theta0(i); xb=(r-0.3)*sin(theta0(i); ya=r*cos(theta0(i); yb=r*sin(theta0(i); line(xa;ya,xb;yb,'linewidth',3);endt=clock;h0=t(4); %設(shè)定初始時間m0=t(5);s0=floor(t(6);t
7、hetas1=(15-s0)*pi/30; %計算3個小表盤中指針的初始角度thetam1=(15-m0)*pi/30-s0*pi/1800;thetah1=(6-h0)*pi/12-m0*pi/720-s0*pi/43200;% 作第一個小表盤 %r1_0=6;theta1_0=pi/6;r1=3;theta1=linspace(0,2*pi,10000);x1_0=r1_0*cos(theta1_0);y1_0=r1_0*sin(theta1_0);x1=x1_0+r1.*cos(theta1);y1=y1_0+r1.*sin(theta1);plot(x1,y1);theta_10=;x
8、1a=;x1b=;y1a=;y1b=;for i=1:12 %畫出第一個小表盤的刻度 theta_10(i)=i*pi/6; x1a=x1_0+(r1-0.3)*cos(theta_10(i); x1b=y1_0+(r1-0.3)*sin(theta_10(i); y1a=x1_0+r1*cos(theta_10(i); y1b=y1_0+r1*sin(theta_10(i); line(x1a;y1a,x1b;y1b,'linewidth',2);endtext(x1_0+r1-0.7,y1_0,'6'); %部分刻度給予數(shù)字顯示text(x1_0-r1+0.
9、1,y1_0,'18');text(x1_0-0.4,y1_0-r1+0.5,'12');text(x1_0-0.4,y1_0+r1-0.5,'24');h1x1=x1_0+0.4*cos(thetah1-pi);h1y1=y1_0+0.4*sin(thetah1-pi); %作出第一個小表盤的指針h1x2=x1_0+0.2*cos(thetah1+pi/2);h1y2=y1_0+0.2*sin(thetah1+pi/2);h1x3=x1_0+1.8*cos(thetah1);h1y3=y1_0+1.8*sin(thetah1);h1x4=x1_
10、0+0.2*cos(thetah1-pi/2);h1y4=y1_0+0.2*sin(thetah1-pi/2);h1=fill(h1x1,h1x2,h1x3,h1x4,h1x1,h1y1,h1y2,h1y3,h1y4,h1y1,'g');plot(x1_0,y1_0,'w .','markersize',6);% 作第二個小表盤 %r2_0=6;theta2_0=5*pi/6; r2=3;theta2=linspace(0,2*pi,10000);x2_0=r2_0*cos(theta2_0);y2_0=r2_0*sin(theta2_0);x2
11、=x2_0+r2.*cos(theta2);y2=y2_0+r2.*sin(theta2);plot(x2,y2);theta_20=;x2a=;x2b=;y2a=;y2b=;for i=1:60 %畫出第二個小表盤的刻度 theta_20(i)=i*pi/30; x2a=x2_0+(r2-0.5)*cos(theta_20(i); x2b=y2_0+(r2-0.5)*sin(theta_20(i); y2a=x2_0+r2*cos(theta_20(i); y2b=y2_0+r2*sin(theta_20(i); line(x2a;y2a,x2b;y2b,'linewidth'
12、;,1);endtext(x2_0-0.3,y2_0+r2-0.8,'60'); %部分刻度給予數(shù)字顯示text(x2_0+1.4,y2_0-1.2,'20');text(x2_0-2,y2_0-1.2,'40');s1x1=x2_0+0.4*cos(thetas1-pi);s1y1=y2_0+0.4*sin(thetas1-pi); %作出第二個小表盤的指針s1x2=x2_0+0.2*cos(thetas1+pi/2);s1y2=y1_0+0.2*sin(thetas1+pi/2);s1x3=x2_0+1.8*cos(thetas1);s1y3
13、=y2_0+1.8*sin(thetas1);s1x4=x2_0+0.2*cos(thetas1-pi/2);s1y4=y2_0+0.2*sin(thetas1-pi/2);s1=fill(s1x1,s1x2,s1x3,s1x4,s1x1,s1y1,s1y2,s1y3,s1y4,s1y1,'g');plot(x2_0,y2_0,'w .','markersize',7);% 添加中間小圓圈,美化表盤 %for i=1:60 %畫出12個時針的刻度,為了美觀,采取個別不畫的原則 if (i>=1&&i<=10)|(i&g
14、t;=20&&i<=30)|(i>=40&&i<=50)|i=60 continue end theta0(i)=i*pi/30; xa=(r-4.8)*cos(theta0(i); xb=(r-4.8)*sin(theta0(i); ya=(r-4.5)*cos(theta0(i); yb=(r-4.5)*sin(theta0(i); if i=15|i=35|i=55 line(xa;ya,xb;yb,'linewidth',2); continue end line(xa;ya,xb;yb,'linewidth
15、39;,1);end% 作出第三個小表盤 %r3_0=6;theta3_0=3*pi/2;r3=3;theta3=linspace(0,2*pi,10000);x3_0=r3_0*cos(theta3_0);y3_0=r3_0*sin(theta3_0);x3=x3_0+r3.*cos(theta3);y3=y3_0+r3.*sin(theta3);plot(x3,y3);theta_30=;x3a=;x3b=;y3a=;y3b=;for i=1:60 %畫出第三個小表盤的刻度 theta_30(i)=i*pi/30; x3a=x3_0+(r3-0.2)*cos(theta_30(i); x3
16、b=y3_0+(r3-0.2)*sin(theta_30(i); y3a=x3_0+r3*cos(theta_30(i); y3b=y3_0+r3*sin(theta_30(i); if i=14|i=15|i=16|i=30|i=44|i=45|i=46|i=60 continue end line(x3a;y3a,x3b;y3b,'linewidth',1);endfor i=1:12 %整分的刻度給予加粗 if i=3|i=6|i=9|i=12 continue end theta_30(i)=i*pi/6; x3a=x3_0+(r3-0.5)*cos(theta_30(
17、i); x3b=y3_0+(r3-0.5)*sin(theta_30(i); y3a=x3_0+r3*cos(theta_30(i); y3b=y3_0+r3*sin(theta_30(i); line(x3a;y3a,x3b;y3b,'linewidth',1);endtext(x3_0-0.3,y3_0+r3-0.3,'60','fontsize',10); %部分刻度給予數(shù)字顯示text(x3_0-0.3,y3_0-r3+0.3,'30','fontsize',10);text(x3_0+2.4,y3_0,&
18、#39;15','fontsize',8);text(x3_0-2.9,y3_0,'45','fontsize',8);m1x1=x3_0+0.4*cos(thetam1-pi);m1y1=y3_0+0.4*sin(thetam1-pi);%作出第三個小表盤的指針m1x2=x3_0+0.2*cos(thetam1+pi/2);m1y2=y3_0+0.2*sin(thetam1+pi/2);m1x3=x3_0+1.8*cos(thetam1);m1y3=y3_0+1.8*sin(thetam1);m1x4=x3_0+0.2*cos(thet
19、am1-pi/2);m1y4=y3_0+0.2*sin(thetam1-pi/2);m1=fill(m1x1,m1x2,m1x3,m1x4,m1x1,m1y1,m1y2,m1y3,m1y4,m1y1,'g');plot(x3_0,y3_0,'w .','markersize',7);% 作出大表盤的指針 %thetas=(15-s0)*pi/30;thetam=(15-m0)*pi/30-s0*pi/1800;thetah=(3-h0)*pi/6-m0*pi/360-s0*pi/21600;hx1=(r-7)*cos(thetah+pi/25);
20、hy1=(r-7)*sin(thetah+pi/25);hx2=(r-4)*cos(thetah);hy2=(r-4)*sin(thetah);hx3=(r-7)*cos(thetah-pi/25);hy3=(r-7)*sin(thetah-pi/25);h=fill(0,hx1,hx2,hx3,0,0,hy1,hy2,hy3,0,'g');%作出大表盤的時針plot(0,0,'g .','markersize',40);mx1=(r-6)*cos(thetam+pi/30);my1=(r-6)*sin(thetam+pi/30);mx2=(r-
21、1.5)*cos(thetam);my2=(r-1.5)*sin(thetam);mx3=(r-6)*cos(thetam-pi/30);my3=(r-6)*sin(thetam-pi/30);m=fill(0,mx1,mx2,mx3,0,0,my1,my2,my3,0,'r');%作出大表盤的分針plot(0,0,'r .','markersize',30);sx1=(r-8)*cos(thetas+pi);sy1=(r-8)*sin(thetas+pi);sx2=(r-0.3)*cos(thetas);sy2=(r-0.3)*sin(thet
22、as);s=line(sx1;sx2,sy1;sy2,'color','m','linewidth',3);%作出大表盤的秒針plot(0,0,'m .','markersize',20);i=1;j=1;k=1;time=text(0,-12,num2str(h0),':',num2str(m0),':',num2str(s0);%以數(shù)字格式顯示初始時間while 1 if i>60 i=1; end thetas1=thetas1-pi/30; %時間走動時,變化相應(yīng)的表盤
23、的擺針的角度 thetam1=thetam1-pi/1800; thetah1=thetah1-pi/43200; sx1=(r-8)*cos(thetas-i*pi/30+pi); sy1=(r-8)*sin(thetas-i*pi/30+pi); sx2=(r-0.3)*cos(thetas-i*pi/30); sy2=(r-0.3)*sin(thetas-i*pi/30); mx1=(r-6)*cos(thetam-j*pi/1800+pi/30); my1=(r-6)*sin(thetam-j*pi/1800+pi/30); mx2=(r-1.5)*cos(thetam-j*pi/18
24、00); my2=(r-1.5)*sin(thetam-j*pi/1800); mx3=(r-6)*cos(thetam-j*pi/1800-pi/30); my3=(r-6)*sin(thetam-j*pi/1800-pi/30); hx1=(r-7)*cos(thetah-k*pi/21600+pi/25); hy1=(r-7)*sin(thetah-k*pi/21600+pi/25); hx2=(r-4)*cos(thetah-k*pi/21600); hy2=(r-4)*sin(thetah-k*pi/21600); hx3=(r-7)*cos(thetah-k*pi/21600-pi
25、/25); hy3=(r-7)*sin(thetah-k*pi/21600-pi/25); s1x1=x2_0+0.4*cos(thetas1-pi);s1y1=y2_0+0.4*sin(thetas1-pi); s1x2=x2_0+0.2*cos(thetas1+pi/2);s1y2=y1_0+0.2*sin(thetas1+pi/2); s1x3=x2_0+1.8*cos(thetas1);s1y3=y2_0+1.8*sin(thetas1); s1x4=x2_0+0.2*cos(thetas1-pi/2);s1y4=y2_0+0.2*sin(thetas1-pi/2); m1x1=x3_
26、0+0.4*cos(thetam1-pi);m1y1=y3_0+0.4*sin(thetam1-pi); m1x2=x3_0+0.2*cos(thetam1+pi/2);m1y2=y3_0+0.2*sin(thetam1+pi/2); m1x3=x3_0+1.8*cos(thetam1);m1y3=y3_0+1.8*sin(thetam1); m1x4=x3_0+0.2*cos(thetam1-pi/2);m1y4=y3_0+0.2*sin(thetam1-pi/2); h1x1=x1_0+0.4*cos(thetah1-pi);h1y1=y1_0+0.4*sin(thetah1-pi); h
27、1x2=x1_0+0.2*cos(thetah1+pi/2);h1y2=y1_0+0.2*sin(thetah1+pi/2); h1x3=x1_0+1.8*cos(thetah1);h1y3=y1_0+1.8*sin(thetah1); h1x4=x1_0+0.2*cos(thetah1-pi/2);h1y4=y1_0+0.2*sin(thetah1-pi/2); set(s,'xdata',sx1;sx2,'ydata',sy1;sy2); %畫出變化后的指針位置 set(m,'xdata',0,mx1,mx2,mx3,0,'ydata
28、',0,my1,my2,my3,0); set(h,'xdata',0,hx1,hx2,hx3,0,'ydata',0,hy1,hy2,hy3,0); set(m1,'xdata',m1x1,m1x2,m1x3,m1x4,m1x1,'ydata',m1y1,m1y2,m1y3,m1y4,m1y1); set(s1,'xdata',s1x1,s1x2,s1x3,s1x4,s1x1,'ydata',s1y1,s1y2,s1y3,s1y4,s1y1); set(h1,'xdata'
29、,h1x1,h1x2,h1x3,h1x4,h1x1,'ydata',h1y1,h1y2,h1y3,h1y4,h1y1); i=i+1;k=k+1;j=j+1; s0=s0+1; %計算當(dāng)前時間 if s0=60 s0=0; m0=m0+1; end if m0=60 m0=0; h0=h0+1; end if h0=24 h0=0; end delete(time); %刪除句柄 if s0<10&&m0<10&&h0<10 %重新顯示當(dāng)前時間,判斷時間的數(shù)字位數(shù),選擇是否在數(shù)字前面加0 time=text(-3,-12,
30、9;0',num2str(h0),':0',num2str(m0),':0',num2str(s0),'fontsize',30,'Fontname','Times New Roman'); else if s0<10&&m0<10&&h0>=10 time=text(-3,-12,num2str(h0),':0',num2str(m0),':0',num2str(s0),'fontsize',30,'Fontname','Times New Roman'); else if s0<10&&m0>=10&&h0<10 time=text(-3,-12,'0',num2str(h0),':',num2str(m0),':0',num2str(s0),'fontsize',30,'Fontname','Times New Roman'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 19973.2-2025醫(yī)療產(chǎn)品滅菌微生物學(xué)方法第2部分:用于滅菌過程的定義、確認和維護的無菌試驗
- 二手車交易按揭擔(dān)保合同樣本
- 畢業(yè)生創(chuàng)業(yè)合作合同模板
- 20《青山不老》(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 1 有余數(shù)的除法-第二課時(教學(xué)設(shè)計)-2023-2024學(xué)年二年級下冊數(shù)學(xué)蘇教版
- 國際咖啡豆購銷合同全文
- Module 3 單元整體(教學(xué)設(shè)計)-2024-2025學(xué)年外研版(三起)英語六年級上冊
- 聯(lián)合市場開發(fā)合同綱要
- 度全國總經(jīng)銷合同書
- Module 6 Unit 1 You can play football well(教學(xué)設(shè)計)-2024-2025學(xué)年外研版(一起)英語五年級上冊
- 腹股溝斜疝護理查房ppt
- 新教材青島版六三制四年級下冊科學(xué)全冊教案(教學(xué)設(shè)計)
- DB11-T 825-2021綠色建筑評價標準
- 醫(yī)院招聘醫(yī)護人員報名登記表
- 完整解讀2022年《義務(wù)教育課程方案》2022年《義務(wù)教育課程方案(2022版)》新課標PPT
- 央企最新版員工手冊vvv
- 新生兒科出科考試試卷試題
- 信息化教學(xué)設(shè)計教案大學(xué)語文
- 會議、匯報材料排版格式
- 華為公司產(chǎn)品線獎金分配暫行辦法
- 兒童能力評估量表(PEDI拍迪)
評論
0/150
提交評論