mô phỏng opengl chương 11 trình bày về giới thiệu chung về opengl, giới thiệu ngôn ngữ lập trình visual c và ứng dụng mfc,

27 679 2
mô phỏng opengl chương 11 trình bày về giới thiệu chung về opengl, giới thiệu ngôn ngữ lập trình visual c và ứng dụng mfc,

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHẦN IV - MÔ PHỎNG OPENGL CHƯƠNG 11 – MÔ PHỎNG HOẠT ĐỘNG HỆ THỐNG BẰNG LẬP TRÌNH MFC SỬ DỤNG THƯ VIỆN OPENGL 11.1 GIỚI THIỆU CHUNG VỀ OPENGL 11.1.1 OpenGL Hình 11.1:OpenGL logo OpenGL- chữ viết tắt Open Graphic Library- thư viện đồ họa tốc độ cao độc lập với hệ thống giao diện hệ điều hành Thư viện phát triển tập đoàn Silicon Graphic Library Inc Và OpenGL công cụ sử dụng rộng rãi hệ điều hành như: win9x, win NT Ngày việc ứng dụng công nghệ đồ họa vào sống phát triển mạnh mẽ Trong kỹ thuật, việc sử dụng ứng dụng OpenGL hay DirectX vào việc mô cấu máy móc, hoạt động thiết bị máy móc, robot công nghiệp trước vào thiết kế, thử nghiệm mơ hình thực nhà chế tạo quan tâm tính trực quan đem lại xây dựng mơ hình đồ họa hoạt động khơng gian chiều Và lý tơi chọn thư viện lập trình OpenGL kết hợp lập trình C++ để xây dựng tốn mơ cho trình sản xuất tiến hành 11.1.2 Đặc điểm OpenGL OpenGl thư viện đồ họa lớn, gồm khoảng 150 hàm hỗ trợ số tính sau: • Khả thể hàn đối tượng đồ họa OpenGL thể đượcc đối tượng đồ họa như: điểm, đoạn thẳng, đa giác, đường cong hay mặt cong bậc hai Ngồi cịn số đối tượng chiều khác như: hình cầu, hình trụ, hình hộp Từ xây dựng nên đối tượng chiều phút tạp hơn, chí tự định nghĩa hay thiết kế phần mềm hỗ trợ chiều AutoCad, SolidWorks, 3Dmax • Khả quan sát đối tượng Các đối tượng quan sát từ nhiều góc độ khác thơng qua phép biến đổi vị trí mắt hay phép biến đổi vị trí vật phép chiếu • Khả định màu sắc vật liệu đối tượng Cho phép thể màu sắc đối tượng cách đa dạng thuộc tính vật liệu • Khả tạo hiệu ứng ánh sáng chương trình mơ Cho phép tạo hiệu ứng ánh sáng thực tế tạo cảm giác thật cho mơ hình khung cảnh chiều • Khả tạo khung cảnh mô thực tế OpenGL Hỗ trợ kỹ thuật tạo khung cảnh giống thực tế : - Kỹ thuật dán ảnh (texture mapping) để tạo khung cảnh thực tế - Kỹ thuật sương mù (fog) cho phép tạo hiệu ứng ảnh mờ dần đối tượng chuyển động xa khỏi mắt nhìn - Kỹ thuật trộn màu (blending) tạo vật thể mờ nhìn xun qua - Kỹ thuật loại bỏ cưa (antialiasing) • Khả cải thiện tốc độ OpenGL Cho phép cải thiện tốc độ hiển thị kỹ thuật danh sách hiển (display list) • Khả chọn đối tượng đồ họa (selection and hitting derect) Kỹ thuật cho phép chọn đối tượng đồ họa chiều ứng dụng kỹ thuật mô va chạm vật thể 11.2 GIỚI THIỆU NGƠN NGỮ LẬP TRÌNH VISUAL C++ VÀ ỨNG DỤNG MFC Visual C++ ngôn ngữ lập trình thuộc dịng Visual Studio hãng Microsoft, phát triển dựa tảng ngơn ngữ lập trình hướng đối tượng C ++ Visual C++ đời khoảng năm 1990 ngày sử dụng rộng rãi ứng dụng kỹ thuật lập trình nhúng, lập trình điều khiển lập trình mơ Việc tạo giao diện phức tạp trình bày đẹp Visual C ++ đơn giản, mạnh Visual C ++ việc trợ giúp đắc lực cho người lập trình xây dựng dự án lớn kỹ thuật lập trình hệ thống MFC (Microsoft Foundation Classes) – thư viện sở chứa lớp (class) C++ Microsoft cung cấp nhằm đặt trình bao bọc Windows API tạo thuận lợi cao cho người dùng việc phát triển ứng dụng Ngồi ra, MFC cịn cung cấp kiến trúc View/Document giúp định nghĩa cấu trúc chương trình cấu trúc tài liệu cho trình ứng dụng đơn giản, uyển chuyển dễ phát triển Do MFC cịn xem khung ứng dụng (application framework) Lập trình Windows với MFC kỹ thuật lập trình sử dụng thư viện MFC để xây dụng trình ứng dụng Windows (Window App) dạng ứng dụng khác DLL, COM, ActiveX 11.3 MÔ PHỎNG BÀI TOÁN CẦN THỰC HIỆN 11.3.1 Cách tạo Project MFC để mô hoạt động Các bước tiến hành sau: -Chọn File→New, chọn tab Projects, xuất Project lập trình Visual C++ 6.0→Chọn MFC AppWizard(exe) Trong Project name, gõ tên muốn đặt vào, ví dụ “van”, lacation chọn vị trí lưu Project vừa tạo Hình 11.2: Bắt đầu thiết lập Project MFC -Tiếp xuất hộp thoại cho phép thiết lập đặc tính Project tạo ra, cụ thể sau: Bước 1: Chọn Single Document Interface- loại giao diện đơn tài liệu thời điểm, có tài liệu mở hành, người dùng thao tác Trong trường hợp này, cần mô hoạt động hệ thống hàn nên sử dụng kiểu tài liệu Hình 11.3: Thiết lập Bước 2: Do ứng dụng không sử dụng liệu nên mục Database Support chọn None Hình 11.4: Thiết lập Bước 3: Do không dùng tài liệu phức tạp nên chọn None Hình 11.5: Thiết lập Bước 4: Lựa chọn thiết lập sau: - Docking Toolbar: Yes –Chọn công cụ có gắn vào cửa sổ Initial Status Bar: Yes –Chọn trạng thái có gắn vào ứng dụng Printing an Printer Preview: No-Khơng cần in ấn 3D controls: Yes-Có điều khiển nối Toolbars look: Normal –Dạng công cụ bình thường Hình 11.6: Thiết lập Bước 5: Chọn thiết lập sau: - MFC Standard: dạng chuẩn Hình 11.7:Thiết lập Bước 6: Hoàn tất việc thiết lập Hình 11.8: Hồn thành thiết lập Project MFC Về sau tạo lập xong Project, chương trình tạo sẵn giao diện trước Khi nhấn chạy thử chương trình sau: Hình 11.9:Chạy thử chương trình thiết lập xong Khi ứng dụng tạo có lớp sau: Hình 11.10: Các lớp ứng dụng Chức cảu lớp sở ứng dụng MFC sau: - CApp : lớp ứng dụng (Applicatiton Class) có nhiệm vụ khởi tạo chạy ứng dụng - CDoc : lớp tài liệu (Document Class) ứng dụng, có nhiệm vụ nạp trì tài liệu Một tài liệu gì,từ thảo việc cài đặt thiết bị mạng…Tuy nhiên, mục đích sử dụng chương trình mô nên không cần quan tâm nhiều đến lớp - CView: lớp hiển thị ứng dụng (View Class),có nhiệm vụ cung cấp hay nhiều View (khung) cho tài liệu.Trong chương trình mơ ta cần sử dụng nhiều lớp để khởi tạo cho OpenGL thao tác vẽ lại lớp - CmainFrame: lớp khung (Frame Class) ứng dụng có nhiệm vụ hiển thị truyền lệnh người dùng 11.3.2 Khởi tạo thiết lập gói thư viện OpenGL Để tạo hành ngữ cảnh biểu diễn OpenGL có bước sau : Bước : Ta phải định dạng điểm ảnh Bước : Ta phải tạo ngữ cảnh biểu diễn Bước : Làm cho ngữ cảnh biểu diễn hành Qua bước ta tạo Project MFC, để mô hoạt động hệ thống ta phải thiết lập mơi trường đồ họa Hình 11.11:Thêm thư viện sử dụng Để tạo ngữ cảnh biểu diễn OpenGL trước tiên ta phải include (bao gồm) tất tập thư viện OpenGL vào Project Từ Menu chương trình Visual C++ 6.0 ta chọn Project -> Settings sau chọn Tab Link , chọn category “General” nhập vào hộp thoại Object/library modules : “opengl32.lib glu32.lib” hình vẽ chọn nút OK Khai báo sử dụng lớp ST_SplitterWnd: Đây lớp dung để chia đôi khung ứng dụng chạy chương trình.Ta nhấn đúp vào lớp CMainFrame ClassView/file MainFrm.h phải khai báo thêm : #include"Splitter/ST_SplitterWnd.h" Ngoài sử dụng thư viện OpenGl ta phải khai báo lớp CView #include "OpenGL_LIB/InitOpenGL.h" #include "OpenGL_LIB/ObjectsOpenGL.h" using namespace ObjectsOpenGL; { m_pInitGL->OnLeftButtonDown(point); CView::OnLButtonDown(nFlags, point); } void CvanView::OnLButtonUp(UINT nFlags, CPoint point) { m_pInitGL->OnLeftButtonUp(); CView::OnLButtonUp(nFlags, point); } void CvanView::OnMouseMove(UINT nFlags, CPoint point) { m_pInitGL->OnMouseMove(point); CView::OnMouseMove(nFlags, point); } void CvanView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); m_pInitGL->OnSizeGL(cx, cy); } • Trong lớp CDoc: Xây dựng hàm InitModel để nhập đối tượng 3D dạng file *.STL xuất từ chương trình vẽ đối tượng 3D, đồng thời quy định màu sắc cho đối tượng void CvanDoc::InitModel() { //Chon vi tri ban dau cua gia m_thetabinh = 0; m_thetadia=0; m_thetapittong = 0; x1 = 0; x1v = 0; x2 = 0; x3 = 0; tam1 = tam2 = tam3 = tam4 = tam5 = 0; //Khoi tao cac khau: m_nen.setModel("Model File/nen.STL"); m_nen.setMaterial(storageMaterial[16]); m_khung.setModel("Model File/khung.STL"); m_khung.setMaterial(storageMaterial[9]); m_v.setModel("Model File/v.STL"); m_v.setMaterial(storageMaterial[19]); m_binh.setModel("Model File/binh.STL"); m_binh.setMaterial(storageMaterial[10]); m_dia.setModel("Model File/dia.STL"); m_dia.setMaterial(storageMaterial[4]); m_h1.setModel("Model File/h1.STL"); m_h1.setMaterial(storageMaterial[19]); m_h2.setModel("Model File/h2.STL"); m_h2.setMaterial(storageMaterial[10]); m_pittong1_1.setModel("Model File/pittong1_1.STL"); m_pittong1_1.setMaterial(storageMaterial[6]); m_pittong1_2.setModel("Model File/pittong1_2.STL"); m_pittong1_2.setMaterial(storageMaterial[16]); m_pittong2.setModel("Model File/pittong2.STL"); m_pittong2.setMaterial(storageMaterial[9]); m_xl1.setModel("Model File/xl1.STL"); m_xl1.setMaterial(storageMaterial[11]); m_xl2.setModel("Model File/xl2.STL"); m_xl2.setMaterial(storageMaterial[19]); m_xl3.setModel("Model File/xl3.STL"); m_xl3.setMaterial(storageMaterial[19]); m_m1.setModel("Model File/m1.STL"); m_m1.setMaterial(storageMaterial[8]); m_m2.setModel("Model File/m2.STL"); m_m2.setMaterial(storageMaterial[6]); m_m3.setModel("Model File/m3.STL"); m_m3.setMaterial(storageMaterial[17]); m_m4_1.setModel("Model File/m4_1.STL"); m_m4_1.setMaterial(storageMaterial[16]); m_m4_2.setModel("Model File/m4_2.STL"); m_m4_2.setMaterial(storageMaterial[4]); m_m4_3.setModel("Model File/m4_3.STL"); m_m4_3.setMaterial(storageMaterial[9]); m_m5_1.setModel("Model File/m5_1.STL"); m_m5_1.setMaterial(storageMaterial[11]); m_m5_2.setModel("Model File/m5_2.STL"); m_m5_2.setMaterial(storageMaterial[18]); m_ng1.setModel("Model File/ng1.STL"); m_ng1.setMaterial(storageMaterial[8]); m_ng2.setModel("Model File/ng2.STL"); m_ng2.setMaterial(storageMaterial[9]); m_ng3.setModel("Model File/ng3.STL"); m_ng3.setMaterial(storageMaterial[11]); m_dk1.setModel("Model File/dk1.STL"); m_dk1.setMaterial(storageMaterial[8]); m_dk2.setModel("Model File/dk2.STL"); m_dk2.setMaterial(storageMaterial[19]); m_dk3.setModel("Model File/dk3.STL"); m_dk3.setMaterial(storageMaterial[11]); m_day1.setModel("Model File/day1.STL"); m_day1.setMaterial(storageMaterial[9]); m_day2.setModel("Model File/day2.STL"); m_day2.setMaterial(storageMaterial[14]); m_day3.setModel("Model File/day3.STL"); m_day3.setMaterial(storageMaterial[11]); m_khi1.setModel("Model File/khi1.STL"); m_khi1.setMaterial(storageMaterial[13]); m_khi2.setModel("Model File/khi2.STL"); m_khi2.setMaterial(storageMaterial[12]); m_khi3.setModel("Model File/khi3.STL"); m_khi3.setMaterial(storageMaterial[11]); m_khi4.setModel("Model File/khi4.STL"); m_khi4.setMaterial(storageMaterial[9]); m_khi5.setModel("Model File/khi5.STL"); m_khi5.setMaterial(storageMaterial[10]); //Quy dao m_Orbitan.setSize(1000); m_Orbitan.setColor(CColor(1, 1, 0)); m_Orbitan.setSizePoint(2); } -Xây dựng hàm vẽ vật thể DrawRobot() void CvanDoc::DrawRobot() { glScaled(0.65, 0.65, 0.65); //ve nen + khung glPushMatrix(); m_nen.drawObject();//ve Khung m_khung.drawObject();//ve Khung glPopMatrix(); //ve khoi V glPushMatrix(); glTranslated(0, -60, 0);//de ve vi tri mat dat glTranslated(0, x1v, 0); //x1v= 60 thi o vi tri dua binh vao vi tri han, xuong 10mm nua binh quay m_v.drawObject();//ve khoi V glPopMatrix(); //ve binh glPushMatrix(); glTranslated(0, 300, 0); glTranslated(50, 0, 0);//50 la vi tri chon dat ban dau glTranslated(0, -60, 0); //vi tri binh moi dat vao glTranslated(0, x1, 0); //x1= 60 thi o vi tri han glTranslated(-x2, 0, 0);//vi tri han x2=50 glRotated(m_thetabinh, 1, 0, 0); m_binh.drawObject(); glPopMatrix(); //ve dia quay glPushMatrix(); glTranslated(0, 300, 0); glTranslated(-232.3, 0, 0); glRotated(m_thetadia, 1, 0, 0); m_dia.drawObject(); glPopMatrix(); //ve dong co lien HGT glPushMatrix(); glTranslated(0, 300, 0); glTranslated(-302.3, 0, 0); m_h1.drawObject();//ve h1 glTranslated(-170, 0, 0); m_h2.drawObject();//ve h2 glPopMatrix(); //ve pittong glPushMatrix(); glTranslated(0, 300, 0); glTranslated(400, 0, 0);//400 la chon dat vi tri ban dau glTranslated(-x3, 0, 0);//vi tri han x3=450-277,5=172,5 m_pittong1_2.drawObject();//ve pittong1_2 glRotated(m_thetapittong, 1, 0, 0); m_pittong1_1.drawObject();//ve pittong1_1 m_pittong2.drawObject();//ve pittong2 glPopMatrix(); //ve xylanh glPushMatrix(); glTranslated(0, 300, 0); glTranslated(550, 0, 0); m_xl1.drawObject();//ve xylanh1 m_xl2.drawObject();//ve xylanh2 m_xl3.drawObject();//ve xylanh3 glPopMatrix(); //ve cum mo han glPushMatrix(); glTranslated(0, -10, 0); glTranslated(0, 0, -500);//500 ga tri tu chon glTranslated(105, 0, 0); m_m1.drawObject();//ve m1 glTranslated(0, 800, 0);//700 la gia tri dat vi tri ban dau glTranslated(0, -75, 0);//Trong lan thi day la x4 m_m2.drawObject();//ve m2 glTranslated(-105, 0, 0); glTranslated(0, 0, 400);//400 la gia tri dat vi tri han dau glTranslated(0, 0, 100);//Trong lan thi day la x5 m_m3.drawObject();//ve m3 m_m4_1.drawObject();//ve m4_1 m_m4_2.drawObject();//ve m4_2 m_m4_3.drawObject();//ve m4_3 m_m5_1.drawObject();//ve m5_1 m_m5_2.drawObject();//ve m5_2 glPopMatrix(); //ve cum thiet bi han glPushMatrix(); glTranslated(0, -10, 0); glTranslated(0, 0, -1000);//1000 ga tri tu chon glTranslated(-700, 0, 0);//700 ga tri tu chon m_ng1.drawObject();//ve nguon m_ng2.drawObject();//ve nguon m_ng3.drawObject();//ve nguon glTranslated(200, 0, 0);//200 ga tri tu chon m_dk1.drawObject();//ve dieu khien m_dk2.drawObject();//ve dieu khien m_dk3.drawObject();//ve dieu khien glTranslated(200, 0, 0);//200 ga tri tu chon m_day1.drawObject();//ve bo cap day m_day2.drawObject();//ve bo cap day m_day3.drawObject();//ve bo cap day glTranslated(900, 0, 0);//900 ga tri tu chon m_khi1.drawObject();//ve binh m_khi2.drawObject();//ve binh m_khi3.drawObject();//ve binh m_khi4.drawObject();//ve binh m_khi5.drawObject();//ve binh glPopMatrix(); } • Tạo bảng điều khiển lớp CmainFrame, tạo Dialog FORMVIEW thiết kế bảng điều khiển mong muốn Hình 11.12: Thiết kế bảng điều khiển Tạo kiện nhấn nút bảng điều khiển để thực công việc yêu cầu void CGraphView::OnButton1() { ((CMainFrame*)GetParentFrame())->OnRun1(); } void CGraphView::OnButton2() { ((CMainFrame*)GetParentFrame())->OnRun2(); } void CGraphView::OnButton3() { ((CMainFrame*)GetParentFrame())->OnRun3(); } void CGraphView::OnButton4() { ((CMainFrame*)GetParentFrame())->OnRun4(); } void CGraphView::OnButton5() { ((CMainFrame*)GetParentFrame())->OnRun5(); } void CGraphView::OnButton6() { ((CMainFrame*)GetParentFrame())->OnRun6(); } void CGraphView::OnButton7() { ((CMainFrame*)GetParentFrame())->OnRun7(); } void CGraphView::OnButton8() { ((CMainFrame*)GetParentFrame())->OnRun8(); } void CGraphView::OnBnClickedAuto() { ((CMainFrame*)GetParentFrame())->x =0; } void CGraphView::OnBnClickedManual() { ((CMainFrame*)GetParentFrame())->x =1; } Các function liên quan, thực chuyển động đối tượng sau nhấn nút bảng điều khiển: void CMainFrame::OnRun1() //V+binh len { if (x==1) { CvanDoc *pDoc = GetDocument(); pDoc->m_Orbitan.clear();//xoa duong quy dao di m_t+=10; pDoc->x1 = m_t; pDoc->x1v = m_t; if (m_t>50) { m_t=50; } UpdateAllViews(); } else { return; } } void CMainFrame::OnRun2() //V+binh xuong { if (x==1) { CvanDoc *pDoc = GetDocument(); pDoc->m_Orbitan.clear();//xoa duong quy dao di m_t-=10; pDoc->x1 = m_t; pDoc->x1v = m_t; if (m_tm_Orbitan.clear();//xoa duong quy dao di m_t2+=5; pDoc->x3 = m_t2; if (m_t2>100) { m_t2=100; } UpdateAllViews(); } else { return; } } void CMainFrame::OnRun4() //PT nha { if (x==1) { CvanDoc *pDoc = GetDocument(); pDoc->m_Orbitan.clear();//xoa duong quy dao di m_t2-=5; pDoc->x3 = m_t2; if (m_t2m_Orbitan.clear();//xoa duong quy dao di m_t3+=5; pDoc->m_thetadia = m_t3; UpdateAllViews(); } else { return; } } void CMainFrame::OnRun6()//Quay phai { if (x==1) { CvanDoc *pDoc = GetDocument(); pDoc->m_Orbitan.clear();//xoa duong quy dao di m_t3-=5; pDoc->m_thetadia = m_t3; UpdateAllViews(); } else { return; } } void CMainFrame::OnRun7() //START { if (x==0) { SetTimer(1, 30, NULL); } else { return; } } void CMainFrame::OnRun8() //STOP { if (x==0) { CvanDoc *pDoc = GetDocument(); //pDoc->Stopmotor(0xff); KillTimer(1); } else { return; } } void CMainFrame::OnTimer(UINT nIDEvent) { CvanDoc *pDoc = GetDocument(); switch(nIDEvent) { case 0: break; case 1: m_t4+=1; //Chuyen dong 1: Sau binh duoc dat vao khoi V thi V se nang len (60mm) if (pDoc->tam1 < 60) { pDoc->tam1 += 2; pDoc->x1 += 2;//cua binh pDoc->x1v += 2;//cua khoi V } else //Chuyen dong 2: pitong day binh vao dung vi tri han if (pDoc->tam2 < 122.5) { pDoc->tam2 += 3; pDoc->x3 += 3; } if ((pDoc->x3 > 72.5) & (pDoc->x2 x2 += 3; //Chuyen dong 3:V dich xuong 60 mm if ((pDoc->x2 >= 50) & (pDoc->tam3 > -60)) { pDoc->tam3 -= ; pDoc->x1v -= 2;//khoi V } //Chuyen dong 4:Han //Khi khoi V xuong khoang 10mm thi bat dau han if ((pDoc->tam3 < -10) & (pDoc->m_thetabinh < 360)) { pDoc->m_thetabinh += 1; pDoc->m_thetadia += 1; pDoc->m_thetapittong += 1; pDoc->Calculate(); } //Chuyen dong 5: Nang khoi V len de bình //Khi binh quay khoang 330 ti khoi V bat dau di len if (pDoc->m_thetabinh >= 360) pDoc->m_Orbitan.clear();//xoa duong quy dao if ((pDoc->m_thetabinh > 355) & (pDoc->tam4 < 60)) { pDoc->tam4 += 2; pDoc->x1v += 2;//khoi V } //Chuyen dong :Keo pittong if ((pDoc->tam4 == 60) & (pDoc->x3 >0)) { pDoc->x3 -= 3; pDoc->tam5 -=3; } //chuyen dong :Ha V xuong > kết thúc lần hàn if ((pDoc->tam5 < 0) & (pDoc->x1 > 0)) { pDoc->x1 -= 2;//binh pDoc->x1v -= 2;//khoi V } UpdateAllViews(); break; default:break; } } -Ngồi cịn nhiều hàm liên quan, hỗ trợ khác khơng trình bày hết 11.3.4 Thiết kế mơ hình đối tượng 3D SolidWorks Ở lựa chọn chương trình vẽ 3D SolidWork, sau vẽ xong đối tượng cần thiết cho mô phỏng, tiến hành lưu chúng lại dạng file *.STL Dưới cách tiến hành Giả sử minh họa vẽ bình, sau vẽ xong bình (khơng trình bày cách vẽ), ta sau: Hình 11.13: Ví dụ mơ bình 3D vẽ Solidwork - Save file dạng file STL: chọn save as - Một bảng save as ra, thông số điền lựa chọn sau: + File name: đặt tên file + Save as type: chọn STL(*.stl) Tiếp nhấn Option, bảng Option Chọn thơng số đây: Hình 11.14: Option save file dạng *.STL Output as: chọn ASCII Một điều quan trọng tích vào ơ: “Do not translate STL output data to positive space ” hệ tọa độ vẽ Solidworks chuyển sang file *STL không bị dịch chuyển - Kết thu file “binh.stl” - Tiến hành hoàn toàn tương tự với khâu khác đối tượng Dưới danh sách file STL tạo sau vẽ tất khâu (trong thư mục Model file) Hình 11.15: Các file dùng chương trình dạng *.STL 11.3.5 Chạy mơ sau hồn thành Dưới số hình ảnh chạy chương trình ... chương trình thiết lập xong Khi ứng dụng tạo c? ? lớp sau: Hình 11. 10: C? ?c lớp ứng dụng Ch? ?c cảu lớp sở ứng dụng MFC sau: - CApp : lớp ứng dụng (Applicatiton Class) c? ? nhiệm vụ khởi tạo chạy ứng. .. COM, ActiveX 11. 3 MÔ PHỎNG BÀI TOÁN C? ??N TH? ?C HIỆN 11. 3.1 C? ?ch tạo Project MFC để mô hoạt động C? ?c bư? ?c tiến hành sau: -Chọn File→New, chọn tab Projects, xuất Project lập trình Visual C+ + 6.0→Chọn... NGƠN NGỮ LẬP TRÌNH VISUAL C+ + VÀ ỨNG DỤNG MFC Visual C+ + ngôn ngữ lập trình thu? ?c dịng Visual Studio hãng Microsoft, phát triển dựa tảng ngôn ngữ lập trình hướng đối tượng C ++ Visual C+ + đời khoảng

Ngày đăng: 17/10/2014, 07:21

Từ khóa liên quan

Mục lục

  • PHẦN IV - MÔ PHỎNG OPENGL

    • CHƯƠNG 11 – MÔ PHỎNG HOẠT ĐỘNG HỆ THỐNG BẰNG LẬP TRÌNH MFC SỬ DỤNG THƯ VIỆN OPENGL.

      • 11.1. GIỚI THIỆU CHUNG VỀ OPENGL.

        • 11.1.1. OpenGL.

        • 11.1.2. Đặc điểm của OpenGL.

        • 11.2. GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH VISUAL C++ VÀ ỨNG DỤNG MFC.

        • 11.3. MÔ PHỎNG BÀI TOÁN CẦN THỰC HIỆN.

          • 11.3.1. Cách tạo một Project MFC để mô phỏng hoạt động.

          • 11.3.2. Khởi tạo và thiết lập các gói thư viện của OpenGL.

          • 11.3.3. Tạo các hàm.

          • 11.3.4. Thiết kế các mô hình đối tượng 3D trên SolidWorks.

          • 11.3.5. Chạy mô phỏng sau khi hoàn thành.

Tài liệu cùng người dùng

Tài liệu liên quan