2011-03-24 14 views
1

我在編寫程序(fortran90),它用電流計算一些靜態電線組的磁場。 ,其輸出爲多點,與列「X,Y,Z,v_x,v_y,v_z)文件中的磁場矢量我能與gnuplot的繪製這一點,如:在一組等值面中重新計算一個3d矢量場

Single Vertical Wire

但現在我要重寫程序以輸出等值面(表面處的磁場矢量的模量是恆定的),這樣的(它是在互聯網上找到,並且不對應於第一圖像)

Some isosurface example

我能執行此作爲第二個程序或使用實用工具,它將把我的文件轉換成6列的格式...... c被繪製爲表面集。這樣做的另一種方式,因爲我認爲,是重寫第一個程序直接計算等值面。請推薦我哪種方式更好,我怎樣才能做到這一點。

回答

0

我覺得MathGL可以很容易地做到這一點。它也是具有Fortran接口的跨平臺GPL繪圖庫。在這裏,您可以使用vector fieldsisosurface繪製的連續通話。

+0

我認爲,mathgl不會插我的矢量場數爲等值面方程。在鏈接的例子中我沒有看到這樣的用法。我的任務是從矢量場轉換成矢量模數的等值面。 – osgx 2011-06-08 18:01:42

+0

爲什麼不呢?只需創建新的數組d = sqrt(v_x * v_x + v_y * v_y + v_z * v_z)併爲其繪製等值面。在這裏,你也可以繪製矢量場。或者你想從等值面(s)中的點繪製矢量?這種情況有點複雜,但也可以完成。您可以通過電子郵件發送詳情。 – abalakin 2011-07-13 11:37:30