心形曲线-生日蛋糕matlab程序_第1页
心形曲线-生日蛋糕matlab程序_第2页
心形曲线-生日蛋糕matlab程序_第3页
心形曲线-生日蛋糕matlab程序_第4页
心形曲线-生日蛋糕matlab程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、%心形曲线clc;const=0;x=-5:0.05:5;y=-5:0.05:5;z=-5:0.05:5;x,y,z=meshgrid(x,y,z);f=(x.2 + (9/4)*y.2 + z.2 - 1).3 - x.2.*z.3 - (9/80)*y.2.*z.3-const;p=patch(isosurface(x,y,z,f,0);set(p, FaceColor, red, EdgeColor, none);daspect(1 1 1)view(3)camlight; lighting phong;grid on%生日蛋糕% Following code bakes a birth

2、day cakeforsomeone special to whom you% wanna surprise on his/her birthday with a cake in MATLAB ;)% This is a chocolate flavored cake decorated with cheries on top .% yyuummmyy :) :)% Lighted birthday candle has been put up on cake; Think of a wish and blow% off candle by clicking on flame (yellowi

3、sh in colour). and here comes% the celebration with birthday song. :) :) . Wish you a very very happy% birthday.% While running code, make sure that PC speakers are ON% Cake prepared by Amol G. Mahurkar% Birthday_gift.m Revisions% Version 1.2 04/25/2013 A/V sync% Version 1.112/19/2011% Version 1.010

4、/28/2011% Please suggest some extra features you think should be inthisbirthday gift%function Birthday_gift()clc; clear; close all;instruc = Happy Birthday !,char(10),char(10),.Here is a birthday cake for someone special,char(10),char(10),.Make sure that PC speakers are ON,char(10),char(10),.This ca

5、ke has following features:,char(10),.1. Chocolate flavored. and yummy :) :) ,char(10),.2. Decorated with cheries :) :),char(10),.3. Lighted birthday candle on top of it,char(10),char(10),.Think of a wish, and,char(10),.Blow off candle by clicking on flame (yellowish in colour, obviously),char(10),.E

