资源描述:
《用极坐标画一个五角星mathematica》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用标准有谁知道怎么用极坐标画一个五角星么,?ParametricPlot[{6/25Cos[t]+4/25Cos[3/2t],6/25Sin[t]-4/25Sin[3/2t]},{t,0,4Pi},Axes->False]就知道参数方程有这个PolarPlot[1/Cos[2[Pi]/5-Mod[[Theta],4[Pi]/5]],{[Theta],0,4[Pi]}]萌新准备做一个迈克尔逊干涉条纹的动态模拟。函数如下I[x,y]=2+2Cos[(4[Pi])/(632.8*10^-9)*7*10^-6*Cos[Sqrt[x^2+y^2]/0.1
2、5]DensityPlot[2+2Cos[(4Pi/(632.8*10^(-9)))*7*10^(-6)*Cos[(Sqrt[x^2+y^2])]/0.15],{x,-0.2,0.2},{y,-0.2,0.2}]Manipulate[DensityPlot[2+2Cos[(4Pi/(n*10^(-9)))*7*10^(-6)*Cos[(Sqrt[x^2+y^2])]/0.15],{x,-0.06,0.06},{y,-0.06,0.06}],{n,400,760,10}]精彩文档实用标准Manipulate[DensityPlot[2+2Cos[(4[Pi]
3、)/(n*10^-9)*7*10^-6*Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,0.06}],{n,400,760,10}]精彩文档实用标准DensityPlot[2+2Cos[(4[Pi])/(632.8*10^-9)*7*10^-6*Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,0.06}]DensityPlot[2+2Cos[(4[Pi])/(632.8*10^-9)*7*10^-6*精彩文档实用标准Cos[Sqrt[x^2+y^2]/0.
4、15]],{x,-0.2,0.2},{y,-0.2,0.2}]播放中图像错误是因为在播放的两帧之间时间太短,电脑来不及进行精确的计算,所以图像模糊,播放停止后电脑进行较为精确的计算,图像就恢复了解决方法是提前绘制好图像然后用ListAnimate播放,代码如下movies=Table[DensityPlot[2+2Cos[(4[Pi])/(n*10^-9)*7*10^-6*Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,0.06}],{n,400,760,10}];ListAnimate[movies]另外
5、由于你这个函数震荡比较严重,所以默认的绘图参数效果不是很好,增加PlotPoints或MaxRecursion选项可以提高绘图质量,效果如下,但相应的绘图时间也会大大增加,你可以尝试一下,然后自己取舍【图片】精彩文档实用标准至于换成极坐标我觉得没有太大意义,http://mathematica.stackexchange.com/questions/3680/how-do-i-draw-a-densityplot-in-polar-coordinates这里是SE上的一个相关讨论,你可以看下如果只是针对这个函数的话因为变化只和r有关,所以可能会有一些针对性的
6、优化方法,比如用ListDensityPlot指定取点位置之类的,但是点的位置指定起来有点费劲,取多了速度太慢,取少了效果又不好,我还没折腾利索所以就先不发了试着搞了一个出来,大致思路是找到函数变化比较剧烈的地方,然后用ListDensityPlot画出来。【图片】【图片】精彩文档实用标准可以看到快了5倍左右,而且质量还算能忍了。代码如下:myPlot[n_]:=Module[{f,rlist,data},f[r_]:=2+2Cos[(4[Pi])/(n*10^-9)*7*10^-6*Cos[r/0.15]];rlist=Cases[Normal@Plot
7、[f'[r]f''[r],{r,0,0.2},MeshFunctions->(#2&),Mesh->{{0}}],Point[{x_,y_}]:>x,Infinity]~Join~{0,0.2}//Sort;data=Table[{rCos[[Theta]],rSin[[Theta]],f[r]},{r,精彩文档实用标准rlist},{[Theta],0,2[Pi],[Pi]/30.}]~Flatten~1;ListDensityPlot[data]];myPlot[632.8]//AbsoluteTiming大致思路就是这样,如果有进一步的需求比
8、如提高绘图质量或者更改绘图范围之类的也可以在这基础上