城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

4种傅里叶变换波形可视化pythonpygame实现

7月3日 赤雷榭投稿
  1说明:
  1。1代码来源:感谢原作者,并对代码进行修改,删除,注释。https:github。comVacantHuskyFouriervisualization
  1。2直接上效果图:4种傅里叶波形(方波,锯齿波,半圆波,三角波)可视化效果。
  1。3方波:
  有功能调节的
  1。4锯齿波:
  1。5半圆波:
  1。6三角波:
  2代码:
  2。1第1步:导入模块importpygame,math,time,random,osfrompygame。localsimportfromsysimportexit
  2。2第2步:第2步:颜色初始化设定white(255,255,255)black(0,0,0)yellow(200,200,0)green(0,255,0)blue(0,0,255)red(255,0,0)圆圈的线条颜色,随机每次打开都不一样,来自于这里,你可以随意添加、删除colorlist〔blue,red,yellow,green,white〕
  2。3第3步:第3步:参数设定窗口的宽和高WINDOWW1800WINDOWH1200onetime1时间流速(默认1)scale120缩放(默认120)FPS60帧率pointsize8点的大小startxy(300,int(WINDOWH2))圆的位置波形图参数bxy(600,startxy〔1〕)波形图原点坐标bscale1波形图缩放bcoloryellow波形图颜色blengthint(WINDOWW2)右侧波形图显示的长度,初始化500,可调节
  2。4第4步:第4步:定义右侧波形函数defgetwave(name方波,maxi20):从这里可以获得一些特定的波形:paramname:波形的名字:方波,锯齿波,半圆波,三角波:parammaxi:用多少个三角函数来拟合它:return:该波形的参数列表maximax(maxi,1)fourierlist〔〕ifname方波:Amax4math。piforiinrange(1,maxi):fourierlist。append(〔Amax(2i1),2i1,0〕)elifname锯齿波:Amax1math。piforiinrange(1,maxi):fourierlist。append(〔Amaxi,i,0〕)elifname半圆波:Amax8(math。pi2)foriinrange(1,maxi):fourierlist。append(〔Amax(2i1)2,2i1,0〕)elifname三角波:Amax8(math。pi2)foriinrange(1,maxi):fourierlist。append(〔Amax((1)(i1))(2i1)2,2i1,0〕)else:raiseTypeError(未知的类型)returnfourierlist
  2。5第5步:自己增加的第5步:终端输入需要查看波形print(请输入要查看的波形:方波,锯齿波,半圆波,三角波;请关闭窗口退出)ainput(本次输入后查看的波形是:)fourierlistgetwave(a)
  2。6第6步:如果报错,就是这一步,字体需要自己提前弄好第6步:窗口初始化设定初始化pygamepygame。init()os。environ〔SDLVIDEOWINDOWPOS〕d,d(10,40)创建一个窗口screenpygame。display。setmode((WINDOWW,WINDOWH),pygame。DOUBLEBUF,32)pygame。display。setcaption(傅里叶变换可视化)显示中文字体,hwfs华文仿宋,可自行下载相关字体,放在根目录下fontpygame。font。Font(hwfs。ttf,40)字体变大后,注意上下行间距调整
  2。7第7步:核心一,没动第7步:画圆函数classCircle():x,y0,0r0angle0anglev0color(0,0,0)初始化主圆的波形颜色fatherNonedefinit(self,r,anglev,angle,colorNone,fatherNone):self。rrself。anglevanglevself。angleangleself。fatherfatherifcolorisNone:主圆的波形颜色,随机选择self。colorrandom。choice(colorlist)else:self。colorcolordefsetxy(self,xy):self。x,self。yxydefgetxy(self):return(self。x,self。y)defsetxybyangle(self):self。xself。father。xself。rmath。cos(self。angle)scaleself。yself。father。yself。rmath。sin(self。angle)scaledefrun(self,steptime):ifself。fatherisnotNone:self。angleself。anglevsteptimeself。setxybyangle()defdraw(self,screen):colorantuple(map(lambdax:x3,self。color))画圆pygame。draw。circle(screen,self。color,(int(self。x),int(self。y)),pointsize)画轨道ifself。fatherisnotNone:pygame。draw。circle(screen,coloran,(int(self。father。x),int(self。father。y)),max(int(self。rscale),1),1)pygame。draw。line(screen,self。color,(int(self。father。x),int(self。father。y)),(int(self。x),int(self。y)),1)
  2。8第8步:第8步:圆内嵌套圆函数classBoxin():ys〔〕defaddpoint(self,y):self。ys。append(y)iflen(self。ys)blength:self。ys。pop(0)defdraw(self,screen):画一个圆pygame。draw。circle(screen,bcolor,(bxy〔0〕,int(bxy〔1〕self。ys〔1〕scale)),pointsize)bllen(self。ys)foriinrange(bl1):pygame。draw。line(screen,bcolor,(bxy〔0〕int((bli)bscale),int(bxy〔1〕self。ys〔i〕scale)),(bxy〔0〕int((bli1)bscale),int(bxy〔1〕self。ys〔i1〕scale)),1)
  2。9第9步:第9步:傅里叶圆的嵌套圆fourierlistsorted(fourierlist,keylambdax:x〔0〕,reverseTrue)supercircleCircle(0,0,0)supercircle。setxy(startxy)circlelist〔supercircle〕foriinrange(len(fourierlist)):pfourierlist〔i〕circlelist。append(Circle(p〔0〕,p〔1〕,p〔2〕,fathercirclelist〔i〕))bxBoxin()clockpygame。time。Clock()
  2。10第10步:第10步:游戏主循环whileTrue:foreventinpygame。event。get():退出设置ifevent。typepygame。QUIT:exit()键盘参数设置elifevent。typeKEYDOWN:空格键退出ifevent。keyKESCAPE:exit()方位:,功能设定elifevent。keyKLEFTandonetime0。1:onetime0。9onetimemax(onetime,0。1)按方位键:,功能设定elifevent。keyKRIGHTandonetime10:onetime1。1按或者,功能设定elif(event。keyKEQUALSorevent。keyKPLUS)andscale800:scale1。1按,功能设定elifevent。keyKMINUSandscale0。001:scale0。9scalemax(scale,0。001)按字母l或L,功能设定elifevent。keyKlandbscale10:bscale1。1按字母k,功能设定elifevent。keyKkandbscale0。1:bscale0。9bscalemax(bscale,0。1)else:print(type(event。key),event。key)将背景图画上去screen。fill(black)运行fori,circleinenumerate(circlelist):circle。run(onetimeFPS)circle。draw(screen)lastcirclecirclelist〔1〕pygame。draw。line(screen,lastcircle。color,(int(lastcircle。x),int(lastcircle。y)),(int(bxy〔0〕),int(lastcircle。y)),1)画波形bx。addpoint((lastcircle。ybxy〔1〕)scale)bx。draw(screen)左上角画文字,注意字体变大后注意上下行间距调整textobjfont。render(可调节参数说明:,1,red)screen。blit(textobj,(10,10))textobjfont。render(键:加速减速,11,white)screen。blit(textobj,(10,55))textobjfont。render(键:放大缩小,1,white)screen。blit(textobj,(10,95))textobjfont。render(LK键:波形图放大缩小,1,white)screen。blit(textobj,(10,135))可变化的动态值textobjfont。render(注意变化后参数:,1,red)screen。blit(textobj,(int(WINDOWW2),10))textobjfont。render(时间速率:{:。3f},放大比例:{:。3f}。format(onetime,scale),1,green)screen。blit(textobj,(int(WINDOWW2),55))textobjfont。render(波形图放大比例:{:。3f}。format(bscale),1,green)screen。blit(textobj,(int(WINDOWW2),95))textobjfont。render(FPS:{}。format(clock。getfps()),1,green)screen。blit(textobj,(int(WINDOWW2),135))pygame。display。update()timepassedclock。tick(FPS)
  3傅里叶:
  3。1傅里叶:
  傅里叶画像
  3。2(17681830),法国著名数学家、物理学家,1817年当选为科学院院士,1822年任该院终身秘书。
  3。3傅里叶变换:他的主要成就。
  可以参考外网的这篇文章,《傅里叶变换的意义和理解(通俗易懂)》。