6、njoy your birthday cake!,char(10),char(10),.And ya, wish you a very happy birthday;if(strcmp(Ok,questdlg(instruc,Surprise !,Ok,Cancel,Ok)quit;endglobal bday_name;global your_name;temp = inputdlg(Birthday boy/girl name:,Best Wishes from:);bday_name = temp1;your_name = temp2;clear temp;% Basen = 20;th

7、eta = (0:n)/n*2*pi;sintheta =sin(theta); sintheta(n+1) = 0;m = 11;r = ones(1,m);x1 = r *cos(theta);y1 = r * sintheta;z1 = (0:m-1)/(m-1) * ones(1,n+1);r = 1 1 linspace(0.8,0,9);x2 = r *cos(theta);y2 = r * sintheta;z2 = ones(11,21);% Cherrytheta = (-n:2:n)/n*pi;phi = (-n:2:n)/n*pi/2;cosphi =cos(phi);

8、cosphi(1) = 0; cosphi(n+1) = 0;sintheta =sin(theta); sintheta(1) = 0; sintheta(n+1) = 0;x3 = 0.1.*cosphi*cos(theta);y3 = 0.1.*cosphi*sintheta;z3 = 0.1.*sin(phi)*ones(1,n+1);% Candlex4=0.05.*ones(m,1)*cos(theta) + 0.5;y4=0.05.*ones(m,1)*sintheta + 0.5;z4 = (0:m-1)/(m-1) * ones(1,n+1) + 0.5;r11=linspa

9、ce(0.05,0,10);r11=0.05 r11;r11=r11;x5=r11*cos(theta) + 0.5;y5=r11*sintheta + 0.5;z5 = linspace(1.5,1.8,11) * ones(1,n+1);% Flametheta = (-n:2:n)/n*pi;phi = (-n:2:n)/n*pi/2;cosphi =cos(phi); cosphi(1) = 0; cosphi(n+1) = 0;sintheta =sin(theta); sintheta(1) = 0; sintheta(n+1) = 0;x6 = 0.04.*cosphi*cos(

10、theta) + 0.5;y6 = 0.04.*cosphi*sintheta + 0.5;z6 = (linspace(1.7,2,21)*ones(1,n+1);% Cakefigure1, axes1 = figureset();cake_w_flame(x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,figure1,axes1,1);again = 1;while(again)xin yin = ginput(1);if(xin -1 & yin -1)again = 0;load(bday_song_8bit_11025.m

11、at);% sound(song,11025,8);obj = audioplayer(song, 11025, 8);play(obj);close(figure1)figure1, axes1 = figureset();cake_w_flame(x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,figure1,axes1,0);eatmore =Wanna eat more ? Use rotate tool or/and zoom in/out tool for it;msgbox(eatmore);elsewhile(strc

12、mp(questdlg(Blow off candle,Click on candle to blow it off,Ok,No),Ok)endagain = 1;endendfunction figure1, axes1 = figureset()figure1 = figure(NumberTitle,off,Name,Wish you a very very happy birthday);axes1 = axes(Visible,off,Parent,figure1,PlotBoxAspectRatio,1 1 1,.DataAspectRatio,1 1 1,CameraViewAn

13、gle,10);% 10.7508094342063view(axes1,-72.5 30);hold(axes1,all);oldRootUnits=get(0,Units);set(0,Units,Pixels);pos=get(0,ScreenSize);set(0,Units,oldRootUnits);maxPos=-3 27 pos(3)+8 pos(4)-22;oldUnits=get(figure1,Units);oldActivePositionProperty=get(figure1,ActivePositionProperty);set(figure1,Units,Pix

14、els,ActivePositionProperty,outerposition);set(figure1,Position,maxPos,OuterPosition,maxPos);set(figure1,Units,oldUnits,ActivePositionProperty,oldActivePositionProperty);% Cake w/wo flamefunction cake_w_flame(x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,axes1,flame)global bday_name;global yo

15、ur_name;surf(x1,y1,z1,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,0.200000002980232 0 0);surf(x2,y2,z2,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,0.600000023841858 0.200000002980232 0);text(Parent,axes1,String,Happy Birthday,Position,-0.57 0.18 1.5,.FontSize,28,.FontNa

16、me,Monotype Corsiva,Color,1 0 0);text(Parent,axes1,String,bday_name,Position,-0.3 -0.1 1.2,.FontSize,28,.FontName,Monotype Corsiva,Color,1 0 0);text(Parent,axes1,String,Best Wishes from ,your_name,Position,-1.5 -1.5 1.5,.FontSize,28,.FontName,Monotype Corsiva,Color,1 0 0);surf(x3+0,y3+0.8,z3+1.1,Par

17、ent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,1 0 0);surf(x3+0,y3-0.8,z3+1.1,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,1 0 0);surf(x3+0.8,y3+0,z3+1.1,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,1 0 0);surf(x3-0.8,y3+0,z3+1.1,Parent,axes1,FaceLighting,phong,.

18、LineStyle,none,.FaceColor,1 0 0);surf(x4,y4,z4,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,0.925490200519562 0.839215695858002 0.839215695858002);surf(x5,y5,z5,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,0.925490200519562 0.839215695858002 0.839215695858002);if(flame=1)

19、surf(x6,y6,z6,Parent,axes1,FaceLighting,phong,.LineStyle,none,.FaceColor,1 1 0);endlight(Parent,axes1,Style,local,.Position,-10.162701816704 -0.924193626363743 14.9951905283833);if(flame=0)fori=1:110view(axes1,-10*i 20+0.2727*i)pause(0.205) %0.15endend% EOFfunction Y,FS,NBITS,encoding_info,tag_info,

20、out = mp3read(FILE)%MP3READ Read MP3 (.mp3) sound file.% Y = MP3READ(FILE) reads a MP3 file specified by the string FILE,% returning the sampled data in Y. Amplitude values are in the range -1,+1.% % Y,FS,NBITS,encoding_info,ID3v1_tag_info = MP3READ(FILE) returns the sample rate (FS) in Hertz% and t

21、he number of bits per sample (NBITS) used to encode the% data in the file.% encoding_info is a string containing information about the mp3% encoding used% ID3v1_tag_info is a string containing the tag information of the file% (only ID3v1 tag supported in this version)% % Supports two channel or mono encoded data, with up to 16 bits per sample.% % See also MP3WRITE, WAVWRITE, AUREAD, AUWRITE.a = length(FILE);if a = 4 exten = FILE(a-3:a); if exten = .mp3 FILE = strcat(FILE,.mp3); endendif a = 3 FILE =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论