Tải bản đầy đủ (.pdf) (4 trang)

tài liệu học võ hoài nhân

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (185.82 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>THỰC HÀNH 2: CODE VẼ ĐIỂM, ĐƯỜNG, ĐỌC FILE, VẼ ĐỒ THỊ </b>



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <fstream>


#include <glut.h> //khai báo thư viện OpenGL để sử dụng thư viện OpenGL
//<<<<<<<<<<<<<<<<<<<<<<< myInit >>>>>>>>>>>>>>>>>>>>


using namespace std;
int A[50][50];


int n;


int ViTri[50][2];


void myInit(void) //Thiết lập các thơng số cần thiết cho chương trình
{


//Xóa tồn bộ màn hình và tô bằng màu trắng
glClearColor(1.0,1.0,1.0,0.0);


// xác định màu cho bút vẽ là màu đen
glColor3f(0.0f, 0.0f, 0.0f);


// Thiết lập tham số cho chế độ view của chương trình. Ở đây là 2D
glMatrixMode(GL_PROJECTION);



glLoadIdentity();


//Thiết lập vùng tọa độ hiển thị nhìn thấy trong hệ tọa độ
gluOrtho2D(0.0, 640.0, 0.0, 480.0);


}


//<<<<<<<<<<<<<<<<<<<<<<<< myMouse >>>>>>>>>>>>>>>>>


//Xử lý tất cả các sự kiện liên quan đến chuột như click chuột trái, phải, scroll,


void myMouse(int button, int state, int x, int y)
{ //to be added later


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

//<<<<<<<<<<<<<<<<<<<<<<<< myDisplay >>>>>>>>>>>>>>>>>
//Xử lý toàn bộ thao tác vẽ lên trên màn hình khi chạy chương trình
void myDisplay(void)


{


//Xóa tồn bộ màn hình


glClear(GL_COLOR_BUFFER_BIT);
glPointSize(5.0); //size


glColor3f (0.0, 0.0, 1.0); //mau
glBegin(GL_POINTS);


for (int i=0;i<n;i++)



glVertex2i( ViTri[i][0], ViTri[i][1] );
glEnd();


glColor3f (0.0, 1.0, 0.0); //mau
for (int i=0;i<n-1;i++)


for (int j=i+1;j<n;j++)
if(A[i][j]==1)
{


glBegin(GL_LINES); //canh


glVertex2i(ViTri[i][0], ViTri[i][1]);
glVertex2i(ViTri[j][0], ViTri[j][1]);
glEnd();


}


//Đẩy nội dung từ vùng nhớ đệm ra màn hình cho mình thấy
glFlush();


}


// doc file


void Doc_File()
{


ifstream f("g2.txt");


f>>n;


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

{


for (int j=0; j<n;j++)
f>>A[i][j];
}


for (int i=0;i<n;i++)
{


for (int j=0; j<2;j++)
f>>ViTri[i][j];
}


f.close();
}


// xuat file


void Xuat_File()
{


for ( int i=0;i<n;i++)
{


for (int j=0; j<n;j++)
cout<<A[i][j]<<" ";
cout<<endl;



}


for ( int i=0;i<n;i++)
{


for (int j=0; j<2;j++)
cout<<ViTri[i][j]<<" ";
cout<<endl;


}
}


//<<<<<<<<<<<<<<<<<<<<<<<< main >>>>>>>>>>>>>>>>>>>>>>
//Hàm chính chạy chương trình


void main()
{


Doc_File();
Xuat_File();


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

// Thiết lập kích thước cửa sổ của windows
glutInitWindowSize(640,480);


// Thiết lập vị trí hiển thị trên màn hình. ở đây hiển thị tại tọa độ (100, 50)
glutInitWindowPosition(100, 50);


// Đặt tên cửa sổ windows


glutCreateWindow("Button Example");



// Đăng ký các hàm xử lý chuột và hiển thị ra màn hình


glutDisplayFunc(myDisplay); // gắn với hàm myDisplay ở trên
glutMouseFunc(myMouse); // gắn với hàm myMouse ở trên


// Gọi hàm myInit ở trên để thiết lập các thơng số khác cho chương trình
myInit();


// Vòng lặp chờ xử lý các thao tác liên quan đến của số windows như sự
// kiện của chuột, bàn phím, …


</div>

<!--links-->

×