這次是(x^2 + y^2 - 1)(x - y)(x + y) + a(x^3y + y^3x) = 0,a從-4到4。
長相(6373x6373)
還做了個會動的版本
比起數學,花了更多時間看matlab的文件,比如說怎樣調輸出的size、解析度,怎樣不要有留白、怎樣不會算太久。
由於檔案都大到上傳不了,我還是直接給code
clear
clf
hold on
axis equal % 能夠輸出成正方形的關鍵
axis off
set(gcf,'Position',[0 0 1000 1000],'Renderer','painters','PaperUnits','centimeters','PaperPosition',[0 0 1000 1000])
a_range = 4;
F = @(x,y) (x.^2 + y.^2 - 1).*(x-y).*(x+y);
G = F;
for a = -a_range:0.1:a_range
G = @(x,y) F(x,y) + a.*x.^3.*y + a.*y.^3.*x;
if a < 0
plotcolor = [-a/a_range 0 0];
end
if a >= 0
plotcolor = [0 0 a/a_range];
end
% 這次這樣寫不知道為什麼就算得蠻快的,即使MeshDensity調到2000也可以在幾分鐘內算出來。
fimplicit(G,[-2 2 -2 2],Color=plotcolor,MeshDensity=2000,LineWidth=0.1)
% 想輸出成GIF可以參考這裡。
% exportgraphics(gca,"<你的檔案名稱>.gif","Append",true,'Resolution',<自訂你的解析度>)
end
% exportgraphics(gcf,"<你的檔案名稱>.<檔名可以用png、jpg、eps、pdf...但不支援svg>")
% 如果你輸出的檔案有解析度的概念,那這行後面還可以調解析度
% 如果你想輸出成svg那就是用saveas