2013-08-02 157 views
17

Tôi đang tìm đồ họa 3D tương thích với Python. Chủ yếu là tôi muốn để có thể vẽ đường và xem chúng trong không gian 3D. Tôi thực sự không có kinh nghiệm trong lĩnh vực này và đang tìm kiếm kiến ​​thức và hướng dẫn.hình ảnh và đồ họa python 3D

Tôi học lập trình tốt nhất bằng thử nghiệm. Vì vậy, những gói nào tôi cần phải làm đồ họa 3-D? Tôi thực sự thích sử dụng emacs, vì vậy nếu bạn có những gợi ý đó cũng sẽ tuyệt vời!

Nói tóm lại:

  1. Những gói làm tôi cần cho đồ họa 3D trong python.
  2. Lưu ý rằng tôi sử dụng Ubuntu 12.04 LTS và emacs 24,3

Trả lời

12

Cách phổ biến nhất để tích hợp đồ họa 3D thời gian thực được sử dụng thư viện OpenGL. OpenGL và đồ họa thời gian thực là một chủ đề lớn, nhưng tập trung vào thứ gì đó như vẽ đường 3D không quá khó. Các ràng buộc tồn tại cho python http://pyopengl.sourceforge.net/

GLUT - có lẽ là tốt nhất để cung cấp cửa sổ nền tảng X và thiết lập ngữ cảnh, và được đưa vào các liên kết được đề cập.

OpenGL - có một số phiên bản, cho ứng dụng của bạn, chế độ ngay lập tức, kế thừa, có thể chấp nhận được.

Dưới đây là một số liên kết để tìm hiểu - Không cảm thấy bắt buộc phải đọc tất cả - hãy chọn các chủ đề có liên quan đến bạn.

+0

Cảm ơn bạn rất nhiều! Tôi nhớ khoảng 2 năm trước, tôi bắt đầu học OpenGL (sau khi tôi học C++) và tôi không bao giờ có ở đâu vì tôi không đủ kỹ thuật. Tôi thực sự nhớ đã nghe về GLUT nhưng tôi không bao giờ biết nó là gì! – CodeKingPlusPlus

+0

@CodeKingPlusPlus bắt đầu nhỏ - Tôi đặt cược bạn có thể nhận được các dòng 3D dựng hình khá nhanh chóng –

+0

Trong liên kết đầu tiên của bạn, bạn có cần phải cài đặt bất cứ điều gì khác ngoài 'pyglet'? Trình thông dịch python cho tôi một loạt lỗi sau khi tôi cố chạy ví dụ đầu tiên. – CodeKingPlusPlus

14

Cách đơn giản nhất cho hiệu ứng 3D bằng Python là VPython.

Ví dụ, để vẽ một đường cong trong hình dạng của một hình vuông, nó chỉ là:

square = curve(pos=[(0,0),(0,1),(1,1),(1,0),(0,0)]) 

Đây là bao la dễ dàng hơn MayaVI, VTK, OpenGL vv

Một tùy chọn dễ dàng là của matplotlib Đồ họa 3D. Nó tốt hơn trên các chi tiết định lượng, nhưng không đơn giản, nhanh chóng và tương tác cho phần 3D.