word
word
1 / 10
word
有谁知道怎么用极坐标画一个五角星么,?
ParametricPlot[{6/25 Cos[t] + 4/25 Cos[3/2 t],
6/25 Sin[t] - 4/25 Sin[)*7*10^-6*
word
word
4 / 10
word
Cos[Sqrt[x^2 + y^2]/]], {x, -, }, {y, -, }]
播放中图像错误是因为在播放的两帧之间时间太短,电脑来不与进展准确的计算,所以图像模糊,播放停止后电脑进展较为准确的计算,图像就恢复了
解决方法是提前绘制好图像然后用ListAnimate播放,代码如下
movies = Table[
DensityPlot[
2 + 2 Cos[(4 \[Pi])/(n*10^-9)*7*10^-6*
Cos[Sqrt[x^2 + y^2]/]], {x, -, }, {y, -,
}], {n, 400, 760, 10}];
ListAnimate[movies]
另外由于你这个函数震荡比拟严重,所以默认的绘图参数效果不是很好,增加PlotPoints或MaxRecursion选项 可以提高绘图质量,效果如下,但相应的绘图时间也会大大增加,你可以尝试一下,然后自己取舍【图片】
word
word
5 / 10
word
至于换成极坐标我觉得没有太大意义,./questions/3680/how-do-i-draw-a-densityplot-in-polar-coordinates 这里是SE上的一个相关讨论,你可以看下
如果只是针对这个函数的话因为变化只和r有关,所以可能会有一些针对性的优化方法,比如 用ListDensityPlot指定取点位置之类的,但是点的位置指定起来有点费劲,取多了速度太慢,取少了效果又不好,我还没折腾利索所以就先不发了
试着搞了一个出来,大致思路是找到函数变化比拟剧烈的地方,然后用ListDensityPlot画出来。【图片】【图片】
word
word
6 / 10
word
可以看到快了5倍左右,而且质量还算能忍了。代码如下:
myPlot[n_] := Module[{f, rlist, data},
f[r_] := 2 + 2 Cos[(4 \[Pi])/(n*10^-9)*7*10^-6*Cos[r/]];
rlist =
Cases[Normal
Plot[f'[r] f''[r], {r, 0, }, MeshFunctions -> (#2 &),
Mesh -> {{0}}], Point[{x_, y_}] :> x, Infinity]~
Join~{0, } // Sort;
data =
Table[{r Cos[\[Theta]], r Sin[\[Theta]], f[r]}, {r,
word
word
7 / 10
word
用极坐标画一个五角星 Mathematica 来自淘豆网m.daumloan.com转载请标明出处.