PDA

צפה בגרסה המלאה : ציור פוליגון



Hurricane
20-10-2008, 20:28
אני רוצה לכתוב תוכנית אשר תקלוט מהמשתמש מספר טבעי n ותדפיס פוליגון בעל n צלעות.
חשבתי על עניין הזויות, ומכיוון שהפוליגון יהיה פוליגון משוכלל, כל זוית שווה ל- q180-360/n.
אך מכאן אין לי רעיונות כיצד להמשיך. תוכלו לעזור לי בבקשה? :)

אריאל
20-10-2008, 22:00
נראה לי אתה מתבלבל בתוכנות, VB היא לא תוכנת ציור , היא תוכנה ליצירת ממשק למשתמש, ביצוע פעולות.. כלומר אני מתכוון למשל ב VB אין פעולת "הדפס" יש לך פקד ואל הפקד אתה מכניס ערכים בהתאם לפורמט שניתן להכניס אליו. (אז בד"כ משתמשים בכוכביות אוקי, אבל עדיין..)

יהיה יותר קל ליישם את זה בפסקל\C#\C++

בכל מקרה בקשר לרעיון כיצד לבצע את זה:

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

נקח את מספר הצלעות ונצייר צלע ראשונה בגובה מסוים ומקבילה לציר ה X (נבחר X ו Y, הרי כל הטופס עצמו מורכב ממישור שיש ערכים של X ו Y לכל נקודה, למשל אני יודע שבפסקל קוראים לפונקציה הזאת GOTO) ומכאן זה פשוט להריץ לולאה מ 1 עד N ( כאשר n זה הINPUT) ולצייר קו כל פעם אבל כאשר הוא יורד בזווית מסוימת..

אם נצייר על הצלע השניה שאנחנו אמורים לצייר משולש ישר זווית מכיוון שיש לנו את היתר (שזוהי הצלע השניה) ויש לנו את זווית במשולש הישר הזווית שבנינו, הזווית שהיא המשלימה ל180 מהזווית שנתונה לנו כבר שהיא בין 2 צלעות של הפוליגון נוכל לחשב את אורך הניצב מול הזווית הזאת ואז נדע בכמה ס"מ\פיקסלים (איך שאתה עובד)[בעזרת סינוס..] לרדת בישביל לצייר את הצלע הזאת..

מקווה שזה מובן..

Hurricane
20-10-2008, 22:11
אריאל, הפרויקט ב- VB מחולק לשני נושאים: גרפיקה ממוחשבת וישומים מנהליים.
הפרויקט שעשית הוא ישומים מנהליים, ואני עושה גרפיקה תלת מימדית בבית הספר. :)
הפקודה ב- VB לציור קו הינה כזו: Form1.line(x_1,y_1)-(x_2,y_2), כך שלא ניתן לשנות את הזווית בפשטות (אולי עוד לא למדנו כיצד לעשות זאת).
לא הבנתי את הפסקה האחרונה שרשמת.
התוכנית צריכה לצייר מצולע משוכלל (מכיוון שכל הזוויות שוות, כך גם הצלעות), כך שזה לא משולש ישר זוית.

אריאל
20-10-2008, 22:37
אמרתי שאתה בונה על אחת מהצלעות של המצולע המשוכלל משולש ישר זווית !!!!!

זה מה שאני אומר שאתה לא צריך בכלל לשנות את הזווית
אתה משתמש בזווית(יותר נכון בהשלמה ל180 של הזווית) כדי למצוא את האורך של הY והX שהצלע אמורה לרדת.
בכמה שהיא תרד על ציר הY אתה לא יודע אז אני אומר שאתה בונה על הצלע הזאת משולש ישר זווית שבנוי מצלע אחת, שהיא הצלע של המשולש(היתר) , צלע אחת שהיא האורך של הY שאתה צריך לרדת והזווית a שאתה גם יודע אותה והצלע של הX,ובכמה שהצלע תלך קדימה על ציר האיקס תמצא בעזרת COSa, ועל ציר Y תעשה sina

אז אתה יודע בכמה לרדת בציר Y(או לעלות) וכמה ללכת קדימה על ציר ה X ..
כלומר יהיו לך את שיעורי הX והY שאתה צריך לפונקציה שהבאת לעיל

ראה ציור מצורף

Hurricane
21-10-2008, 10:05
תודה רבה אריאל, הצלחתי. :)