風の流れ/空気力学の図を作る方法は?


8

これらの種類のテーマの見栄えの良いベクトル化された画像を作成する方法について、いくつかの助けが必要です。

風の流れの例1

風の流れの例2

組版に関しては、LaTeXでよく仕事をしているので、Tikzの基本的な経験があります。しかし、上記のような複雑な画像を作成する必要がある場合は、少し迷っているように感じます。

できればフリーソフトウェアを使用して、この種の画像をどのように作成するかについて誰かが私に正しい方向を教えてくれれば幸いです。


数式を入力する機能、または単に描画する機能が必要ですか?
ライアン

描画から始めるには十分だと思いますが、後処理にいつでも挿入できると思います。
ダイポール2014年

質問の評価が終わったら、質問を受け入れることが重要です。それ以外の場合は、間違った信号を送信します。あなたのアイデアに最も近いと思われる質問を受け入れます。投票数の少ない質問でも1つでも自由に受け入れてください。この質問には良い副次的な質問もあるので、より具体的なツールの組み合わせを尋ねる場合があります。とても楽しい質問ありがとうございます。
joojaa 14年

できた!近いうちに、より具体的なフォローアップの質問をする予定です。次に、新しい質問を開いて、この質問にリンクする必要がありますか?
ダイポール

リンクが役立つと思う場合。調査を行うことを忘れないでください。より適切に調査された質問は、より良い回答につながります。
joojaa 14年

回答:


11

ベクトル出力を行うグラフ作成アプリケーションが利用可能です。私は次のアプリケーションを非常にうまく使用しました:

  • Mathematica <-私の好みは上記のような画像を実行できます
  • Matlab(epsをエクスポートすることを忘れないでください)
  • matplotlibを使用したPython
  • もみじ
  • PSTricks
  • イラストレーター
  • シャーラ
  • Inkscape
  • AutoCAD

3Dアプリまたはグラフアプリを使用する必要がある場合もありますが、

  • yEd、さまざまなグラフレイアウト。インストールは必要なく、インターネットから実行できます。
  • Gephi、強制有向グラフ
  • Maya、ベクターレンダー付きの3DsMax
  • Creo、NX、Catia、Solidworks ...

通常、実際に物事をグラフ化できるツールを使用し、EPSファイルをillustratorなどのグラフィックアーティストツールにインポートして、後で完成させるほうが生産性が高くなります。本当の利点は、関与する前にグラフを操作できるため、変更が簡単なことです。

必要に応じて、Illustratorで独自にグラフ化することもできます。途中で役立つコードもいくつかあります。

資源

いくつかの適切な例を見つける時間があるまで、いくつかの簡単なリストを示します(右の層流)。

同様のコンポーネントを使用したいくつかの例(必要なものを追加する必要があるかもしれませんが、ここにパズルの一部があります):


6

あなたの最善の策は、ベクトルエディターを手に取り、その使用方法を学ぶことです。上記の例は複雑に見えませんが、ベクターの描画に関する基本的な知識があれば十分うまくいきます。

試してみる場合は、IllustratorまたはCorel Drawはお勧めしません。どちらも強力で人気のあるツールですが、初心者には気が遠くなるでしょう。Inkscapeは良い選択です。それは無料で、それを学ぶことは問題ではないはずです。


2
Inkscapeには、PDF + Latexへのエクスポートをサポートするという追加の利点があります。あなたはラテックスのテキストでPDFグラフィックスを取得します。
jnovacho 2014年

だからこれをまっすぐにしましょう:Matplotlibと上記の2番目の画像のような速度プロファイルを使用してPythonで翼型をプロットする場合、それらをInkscapeにインポートしてから、「スキュー」や回転などの変更を実行できますか?プロット?
ダイポール

@Jack yes、および線幅の色を変更して凡例を移動する機能など
joojaa

よし、やってみよう!
ダイポール2014年

2

最初:.PY + Matplotlib-> .SVG

次に、.SVG-> Inkskape

ただし、.SVGは.PY-> .SVGに進むことを学ぶのに十分簡単です。

.PY + Matplotlib-> .PDFを実行することもできます。Inkscapeもそれを開きます。


ご意見ありがとうございます。だから私はpythonで作業し、svgファイルとして保存してから、Inkscapeで開きますか?
ダイポール2014年

1
Xorこの間、あなたは例を作るかもしれませんか、それとも私がすべきでしょうか。
joojaa 14年

1

免責事項:

  1. 他の人のコードを修正する必要がない限り、私は通常Pythonでプログラミングしません
  2. 私はMatplotlibを使用したことがありません。これは初めて使用する試みであり、興味深いように見えたので、この回答を投稿する唯一の理由です。

今より堅牢な答え:(私は博士課程の候補者のために宿題をすることを楽しんでいるわけではない...)

ここではすべてが盗まれました-matplotlibのWebサイト(例を参照)およびStack Overflow(matplotlib save fig image trim)から盗まれました。私がしたのはそれをコピー/貼り付けしてテストすることだけでした。

結果のout.svgファイルは、Inkscapeで直接開くことができます。画像は、1つまたは複数の小さい画像のグループです。画像の任意の部分をクリックして、Inkscapeの「グループ解除」オプションを使用します。画像の一部を直接操作できるようにするには、グループを数回解除する必要がある場合があります。

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
        linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

fig.colorbar(surf, shrink=0.5, aspect=5)

#plt.show()

fig.set_size_inches(4,3) 

fig.set_dpi(40)

fig.savefig('out.svg', transparent=True, bbox_inches='tight', pad_inches=0)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.