2017-01-25 56 views
0

我會嘗試着深入研究這個問題。我是一名數學家和教授,希望能幫助我的學生(和我自己)在多變量微積分中想象問題和解決方案。特別是,當處理雙變量函數的線和麪積分時,我希望能夠繪製包含積分域的曲線或曲面。Matplotlib用於教授多變量微積分

在理想情況下,最大可能,我想:

  • 產生3D曲線圖,示出了兩個相交表面,由一些(參數)方程描述
  • 高亮顯示曲面相交的曲線,如此; Surfaces intersecting
  • 「實時」查看我點擊的標籤點;
  • 該圖的基本操作,即縮放,平移,旋轉;
  • 將其導出爲矢量格式(SVG,PDF或更好,EPS用於LaTeX中的集成)。

我在Python編程方面幾乎沒有任何經驗,並且我感覺受到Mathematica的誘惑,因爲我還需要一些符號計算。但是,使用Python能夠完成上述所有操作嗎?我在Matplotlib和其他所有的大量文檔中找不到這樣的例子。

如果不是Python,你推薦什麼?

我已經準備好並可以學習任何語言,只要它比大多數替代品獲得所需的結果更快,更好。

非常感謝!

+0

通過「突出沿表面相交,曲線」你的意思是你想要的軟件,找到該曲線是什麼,或者你會在一個維度(說)導入參數化的程序? –

+0

好吧,如果我也有相交的方程,那麼我認爲只需將它與曲面一起繪製就很容易。但我想要的是軟件來突出它,基本上是爲了繪製它,例如作爲兩個曲面的布爾相減。爲了找到它,我認爲它可以,代數。 – AdrianM

+0

作爲又一個例子,我發現,Mathematica可以很好地做到這一點:http://mathematica.stackexchange.com/questions/5968/plotting-implicitly-defined-space-curves – AdrianM

回答

1

由於@ImportanceOfBeingErnest在評論中的對話提供了豐碩的成果,我會在我的決定中發佈一個答案,似乎檢查所有要求。

主要問題出現在繪製隱式定義曲面或曲線時,所以我將搜索集中在這個方向上。 Matplotlib和Mayavi中的參數曲線和曲面可以正常工作。

我發現this discussion特別適用於「誘騙」Mayavi繪製隱式定義的曲面。這樣,我可以在同一個畫布上繪製曲面和相交曲線。

另外,作爲一名數學家,我發現this post非常有教育意義。

另外,對於數學家來說,我特別關注聖人。它有一個繪製隱式函數的方法,like so。總的來說,它可能不像Mathematica那麼漂亮,簡單或者快速,但是至少在我找到錢來支付它的許可費用之前,我想我會深入Python和它的科學+圖形庫。從長遠來看,考慮到Python的普遍性,它的流行性和衆多應用程序的字面意義,我覺得我正在做出正確的選擇。

隨時發表評論或進一步回答。我認爲最好將我的決定作爲答案發布,儘管看起來更像是路線圖或規劃,也許其他讀者可能會覺得它有用。

謝謝你的時間!

+1

「我發現這個討論特別適用於」欺騙「Mayavi」>你鏈接的帖子是關於Matplotlib,而不是Mayavi。你也可能會發現[這個問題](http://stackoverflow.com/questions/6030098/how-to-display-a-3d-plot-of-a-3d-array-isosurface-in-matplotlib-mplot3d-or -simil)非常有用,其中爲Matplotlib和Mayavi提供了不同的解決方案。 Mayavi中的命令'mlab.pipeline.scalar_field()'和'mlab.pipeline.iso_surface'似乎很有用。另外,允許將曲面繪製爲「三輪」的「skimage.measure.marching_cubes」的實現很有趣。 – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnest是的,對不起,你是對的,那個話題在Matplotlib上。儘管如此,再次感謝您的進一步參考。現在我只需要深入瞭解它,因爲我幾乎沒有受過訓練。我認爲找到合適的解決方案(Python/Mathematica)和研究它的材料似乎得到滿足。現在我必須努力。 – AdrianM