2.1. Giới thiệu th viện đồ hoạ OPENGL.
Th viện đồ hoạ OpenGl là một thiết bị và là một hệ thống các th viện độc lập sử dụng cho không gian 3 chiều. Th viện OpenGl đợc phát triển bởi tập đoàn Silicon Graphic Inc (SGI). Hiện nay OpenGl đợc sử dụng rộng rãi trong các hệ điều hành nh Window9x, WindowNT..
Mục đích của th viện OpenGl là trả về đối tợng không gian 2 chiều và 3 chiều vào trong một bộ đệm khung (Frame buffer) nh là điểm nhớ của phần cứng đồ hoạ.
Th viện OpenGl về cơ bản là một thủ tục ta phải chỉ rừ cỏch đối tợng đợc vẽ.
Đối tợng hình học phức tạp sẽ đợc mô tả trong một phần tử đơn giản mà ứng dụng định nghĩa.
Ta có thể thực hiện chơng trình ứng dụng trong th viện MFC hoặc Application Win32 của Visual C++.
Trớc khi viết mã lệnh cho chơng trình ta cần tạo liên kết giữa Visual C++ với môi trờng OpenGl bằng cách Link tới glu32.lib, glaux.lib, opengl32.lib.
OpenGL là một giao tiếp phần mềm với phần cứng đồ họa. Nó gồm khoảng 150 câu lệnh dùng để định nghĩa các vật thể và các thao tác nhằm tạo ra ứng dụng đồ họa ba chiều. OpenGL đợc thiết kế độc lập với giao diện của hệ điều hành nên có thể chạy trên nhiều hệ điều hành khác nhau. Do đó nó không hỗ trợ các lệnh đồ họa cấp cao, để có đợc những đối tợng đồ họa phức tạp ta phải xây dựng từ những đối tợng rất cơ bản nh điểm, đờng, đa giác...
2.2. Tạo giao diện cho chơng trình
Dùng th viện MFC của Visual C++ xây dựng ứng dụng SDI bằng cách chọn Single Document Interface.
Tạo các nút bấm cho các điều khiển ta vào MainMenu và ToolBar để tạo một menubar mới hay một nút mới. Ta có thể thay đổi biểu tợng của các nút trong giai đoạn này.
Để tạo lập môi trờng OpenGL trong VisualC++ chọn Seting liên kết với các th viện chuẩn của OpenGL l glu32.lib, opengl32.lib, glaux.lib. Sau đó gộpà các tệp tin OpenGLInit.h vào ứng dụng. Thay đổi các hàm OnCreat(), OnSize().. gắn với các thông điệp WinDows nh: WM_CREAT, WM_SIZE..
Tạo các lớp kế thừa từ lớp CDialog để vẽ đồ thị lên đó có dạng 1 Dialog đợc thiết lập ở góc phải màn hình khi ta bấm nút trên thanh Toolbar.
Để tạo cảnh đồ hoạ động: là các khung hình kế tiếp nhau của cảnh sẽ đợc vẽ, xoá liên tục đồng nghĩa với việc ta phải liên tục gọi các hàm OnDraw() hay OnPaint(). Điều này đợc thực hiện bằng bộ định thời của Windows thông qua thông điệp WM_TIMER gắn với h m OnTimer().à
2.3. Vẽ hình.
Sử dụng AutoCad3D vẽ từng bộ phận của cầu trục, hay ta cũng có thể dùng SolidWorks để vẽ sau đó chuyển sang AutoCad3D. Kích thớc của các bộ phận tự chọn và đã đợc cố định từ trớc và trong chơng trình ta không thay đổi
đợc. Các hình 3D đợc chuyển sang file dạng *.bdf. Các tệp *.bdf đợc sử dụng trong chơng trình là ctruc.bdf, tang.bdf, vnang.bdf, xcon.bdf. Các chi tiết đợc
đa vào chơng trình bằng biến m_scene thuộc lớp Cscene đợc xây dựng từ file
ObjectsOpenGL.h. ví dụ ta dùng lệnh:
_scene.addObject(Cmodel(“tang.bdf”));..để đa hình vẽ tang nâng vật vào màn hình đồ hoạ. Với mỗi bộ phận của cầu trục hoạt động theo một quy luật riêng trong hệ toạ độ ta dùng các hàm có sẵn trong OpenGl là glPushMatrix() và glPopMatrix().
2.4. Mô tả chuyển động của cầu trục
Khi chơng trình mô phỏng đợc chạy, màn hình đợc thể hiện nh sau :
Hình 3.19 : Hình ảnh mô phỏng cầu trục
Khi muốn xem chuyển động của cả ba cơ cấu chuyển động phối hợp ta nhấn vào nút Play trên màn hình. Khi dừng chuyển động nhấn nút Stop. Các số I, II, III, IV ứng với mỗi chế độ chuyển động của cầu trục. I là chế độ chuyển
động mà cầu trục di chuyển xe con không nâng vật, xe con không di chuyển II là chế độ chuyển động mà cầu trục không di chuyển, xe con di chuyển và nâng vật. III là chế độ chuyển động mà cầu trục, xe con không di chuyển chỉ có tang quay nâng vật lên. IV là chế độ chỉ có xe con chuyển động. Ba nút C, N, X là chỉ khi muốn xem đồ thị vận tốc và quãng đờng dịch chuyển của cầu trục, xe con, vật nâng trong quá trình mở máy. Nếu coi chuyển động là chuyển động thẳng đều gia tốc trong khoảng thời gian mở máy là một hằng số thì đồ thị chuyển động của vật nâng đợc thể hiện nh hình sau:
Hình 3.20 : Đồ thị thể hiện chuyển động của vật nâng khi gia tèc a = 0,3 m/s2