2010-08-12 105 views
1

我正在尋找一些能夠從文本文件或以編程方式繪製簡單二維幾何圖形的工具/庫。我已經找到了List of interactive geometry software,但那不是我正在尋找的東西。我更喜歡在使用graphviz或gnuplot更類似的東西。我已經爲gnuplot寫了一些腳本,但是這個工具是爲不同的目的而設計的。所需的功能:2d幾何繪圖工具

  • 用於不同種類的2D幾何形狀的支持:點,線段,直線,圓,多邊形
  • 簡單的輸入類型格式也許類似於PostGIS的Well Known Text爲對象,如標記和顏色的附加數據
  • 支持定義
  • 在通用圖像格式或某種交互GUI的(進/出和選擇對象變焦)
  • 配置網格
  • 自動縮放或繪製我
  • 輸出n已定義區域

我將用它來測試幾何算法,並且不想重新發明輪子。

+1

這不是一個答案,但更多的是在哪裏尋找答案的建議......您應該尋找具有SVG輸出的工具包。一些好的交互式幾何程序(例如inkscape)支持SVG編輯和創建。創建SVG文件並不難。我編寫了Python腳本,沒有工具包的幫助。我想以編程方式生成藝術項目的一部分。 – Omnifarious 2010-08-12 16:28:07

+0

建議[QuickDraw](http://en.wikipedia.org/wiki/QuickDraw)的誘惑已被無情地壓制。就這些。 – dmckee 2010-08-12 16:28:18

+0

僅適用於MacOS的QuickDraw?我應該提到我正在尋找一些Linux工具:) – jethro 2010-08-12 16:41:14

回答

0

也許dia,它的SVG輸出選項是你在找什麼?它可以用Python編寫腳本。

+0

我知道dia,但始終一直認爲它是圖/ UML工具而不是幾何圖形。你能提供任何關於python腳本dia的教程嗎? – jethro 2010-08-12 16:38:04

+0

@jethro - 我從來沒有做過。我只知道它可以完成。 dia的記錄相當不好。 :-( – Omnifarious 2010-08-12 16:57:40

3

Matplotlib。我對這個Python庫的所有方面並不熟悉,但我聽說它非常好。

引述它們的引入,

matplotlib是一個python 2D繪圖 文庫產生出版物 質量附圖中的各種硬拷貝 格式和跨平臺的互動 環境。 matplotlib可用於python 腳本,python和ipython shell (alaMATLAB®*或Mathematica®),web 應用程序服務器和六個圖形 用戶界面工具包。

matplotlib試圖使簡單的事情 容易和困難的事情成爲可能。您可以使用 代碼行生成繪圖,直方圖,電源 光譜,條形圖,錯誤圖,散點圖等。對於取樣,看到 截圖,縮略圖畫廊,以及 例子目錄

Example outputs http://matplotlib.sourceforge.net/_static/logo_sidebar_horiz.png

例如,使用「IPython的-pylab」以 提供一個互動的環境,以 產生萬張高斯隨機 數和積100個 段的直方圖,你只需要輸入

x = randn(10000) 
hist(x, 100) 

對於電力用戶,你有充分的 通過 一個面向對象的接口或通過一組用戶熟悉的函數集來控制線型,字體 屬性,軸屬性等。pylab模式提供了 的所有 下面列出的 的pyplot繪圖函數,以及來自numpy的函數和 matplotlib.mlab的函數。

+0

[This](http://matplotlib.sourceforge.net/examples/api/compound_path.html)例子看起來與我想要的很相似,我會試試看。 – jethro 2010-08-12 17:14:37

+0

我很高興我的答案是有幫助的。:) – 2010-08-12 17:17:28

+0

你最終使用這個嗎? – 2010-08-15 11:46:09