Thông báo

Collapse
No announcement yet.

Mô phỏng 3D Robot, CNC với OpenGL và file STL

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mô phỏng 3D Robot, CNC với OpenGL và file STL

    Hi All,

    OpenGL là một thư viện đồ họa cực kì phổ biến trên nhiều nền tảng từ PC đến điện thoại di động. Trên PC, nếu so với DirectX thì nó có nhiều cái hơn và kém. Tuy nhiên đối với giới kĩ thuật thì nó lại là số 1. Các phần mềm CAD/CAM trong cơ khí như AutoCAD, SolidWorks, MasterCAM,... các phần mềm trong điện tử như Altium, Proteus, Orcad,... các game như Halo, CounterStrike,... đều sử dụng OpenGL.

    Mình post lên một ví dụ viết bằng MFC (VC6) sử dụng OpenGL để mô phỏng một mô hình 3D chứa trong các file STL (một định dạng 3D phổ biến dùng trong công nghiệp). Bạn nào hay phải mô phỏng các mô hình cơ học trong Cơ điện tử có thể sử dụng lớp OpenGL (file OpenGL.cpp và OpenGL.h) để dùng cho các đề tài của các bạn. Trong ví dụ cũng có một module dùng để đọc và ghi tệp .STL (Các tệp STL.DLL, STL.LIB và STL.H). Trước tiên Các bạn modify ví dụ của mình, sau đó có thể tự tạo những project mới của riêng bạn và mô phỏng, vẽ vời 2D, 3D dễ dàng với OpenGL

    Have Fun!
    Attached Files

  • #2
    Hi,

    // Bài viết này dành cho những ai đang mô phỏng 3D Robot, CNC sử dụng file STL

    Hôm nay mình xin được giới thiệu một kĩ thuật được dùng khá phổ biến trong việc cải thiện chất lượng hình ảnh của những mô hình lưới 3D (Mesh), cụ thể là với file có định dạng STL. Đó là phương pháp Pháp tuyến trung bình.

    Thường trong các game, các chương trình mô phỏng Robot, các chương trình thực tại ảo,... người ta hay sử dụng các mô hình lưới 3D để tạo hình đối tượng. Ưu điểm của mô hình lưới là người lập trình có thể biểu diễn được những bề mặt cong phức tạp mà không cần nhiều đến toán học. Nhược điểm là khó tùy biến, bề mặt bị gãy khúc.

    Các chương trình CAD như Solidworks sử dụng kĩ thuật tam giác hóa (Triangulation) để xuất ra cho bạn những mô hình lưới với định dạng STL. Các chương trình mô phỏng đọc file STL và hiển thị trong môi trường đồ họa 3D. Các mô hình tam giác hóa càng chi tiết, càng mịn thì file càng nặng và chương trình chạy càng chậm. Nếu giảm kích thước file STL đi thì đồng nghĩa với việc bề mặt trông thô và gãy khúc. Phương pháp Pháp tuyến trung bình mà mình xây dựng sẵn trong file STL.DLL sẽ giúp các bạn cải thiện chất lượng bề mặt mô hình mà không cần tăng số tam giác.

    Mình post lên đây tài liệu về cách sử dụng STL.DLL. Với STL.DLL, bạn có thể vẽ các file STL theo nhiều cách, trong đó có cả cách sử dụng phương pháp Pháp tuyến trung bình. Các bạn xem hình mình gửi sẽ thấy sự khác biệt.
    Attached Files

    Comment


    • #3
      Cái này làm thế nào dùng trong MS C# đc. Có ai có thư viện stl cho C# không

      Comment


      • #4
        Chào bạn giờ mình đang nghiên cứu về MFC visual c++ 6.0 mình muốn mô phỏng về một hiện tượng nào đó trong thế giới thực,bạn chỉ giúp mình với

        Comment


        • #5
          Mô phỏng 3D Robot, CNC với OpenGL và file STL

          Chào bạn!
          Mình đang tìm hiểu về OpenGL, xem trên mang thấy có OpenGL4.2 nhưng chẳng biết down ở đâu và cài như thế nào. Nếu bạn có rành thì mách giùm với.

          Comment


          • #6

            Comment


            • #7
              anh bvhoang ơi em viết lại chương trình của anh thì nó báo thiếu file coreplasma.cpp nó là như thế nào vậy anh

              Comment

              Về tác giả

              Collapse

              bvhoang Tìm hiểu thêm về bvhoang

              Bài viết mới nhất

              Collapse

              Đang tải...
              X