Làm thế nào để tạo ra sơ đồ gió / khí động học?


8

Tôi cần một số trợ giúp về cách tạo ra các hình ảnh vector đẹp mắt của các loại chủ đề này:

ví dụ luồng gió 1

ví dụ luồng gió 2

Tôi làm việc rất nhiều với LaTeX khi nói về việc sắp chữ để tôi có một số kinh nghiệm cơ bản với Tikz. Tuy nhiên tôi cảm thấy rằng nếu tôi cần tạo ra những hình ảnh phức tạp như những hình trên tôi thấy mình hơi lạc lõng.

Tôi rất đánh giá cao nếu ai đó có thể chỉ cho tôi đi đúng hướng về cách tôi có thể tạo ra những loại hình ảnh này, tốt nhất là sử dụng phần mềm miễn phí.


Bạn có cần khả năng nhập công thức hoặc chỉ vẽ?
Ryan

Để bắt đầu vẽ sẽ đủ, tôi đoán tôi luôn có thể chèn một số trong xử lý bài.
Lưỡng cực

Khi bạn hoàn thành việc đánh giá các câu hỏi, điều quan trọng là chấp nhận câu hỏi. Nếu không, nó sẽ gửi tín hiệu sai. Chấp nhận câu hỏi mà cảm thấy gần gũi nhất để trả lời ý tưởng của bạn. Hãy chấp nhận ngay cả một trong những câu hỏi được bình chọn thấp hơn. Vì câu hỏi này cũng có những câu hỏi phụ hay, bạn có thể hỏi những kết hợp công cụ cụ thể hơn. Câu hỏi rất thú vị cảm ơn vì điều đó.
joojaa

Làm xong! Tôi hy vọng sẽ có câu hỏi tiếp theo sớm, cụ thể hơn. Sau đó tôi có nên mở một câu hỏi mới và liên kết đến câu hỏi này không?
Lưỡng cực

nếu bạn nghĩ rằng liên kết giúp. Hãy nhớ thực hiện nghiên cứu, câu hỏi nối lại tốt hơn dẫn đến câu trả lời tốt hơn.
joojaa

Câu trả lời:


11

Các ứng dụng đồ họa làm đầu ra vector có sẵn. Ive đã sử dụng các ứng dụng sau khá thành công:

  • Mathematica <- sở thích của tôi nó có thể làm hình ảnh như trên
  • Matlab (nhớ xuất eps)
  • Python sử dụng matplotlib
  • Cây phong
  • PSTricks
  • Họa sĩ minh họa
  • Xara
  • Inkscape
  • Autocad

Tôi cũng có thể cần phải sử dụng các ứng dụng 3d hoặc ứng dụng biểu đồ:

  • yEd , nhiều cách bố trí đồ thị khác nhau và có thể được chạy trên internet mà không cần thiết.
  • Gephi , đồ thị hướng lực
  • Maya, 3DsMax với kết xuất vector
  • Creo, NX, Catia, Solidworks ...

Thông thường sẽ hiệu quả hơn khi sử dụng một số công cụ thực sự có thể vẽ đồ thị làm cơ sở và sau đó nhập tệp EPS vào công cụ họa sĩ đồ họa như họa sĩ minh họa để hoàn thiện sau này. Lợi ích thực sự là bạn có thể chơi với các biểu đồ trước khi bạn tham gia để thay đổi rất dễ dàng.

Bạn cũng có thể tự vẽ đồ thị trong Illustrator nếu bạn muốn, một số để giúp bạn trên đường.

Tài nguyên

Đây là một số danh sách nhanh chóng cho đến khi tôi có thời gian để tìm thấy một số ví dụ phù hợp (dòng chảy bên phải).

Một số ví dụ với các thành phần tương tự (bạn có thể cần thêm nhiều thứ hơn nhưng đây là một số phần của câu đố):


6

Đặt cược tốt nhất của bạn là chọn một trình soạn thảo vector và tìm hiểu cách sử dụng nó. Các ví dụ trên có vẻ không phức tạp và một sự hiểu biết cơ bản về vẽ vectơ sẽ làm tốt công việc.

Nếu bạn sẽ dùng thử, tôi sẽ khuyên chống lại Illustrator hoặc Corel Draw. Trong khi cả hai đều là những công cụ mạnh mẽ và phổ biến được lựa chọn, chúng sẽ có vẻ gây nản lòng cho người mới bắt đầu. Inkscape là một lựa chọn tốt. Nó là miễn phí và học nó không phải là một vấn đề.


2
Inkscape có thêm lợi ích của việc hỗ trợ xuất sang PDF + latex. Bạn nhận được đồ họa PDF với các văn bản latex.
jnovacho

Vì vậy, hãy để tôi giải thích rõ: Nếu tôi vẽ hình dạng máy bay bằng Python bằng Matplotlib và cấu hình vận tốc như hình trong hình thứ hai ở trên, tôi có thể nhập chúng vào Inkscape và sau đó thực hiện sửa đổi cho chúng như 'xiên' và xoay cốt truyện?
Lưỡng cực

@Jack có cũng như khả năng đổi màu thay đổi độ rộng đường di chuyển, v.v.
joojaa

Tuyệt vời, tôi sẽ thử!
Lưỡng cực

2

Đầu tiên: .PY + Matplotlib -> .SVG

Sau đó, .SVG -> Inkskape

Tuy nhiên, .SVG đủ dễ để học .PY -> .SVG

Bạn cũng có thể làm .PY + Matplotlib -> .PDF. Inkscape cũng sẽ mở điều đó.


Cám ơn bạn đã góp ý. Vì vậy, tôi làm việc trong python và lưu nó dưới dạng tệp svg, sau đó mở nó bằng Inkscape?
Lưỡng cực

1
Xor trong lúc này bạn có thể làm ví dụ hoặc tôi nên +1 trong bất kỳ trường hợp nào, python cũng có thể nói chuyện trực tiếp với inkscape nhưng có lẽ đây là một câu hỏi khác?
joojaa

1

Tuyên bố miễn trừ trách nhiệm:

  1. Tôi thường không lập trình bằng Python trừ khi tôi phải sửa mã của người khác
  2. Tôi chưa bao giờ sử dụng Matplotlib - đây là nỗ lực đầu tiên của tôi khi sử dụng nó và vì nó trông thú vị, lý do DUY NHẤT tôi đăng câu trả lời này.

Bây giờ một câu trả lời mạnh mẽ hơn: (Không phải tôi thích làm bài tập về nhà cho các ứng cử viên tiến sĩ ...)

Tất cả mọi thứ ở đây đã bị đánh cắp - không bị đánh cắp - từ trang web matplotlib (xem ví dụ) và từ Stack Overflow (matplotlib lưu hình ảnh cắt tỉa). Tất cả tôi đã làm là sao chép / dán nó và kiểm tra nó.

Tệp out.svg kết quả có thể được mở trực tiếp trong Inkscape. Hình ảnh là một Nhóm / Nhóm hình ảnh nhỏ hơn. Nhấp vào bất kỳ phần nào của hình ảnh, sau đó sử dụng tùy chọn 'Ungroup' của Inkscape. Bạn có thể phải hủy nhóm một vài lần để có thể thao tác trực tiếp một phần của hình ảnh.

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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.