14-01-Trần Thu Hà

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Bài 1:

#include <glut.h>
#include<math.h>
void drawSquare() {
glBegin(GL_QUADS);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
glVertex2f(0.5, 0.5);
glVertex2f(-0.5, 0.5);
glEnd();
}

void drawTriangle() {
glBegin(GL_TRIANGLES);
glVertex2f(0.0, 0.5);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);

glEnd();
}

void display() {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();

// Vẽ các hình
glColor3f(1.0, 0.0, 1.0); // Đặt màu tím cho hình vuông
glTranslatef(-0.5, 0.0, 0.0);
drawSquare();

glColor3f(1.0, 1.0, 0.0); // Đặt màu vàng cho hình tam giác
glTranslatef(1.0, 0.0, 0.0);
drawTriangle();

glutSwapBuffers();
}

void initialize() {
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
gluOrtho2D(-2.0, 2.0, -2.0, 2.0);
}

int main(int argc, char** argv) {


glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("Hinh");

initialize();

glutDisplayFunc(display);
glutMainLoop();

return 0;
}
Bài 2:
#include <glut.h>
#include<math.h>
void display() {
GLfloat step = 3.14 / 5;
register int i;
GLfloat angle, r;

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(0.0, 0.0, 1.0);
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
r = 2;
}
else {
r = 8;
}
angle = i * step;
glVertex3f(r * cos(angle), r * sin(angle), 0.0);
}
/*
glColor3f(1.0, 0.5, 0.0);
glBegin(GL_POLYGON);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(0.25, 0.25, 0.0);
glVertex3f(0.25, 0, 0.0);
glVertex3f(0.75, 0, 0.0);
glVertex3f(0.75, 0.25, 0.0);
*/
glEnd();
glBegin(GL_LINE_LOOP);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glColor3f(0.0, 1.0, 0.0);
glLineWidth(3.0);
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
r = 5;
}
else {
r = 15;
}

angle = i * step;
glVertex3f(r * cos(angle), r * sin(angle), 0.0);
}
glEnd();

glFlush();
}

void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0);
glOrtho(-15.0, 15.0, -15.0, 15.0, -1.0, 1.0);

}
int main(int argc, char* argv[]) {
//Khởi đầu thư viện glut, có thể không dùng lệnh này nếu chưa cần
glutInit(&argc, argv);
//Tạo cửa sổ, tiêu đề là: Dau tien!

glutInitWindowSize(500, 500);
glutCreateWindow("Dau tien!");
init();
//Đăng ký hàm hiển thị là display
glutDisplayFunc(display);
//Thực hiện hàm hiển thị là display, lặp vòng chờ sự kiện
glutMainLoop();
}

Bài 3:

#include <glut.h>
#include <cmath>

#define PI 3.14159265

void display() {
glBegin(GL_LINES);
for (int i = 0; i <= 360; i += 10) {
float angle = i * PI / 180;
float x = cos(angle);
float y = sin(angle);
glColor3f((float)i / (100/255), (float)i / 180, (float)i / 360);
glVertex2f(0.0f, 0.0f);
glVertex2f(x, y);
}
glEnd();

glFlush();
}

int main(int argc, char** argv) {


glutInit(&argc, argv);
glutCreateWindow("Ngoi sao");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

You might also like