כיצד לעבד מעגל ב- OpenGL

מְחַבֵּר: Eugene Taylor
תאריך הבריאה: 16 אוגוסט 2021
תאריך עדכון: 14 נוֹבֶמבֶּר 2024
Anonim
פיתוח Hello World ב-++C תוך שימוש ב-Visual Studio
וִידֵאוֹ: פיתוח Hello World ב-++C תוך שימוש ב-Visual Studio

תוֹכֶן

OpenGL, או Open Graphics Library, הוא ממשק API גרפי (ממשק תכנות יישומים) לכתיבת יישומים דו-ממדיים ותלת-ממד בשפות תכנות ופלטפורמות שונות. ניתן להשתמש בו בכדי לעבד כל דבר, החל מחפצים פשוטים ופרימיטיביים וכלה בסצינות תלת מימד מורכבות. GL נעשה שימוש נרחב בתכנון מחשבים, הדמיה מדעית, הדמיית טיסה ומשחקי וידאו. למרות של- OpenGl אין שיטות לציור מעגל ישירות, ניתן לבנות אחת באמצעות סדרת קווים. יהיה עליך להיות בעל ידע בסיסי ב- OpenGL כדי לצייר את המעגל.

שלב 1

הכינו תוכנית בסיסית עם תצוגת OpenGL. אם אינך מכיר את התהליך הזה, יש הדרכה בדף OpenGL.


שלב 2

הוסף את קובץ math.h.header לתוכנית שלך על ידי הזנת הקוד הבא בתחילת התוכנית: # כלול . זה יספק לך את הפונקציות cos () ו- sin () (סינוס וקוסינוס) הדרושות לחישוב המעגל.

שלב 3

התחל את שיטת המעגל על ​​ידי הוספת הקוד הבא לפני הצגת פונקציית ההתקשרות:

חלל drawCircle (GLint x, GLint y, GLint radius, int num_lines) {}

המשתנים "x" ו- "y" ישמשו להגדרת מרכז המעגל בחלון שלך, בעוד שה"רדיוס "קובע את רדיוס המעגל. המספר השלם "num_lines" הוא מספר השורות המשמשות להרכבת המעגל. ככל שמספר זה גבוה יותר, כך המעגל יופיע חלק יותר.

שלב 4

הוסף את קוד התצורה הבא בתוך המקשים:

זווית צפה GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

המשתנה "זווית" יכיל את זווית הקווים המשמשים לבניית המעגל. קריאה לפונקציה glColor3f () מגדירה את צבע הקווים לשחור, כאשר הסדרה של שלוש 0 מתאימה לעוצמה של אדום, ירוק וכחול בסולם של 0 עד 1.


שלב 5

הוסף את הקוד הבא מתחת לפונקציה glColor3f () משלב 4:

glBegin (GL_LINE_LOOP) GO

זה אומר ל- OpenGL שכל השורות הבאות כוללות ציור קווים. באופן ספציפי, הוא יצייר "GL_LINE_LOOP", שהוא סדרה של קווים מחוברים.

שלב 6

הזן את הקוד הבא עבור לולאה לאחר השיחה glBegin ():

עבור (int i = 0; i <row_number; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (זווית) * רדיוס), y + (sin (זווית) * רדיוס)); }

הלולאה הזו עושה שלושה דברים. ראשית, זה מתבצע לפי הערך של "מספר_קווים", כאשר מספר מספרים הוא מספר שלם, המשרטט קו בכל איטרציה וכתוצאה מכך מעגל המורכב מקווים ישרים מספר_ קווים. שנית, הוא מחשב את זווית הקווים ביחס למרכז המעגל ברדיאנים. "M_P" הוא קבוע המוגדר במתמטיקה.ה המייצג את pi. לבסוף, הקריאה ל glVertex2f () מחשבת את הקואורדינטות של נקודות הסיום של השורות.


שלב 7

לאחר ה- loop-to, הזן את שורת הקוד הבאה:

גלנד () GO

זה יגיד ל- OpenGL שסיימת לשרטט את הקווים.

שלב 8

כדי לצייר את המעגל בסצנה, הוסף קריאה משיטת drawCircle () לפונקציית תצוגת ההתקשרות של התוכנית, אותה יש להכין בשלב 1. ציין את הערכים של x, y, רדיוס ומספר קווים, כאשר x ו- y מייצגים נקודה בסצנה שלך, הרדיוס הוא רדיוס המעגל, ומספר הקווים הוא מספר השורות המרכיבות את המעגל. שוב, אם אינך מכיר את OpenGL ואת תצוגת ההתקשרות, עיין במדריך OpenGL.

שלב 9

הידור והפעל את התוכנית שלך. אם הזנת את הפונקציות כהלכה, היא אמורה להתקבץ ללא שגיאות. אם ציינת את הערכים עבור x, y ורדיוס, אתה אמור לראות עיגול שחור מוצג על רקע לבן.

קורות יכול להיות במצוקה כדי להשיג מרחקים גדולים יותר מאלה הזמינים על חלקי עץ סטנדרטיים או להשתמש בחלקים הזמינים עבור פרוייקט. אפשר גם לבנות קרן מצטרפת לשני פיסות עץ ארוכות באותו עובי. לא מומלץ לעשות י...

כיצד לטפל יבלות על כלבים וגורים

Laura McKinney

נוֹבֶמבֶּר 2024

כאשר אתה מוצא יבלת על הפנים של הגור שלך, הדבר הראשון שאתה רוצה לעשות הוא להיפטר ממנו. למרבה הצער, לקחת את החיה לוטרינר כדי להסיר יבלת פנים פשוטה היא כנראה בזבוז של זמן וכסף - ותגרום כאב מיותר לכלב שלך...

בחירת העורכים