投诉 评论 转载

小马快跑育儿提升孩子的社交能力,好处多多当今社会,人们越来越重视社交,但很多家长认为,孩子还小,离社会还远着呢?不用着急培养孩子的社交能力。其实社交是无处不在的,孩子与孩子之间的交往也是社交。社会关系良好的孩子特别开……一千个伤心的理由里,这5个最常见我们的身体里,有一个最繁忙的器官,她就是心脏。假如一个人的心脏每分钟能够跳动70次,到70岁时,心脏每天就需要跳动10万次左右,一生将近要跳动26亿次。我们的心脏,就像一……4种傅里叶变换波形可视化pythonpygame实现1说明:1。1代码来源:感谢原作者,并对代码进行修改,删除,注释。https:github。comVacantHuskyFouriervisualization1。……在雇主家,我如何跟性格习惯和育儿理念完全不同的人相处我相信很多育儿师都遇到过这种情况,就是雇主家有一个煮饭的保姆,或者是孩子奶奶常年在家。两人在一起带娃和煮饭,做家务,难免会产生一些分歧。我一般就先对她们说明白我的观点,怎样做对……13岁重度抑郁症女孩症状有所缓和,但还时不时说好想死之类的话我是一位13岁重度抑郁症女孩子的父亲。这几天孩子的症状好象有所缓解,昨天晚上孩子还对我说,感觉比之前要好一些。尽管如此,昨天下午两点多和晚上十一点多的时候还是说了几句想死……国际不打小孩日孩子身上这4个部位打不得,会致命!今天是国际不打小孩日(4月30日)。就在这几天,黑龙江一名4岁的女童遭虐待事件受到关注。据媒体报道,该女童疑被其亲生父亲于某龙和继母曲某某虐待,身上有多处明显伤痕。……体育,竞技者的人生被彻底改变奥运会结束了。这届奥运会弥足珍贵,它重新为人们提供了竞技体育的入口,让人体会那些久违的澎湃,那些家国热血与一己梦想共振的瞬间。这就是体育的魅力啊。它把我们之中更高更强者激……海淀区培英小学皮影读本进课堂培养未来非遗人新学期的第一天,北京市海淀区培英小学的同学们就收到了开学礼皮影读本。历经一年半的研发,在北京皮影剧团和海淀区非遗展示中心的支持协助下,两本皮影读本《有趣的中国皮影戏》《皮影戏的……家长为了让孩子成为自己心中的样子,差点毁了孩子的一辈子当今社会,望子成龙,望女成凤似乎成为了很多家长心中所愿,但却从未真正站在孩子的角度思考过。父母所设立的这些目标与期望,到底是为了孩子的未来发展,还是为了满足自己的愿望与利……学习强国争上游改四人赛,积分规则有变化,分数差距进一步缩小学习强国:争上游改四人赛,积分规则有变化,分数差距进一步缩小昨日,学习强国后台突然弹出一个优化升级的通知,但是并没有升级仍然可以用的。然而并没有发现哪里出现了变化?今天做……如何用有效的方法,培养孩子的责任心?正面管教魔法书有5招2015年我参加一场国际会议,时至至今,会议内容已经模糊不清,但同行金发女老师的孩子至今让我印象深刻。金发女老师有一个大女儿,一个小女儿,小女儿还是个小婴儿。为了让小女儿能够每……当看见别人家优秀的娃,总认为是孩子不一样时,你在错过什么?奥运会,14岁全红婵进入大家视野;冬奥会,18岁的谷爱凌、苏翊鸣成为大家谈论最多的人。为何这些孩子如此优秀?因为他们有天赋还努力。我们是得承认人和人之间的差异……
有趣的父母万里挑一傅首尔陪儿子在家开运动会,网友直呼羡慕今年大枣行情如何有没有上涨的趋势闵子的出生地和下葬处在何地午后之随想距离感让人舒适的人际关系家里有无数本育儿书的我,看来看去最喜欢还是这6本印花连衣裙搭配图片夏末穿出仙女范儿蚊子最喜欢叮咬什么体制的人抗癌男青年离开了对米饭也会过敏?过敏原有多奇葩,你根本想不到喝酒竟然对肝脏有这些危害?你还敢喝酒吗?有种夏东海式老爸叫秦沛,接纳女儿不结婚,网友还缺女儿不两世欢大结局原清离怎么样了风眠晚和景辞归隐众人物世道胡说三无的抑郁症人群吃什么水果可以给皮肤补水为中华之崛起而读书据说苹果14要出来了,我还是买的华为股票基金需要信心守候高考前的说说高考在即发什么朋友圈春季开学典礼作文小学生精选羊肉泡馍高三孩子静不下心学习怎么回事高三孩子静不下心学习解决方法环境下的高校图书馆个性化网站的设计研究满月婴儿发烧的表现有哪几种

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找