前往
大廳
主題

其實我在學習影像處理啦哈哈

你有沒有嘗試過登出? | 2022-09-23 21:45:17 | 巴幣 22 | 人氣 177

這次是(x^2 + y^2 - 1)(x - y)(x + y) + a(x^3y + y^3x) = 0,a從-44

長相(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




創作回應

雪中一絲雨
2022-09-23 23:17:27

相關創作

更多創作