所以我使用一個開源.NET庫,用於繪製:FPlot視覺藝術品繪製2D功能等高線圖(使用FPlot)時
下面是我想要繪製函數: F(X,Y) = X^2 + 3 * Y^2 + 2 * X * Y
這裏就是我想要它看起來像:
澄清:
- 我不需要完全相同的appearence爲圖像中,我只需要情節是數學上正確
- 有10只在圖片conours,我需要儘可能多的能夠適合屏幕 上
以下是我試圖做到這一點:
var graphFunction = new Function2D();
graphFunction.source = "return (pow(x,2)+3*pow(y,2)+2*x*y)/10;";
/* I'm dividing by 10 because otherwise the whole plot is solid color */
graphFunction.Compile(true);
這就是FPlot產生的情節如何查找密切:
這正是我想要的,但是當我縮小這裏發生了什麼: Theese 額外的橢圓不應該在那裏,其實它們不存在,這僅僅是一個圖形化的假象,因爲當你放大到theese「假」省略號之一,這是你所看到的:
的問題可以在這一行:
graphFunction.source = "return (pow(x,2)+3*pow(y,2)+2*x*y)/10;";
...或在FPlot源代碼中。有任何想法嗎?
UPDATE: 所以,圖中的z值似乎是問題所在。當圖中函數z = f(x,y)的值超過z1(max z)值時,它將重置爲z = z%z1(當z低於z0時會發生同樣的情況),這會導致這些「行」 - 他們不是像我想的那樣排隊。
這意味着解決方案是:在屏幕上將z0設置爲min f(x,y),並將z1設置爲max f(x,y)。
有沒有辦法打開反鋸齒?或者畫一個尺寸爲4倍的畫布,然後縮小尺寸? – LutzL
我試圖搞亂圖的所有屬性。沒有一個可以幫助 –
這可能是實際線條和顯示像素之間的轉換,像Minecraft這樣的遊戲在從遠距離顯示重複紋理時也有類似的問題 – Cjen1