เนื้อหา
- ขั้นตอนที่ 1
- ขั้นตอนที่ 2
- ขั้นตอนที่ 3
- ขั้นตอนที่ 4
- ขั้นตอนที่ 5
- ขั้นตอนที่ 6
- ขั้นตอนที่ 7
- ขั้นตอนที่ 8
- ขั้นตอนที่ 9
OpenGL หรือ Open Graphics Library เป็น API กราฟิก (Application Programming Interface) สำหรับเขียนแอปพลิเคชัน 2D และ 3D ในภาษาโปรแกรมและแพลตฟอร์มต่างๆ สามารถใช้เพื่อแสดงผลอะไรก็ได้ตั้งแต่วัตถุธรรมดาดั้งเดิมไปจนถึงฉาก 3 มิติที่ซับซ้อน Open GL ใช้กันอย่างแพร่หลายในการออกแบบคอมพิวเตอร์การสร้างภาพทางวิทยาศาสตร์การจำลองการบินและวิดีโอเกม แม้ว่า OpenGl จะไม่มีวิธีการวาดวงกลมโดยตรง แต่ก็เป็นไปได้ที่จะสร้างขึ้นโดยใช้ชุดของเส้น คุณจะต้องมีความรู้พื้นฐานเกี่ยวกับ OpenGL เพื่อวาดวงกลม
ขั้นตอนที่ 1
สร้างโปรแกรมพื้นฐานด้วยวิวพอร์ต OpenGL หากคุณไม่คุ้นเคยกับกระบวนการนี้มีบทช่วยสอนในหน้า OpenGL
ขั้นตอนที่ 2
เพิ่มไฟล์ math.h.header ลงในโปรแกรมของคุณโดยป้อนรหัสต่อไปนี้ที่จุดเริ่มต้นของโปรแกรม: #include เริ่มเมธอดวงกลมโดยการเพิ่มรหัสต่อไปนี้ก่อนแสดงฟังก์ชันเรียกกลับ: โมฆะ drawCircle (GLint x, GLint y, รัศมี GLint, int num_lines) {} ตัวแปร "x" และ "y" จะถูกใช้เพื่อกำหนดจุดศูนย์กลางของวงกลมในหน้าต่างของคุณในขณะที่ "รัศมี" กำหนดรัศมีของวงกลม จำนวนเต็ม "num_lines" คือจำนวนบรรทัดที่ใช้ในการเขียนวงกลม ยิ่งตัวเลขนี้สูงเท่าใดวงกลมก็จะยิ่งเรียบขึ้น เพิ่มรหัสการกำหนดค่าต่อไปนี้ภายในคีย์: มุมลอย GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO ตัวแปร "มุม" จะประกอบด้วยมุมของเส้นที่ใช้สร้างวงกลม การเรียกใช้ฟังก์ชัน glColor3f () จะกำหนดสีของเส้นเป็นสีดำโดยที่ชุดของ 0 สามตัวจะสอดคล้องกับความเข้มของสีแดงสีเขียวและสีน้ำเงินในระดับ 0 ถึง 1 เพิ่มรหัสต่อไปนี้ด้านล่างฟังก์ชัน glColor3f () จากขั้นตอนที่ 4: glBegin (GL_LINE_LOOP) ไป สิ่งนี้จะบอก OpenGL ว่าเส้นที่ตามมาเกี่ยวข้องกับการลากเส้น โดยเฉพาะจะวาด "GL_LINE_LOOP" ซึ่งเป็นชุดของเส้นที่เชื่อมต่อกัน ป้อนรหัสต่อไปนี้สำหรับสำหรับลูปหลังจากการเรียก glBegin (): สำหรับ (int i = 0; i <row_number; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (มุม) * รัศมี), y + (บาป (มุม) * รัศมี)); } ลูปนี้ทำสามสิ่ง ขั้นแรกมันจะวนซ้ำตามค่าของ "num_lines" โดยที่ num_lines คือจำนวนเต็มวาดเส้นในการวนซ้ำแต่ละครั้งและทำให้วงกลมประกอบด้วยเส้นตรง num_lines ประการที่สองคำนวณมุมของเส้นที่สัมพันธ์กับจุดศูนย์กลางของวงกลมในหน่วยเรเดียน "M_P" คือค่าคงที่ที่กำหนดในคณิตศาสตร์ h แทนค่า pi ในที่สุดการเรียกไปที่ glVertex2f () จะคำนวณพิกัดของจุดสิ้นสุดของเส้น หลังจากวนซ้ำป้อนรหัสบรรทัดต่อไปนี้: glEnd () GO ซึ่งจะเป็นการบอก OpenGL ว่าคุณวาดเส้นเสร็จแล้ว ในการวาดวงกลมในฉากให้เพิ่มการเรียกจากเมธอด drawCircle () ไปยังฟังก์ชันการแสดงการเรียกกลับของโปรแกรมซึ่งต้องเตรียมในขั้นตอนที่ 1 ระบุค่าของ x, y, radius และ num_lines โดยที่ x และ y แทนจุด ในฉากของคุณรัศมีคือรัศมีของวงกลมและ num_lines คือจำนวนเส้นที่ประกอบเป็นวงกลม อีกครั้งหากคุณไม่คุ้นเคยกับ OpenGL และหน้าจอโทรกลับโปรดดูบทช่วยสอน OpenGL คอมไพล์และรันโปรแกรมของคุณ หากคุณป้อนฟังก์ชันถูกต้องควรคอมไพล์โดยไม่มีข้อผิดพลาด หากคุณระบุค่าสำหรับ x, y และรัศมีคุณจะเห็นวงกลมสีดำปรากฏบนพื้นหลังสีขาวขั้นตอนที่ 3
ขั้นตอนที่ 4
ขั้นตอนที่ 5
ขั้นตอนที่ 6
ขั้นตอนที่ 7
ขั้นตอนที่ 8
ขั้นตอนที่ 9