Περιεχόμενο
Το OpenGL, ή το Open Graphics Library, είναι ένα API γραφικών (διεπαφή προγραμματισμού εφαρμογών) για τη σύνταξη εφαρμογών 2D και 3D σε διάφορες γλώσσες και πλατφόρμες προγραμματισμού. Μπορεί να χρησιμοποιηθεί για την απόδοση οτιδήποτε, από απλά, πρωτόγονα αντικείμενα έως πολύπλοκες τρισδιάστατες σκηνές. Το Open GL χρησιμοποιείται ευρέως στον σχεδιασμό υπολογιστών, στην επιστημονική οπτικοποίηση, στην προσομοίωση πτήσεων και στα βιντεοπαιχνίδια. Παρόλο που το OpenGl δεν έχει μεθόδους για την άμεση σχεδίαση ενός κύκλου, είναι δυνατό να δημιουργηθεί ένας χρησιμοποιώντας μια σειρά γραμμών. Θα χρειαστεί να έχετε μια βασική γνώση του OpenGL για να σχεδιάσετε τον κύκλο.
Βήμα 1
Δημιουργήστε ένα βασικό πρόγραμμα με μια θύρα προβολής OpenGL. Εάν δεν είστε εξοικειωμένοι με αυτήν τη διαδικασία, υπάρχει ένα σεμινάριο στη σελίδα OpenGL.
Βήμα 2
Προσθέστε το αρχείο math.h.header στο πρόγραμμά σας εισάγοντας τον ακόλουθο κώδικα στην αρχή του προγράμματος: #include Ξεκινήστε τη μέθοδο κύκλου προσθέτοντας τον ακόλουθο κώδικα πριν εμφανίσετε τη λειτουργία επανάκλησης: void drawCircle (GLint x, GLint y, GLint ακτίνα, int num_lines) {} Οι μεταβλητές "x" και "y" θα χρησιμοποιηθούν για τον καθορισμό του κέντρου του κύκλου στο παράθυρο σας, ενώ η "ακτίνα" καθορίζει την ακτίνα του κύκλου. Ο ακέραιος αριθμός "num_lines" είναι ο αριθμός των γραμμών που χρησιμοποιούνται για τη σύνθεση του κύκλου. Όσο υψηλότερος είναι αυτός ο αριθμός, τόσο ομαλότερος θα εμφανιστεί ο κύκλος. Προσθέστε τον ακόλουθο κωδικό διαμόρφωσης μέσα στα πλήκτρα: float angle GO int num_lines GO glColor3f (0,0, 0,0, 0,0) GO. Η μεταβλητή "γωνία" θα περιέχει τη γωνία των γραμμών που χρησιμοποιούνται για την κατασκευή του κύκλου. Η κλήση της συνάρτησης glColor3f () ορίζει το χρώμα των γραμμών σε μαύρο, όπου η σειρά των 3 0 αντιστοιχεί στην ένταση του κόκκινου, του πράσινου και του μπλε σε κλίμακα από 0 έως 1. Προσθέστε τον ακόλουθο κώδικα κάτω από τη συνάρτηση glColor3f () από το βήμα 4: glBegin (GL_LINE_LOOP) GO Αυτό λέει στο OpenGL ότι οποιεσδήποτε επόμενες γραμμές περιλαμβάνουν σχεδίαση γραμμών. Συγκεκριμένα, θα σχεδιάσει ένα "GL_LINE_LOOP", το οποίο είναι μια σειρά συνδεδεμένων γραμμών. Εισαγάγετε τον ακόλουθο κωδικό για βρόχο για μετά την κλήση glBegin (): για (int i = 0; i <row_number; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (γωνία) * ακτίνα), y + (sin (γωνία) * ακτίνα)); } Αυτός ο βρόχος κάνει τρία πράγματα. Πρώτον, επαναλαμβάνεται σύμφωνα με την τιμή του "num_lines", όπου το num_lines είναι ένας ακέραιος, σχεδιάζοντας μια γραμμή σε κάθε επανάληψη και καταλήγοντας σε έναν κύκλο που αποτελείται από ευθείες γραμμές num_lines. Δεύτερον, υπολογίζει τη γωνία των γραμμών σε σχέση με το κέντρο του κύκλου σε ακτίνια. Το "M_P" είναι μια σταθερά που ορίζεται στο math.h που αντιπροσωπεύει το pi. Τέλος, η κλήση στο glVertex2f () υπολογίζει τις συντεταγμένες των τελικών σημείων των γραμμών. Μετά το loop-to, εισαγάγετε την ακόλουθη γραμμή κώδικα: glEnd () GO Αυτό θα πει στο OpenGL ότι έχετε ολοκληρώσει τη σχεδίαση των γραμμών. Για να σχεδιάσετε τον κύκλο σε μια σκηνή, προσθέστε μια κλήση από τη μέθοδο drawCircle () στη λειτουργία εμφάνισης επανάκλησης του προγράμματος, η οποία πρέπει να προετοιμαστεί στο βήμα 1. Καθορίστε τις τιμές των x, y, ακτίνας και αριθμών_γραμμών, όπου x και y αντιπροσωπεύουν ένα σημείο στη σκηνή σας, η ακτίνα είναι η ακτίνα του κύκλου και το num_lines είναι ο αριθμός των γραμμών που αποτελούν τον κύκλο. Και πάλι, εάν δεν είστε εξοικειωμένοι με το OpenGL και την οθόνη επανάκλησης, ανατρέξτε στον οδηγό OpenGL. Συντάξτε και εκτελέστε το πρόγραμμά σας. Εάν εισαγάγατε σωστά τις συναρτήσεις, θα πρέπει να μεταγλωττιστεί χωρίς σφάλματα. Εάν καθορίσατε τις τιμές για x, y και ακτίνα, θα πρέπει να δείτε έναν μαύρο κύκλο να εμφανίζεται σε λευκό φόντο.Βήμα 3
Βήμα 4
Βήμα 5
Βήμα 6
Βήμα 7
Βήμα 8
Βήμα 9