刚才在网上发现了上面这张猛图。急着想验证一下,但不知道Mathematica如何画极坐标的隐函数,于是写了一个Free Pascal的小程序。大家也可以试着把这个小程序粘贴到Free Pascal里运行一下看看。
{$ASSERTIONS+}
uses graph,math;
function f(t,r:extended):extended;
begin
exit((cos(t-r)-sin(t)) * (r**4-2*r**2*cos(2*t+2.4)+0.9)+(0.62*r)**1000);
end;
var
i,j,gd,gm:integer;
t,r:extended;
begin
gd:=D8bit;
gm:=m640x480;
InitGraph(gd,gm,'');
Assert(graphResult=grOk);
for i:=0 to 1000 do
for j:=0 to 1000 do
begin
t:=(2*pi)*i/1000;
r:=2*j/1000;
if f(t,r)<0 then
PutPixel(round(cos(t)*r*100)+300,round(sin(t)*r*100)+200,15)
end;
readln;
CloseGraph;
end.
果然不出所料,下面就是程序运行的结果:
每一次提到这类的东西,我都有一种把原来的那些牛B东西一起列出来的冲动。大家不要说我赚PV哦。
爱的方程式
爱的方程式3D版
数学公式生成的色情图片
Tupper自我指涉公式
隐藏在函数里的问候
这是沙发了吧,哈哈。改版后第一个沙发。
这个函数还真是奇妙。
不错 可是我的FP为什么编译失败?
的确很强大…
很好
编译失败’s time
http://web.aanet.com.au/superseed/ajmcrae/TupperPlot/TupperPlot.html
http://www.dgp.toronto.edu/~mooncake/papers/SIGGRAPH2001_Tupper.pdf
想问问大牛同志,这个WORDPRESS注册用户时怎么收不到邮件…
还有你那个TAGCLOUD是怎么弄出来的什么插件 ?
谢了 .
鄙人也用WORDPRESS.
这是什么软件啊
Mathematica 6里面可以用ContourPlot来绘图,不过效率……
请问这些函数是怎么被发现的?是您发现的?太神奇了,能将一下他的构造过程吗?
a! screaming!
我不行了 太强了!!!
啊 amazing!
我也编译失败。告诉我必须在前面写unit
怎么复制啊…我不会啊…
上面的图与下面的,不同,二图关于y轴对称。
不了解freepascal,如果把y改成其相反数,图就对了:
PutPixel(round(cos(t)*r*100)+300,round(-sin(t)*r*100)+200,15)
再试着用freepascal作x+y<1的图,发现也不对。也要把y改成其相反数:
{$ASSERTIONS+}
uses graph,math;
var
i,j,gd,gm:integer;
x,y:extended;
begin
gd:=D8bit;
gm:=m640x480;
InitGraph(gd,gm,”);
Assert(graphResult=grOk);
for i:=0 to 1000 do
begin
for j:=0 to 1000 do
begin
x:=2*i/1000;
y:=2*j/1000;
if (x+y)<1 then
PutPixel(round(x*100)+300,round(-y*100)+200,1)
end;
end;
readln;
CloseGraph;
end.
不知道在Delphi里面需要改动多少
(cos(theta-r)-sintheta)(r^4-2r^2cos(2theta+2.4)+0.9)+(0.62r)^100<0;0<theta0
for i:=0 to 1000 do
begin
for j:=0 to 1000 do
begin
x:=2*i/1000;
y:=2*j/1000;
if (x+y)<1 then
PutPixel(round(x*100)+300,round(-y*100)+200,1)
end;
end;
上面这个作图软件好贵,100美刀
有谁共享下?
Mathematica画也不难,速度很快:
RegionPlot[(Cos[th – r] – Sin[th]) (r^4 – 2 r^2 Cos[2 th + 2.4] +
0.9) + (0.62 r)^1000 2] /. (GraphicsComplex[pts__, t_] :>
GraphicsComplex[pts /. {r_, th_} :> {r Cos[th], r Sin[th]}, t])
楼上的代码怎么被吞了?
RegionPlot[(Cos[th – r] – Sin[th]) (r^4 – 2 r^2 Cos[2 th + 2.4] +
0.9) + (0.62 r)^1000 2] /. (GraphicsComplex[pts__, t_] :>
GraphicsComplex[pts /. {r_, th_} :> {r Cos[th], r Sin[th]}, t])