Cách vẽ hình tròn, mũi tên trong OpenGL

Hiện mình đang muốn vẽ hình ảnh minh họa thuật toán. Mình dùng OpenGL để biểu diễn đồ thị. Mình muốn vẽ cái hình như thế này:

Nhưng mình mới vẽ được những đường thẳng như thế này.


Mình không biết làm sao để vẽ những hình tròn có số bên trong và những mũi tên. Xin hãy giúp mình!

Thấy trong GLUT có hổ trợ sẵn một số hình như hình cầu đặc là glutSolidSphere,
thêm cả glutWireSphere, bạn thử tìm coi nó nó hổ trợ hình tròn thì dùng luôn cho đỡ mất công vẽ.

1 Like

Mình search gg cả chiều này. Mình dùng glut.h. Vì do máy mình chỉ hỗ trợ OpenGL 1.1 nên mính không chạy được mấy cái thư viện khác như glew, glfw,…ngay cả gl.h mà nó còn báo lỗi.

https://www.opengl.org/discussion_boards/showthread.php/160784-Drawing-Circles-in-OpenGL

Vẽ thủ công theo cách này thì nếu có hình tròn to thì phải vẽ khá nhiều cạnh.
Thôi thì cứ vẽ đại cái hình lục giác cho khỏe.

1 Like

Vì không bắt buộc phải vẽ hình tròn nên chắc vẽ hỉnh lục giác. Mà vẽ hình lục giác là hàm gì vậy bạn @nguyenchiemminhvu

chọn kiểu vẽ polygon cho hàm glBegin() rồi chấm 6 điểm thôi :dizzy_face:

glBegin(GL_POLYGON);
for(int i = 0; i < 6; ++i) {
    glVertex2d(sin(i/6.0*2*M_PI),
               cos(i/6.0*2*M_PI));
}
glEnd();
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?