עבור לתוכן

algorithm for filling triangle

Featured Replies

פורסם

הי, מישהו יכול לתת לי קישור לאלגוריתם למילוי שטח משולש בלי התיחסות לשפות תיכנות?

מה שנתון זה רק שלושת הקודקודים

פורסם

אלגוריתם פשוט

לבנות שני מערכים חד ממדים.

1) לחפש את הסגמנט בעל DELTAY (מהקצה אחד לקצה השני הכי גדול בציר הY) לשים אותו ב מערך הראשון את הקו (שזה כל הנקדות שיוצרים את הקו)

2) המערך השני את הסגמנטים הנותרים.

3) לעבור על המערך ולמתוח קו מהמערך הראשון לשני ..שני המערכים מכילים נקודות והקו שאתה מיצר הוא מאוזן לחלוטים.

פורסם

תחפש אלגוריתם midpoint.

פורסם

יש לך 3 קודקודים A B C

אתה ממי אותם לפי Y כך ש A<B<C

ואז אתה מחקל את המשולש ל 2 משולשים ABD ו BDC (כאשר D נמצאת באותו גובה (Y) כמו B)

עבור כל אחת מהצלעות ABC אתה מחשב הפרש DX והפשר DY. ואז אתה משתמש בנוסחא של קו ישר x = k*y + b

b = X התחלתי.

y = Y נוכחי

k = שיפוע.

כך תמצא שתי נקודות x1,x2 ואחרי זה אתה פשוט מצייר קו מאוזן הנקודת ה Y שלו היא y ונקודות ה X הן x1 ו x2.

אני ידוע שאני לא יודע להסביר מקווה שהבנת, אם לא אוכל לנסות לפרט יותר.

פורסם
  • מחבר

midpoint?

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

masterdk הרעיון שלך טוב אבל בשביל להוציא מנוסחת קו ישר שיפוע אני חייב להשתמש בחילוק שיעשה לי צרות... חלוקה באפס...

האמת זה היה הדבר הראשון שניסיתי ומייד ירדתי מזה.

מה שניסיתי היה בערך מה ש-GSM הציע אבל היו לי כמה חורים ממש ממש מעצבנים אז שלחתי את ההודעה.

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

אגב עובד מעולה :xyxthumbs:

פורסם

midpoint?

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

נראה לי שאתה מבלבל עם אלגוריתם אחר לפתרון משוואות.

אלגוריתם midpoint (נקרא גם ברסנהאם) הוא בדיוק אלגוריתם לאפרוקסימציה של קוים ישרים על פיקסלים בעזרת במספרים שלמים בלבד.

אופס, שכחתי לינק.

פורסם

midpoint?

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

masterdk הרעיון שלך טוב אבל בשביל להוציא מנוסחת קו ישר שיפוע אני חייב להשתמש בחילוק שיעשה לי צרות... חלוקה באפס...

האמת זה היה הדבר הראשון שניסיתי ומייד ירדתי מזה.

מה שניסיתי היה בערך מה ש-GSM הציע אבל היו לי כמה חורים ממש ממש מעצבנים אז שלחתי את ההודעה.

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

אגב עובד מעולה :xyxthumbs:

מה הבעיה.. אם A.Y == B.Y תעשה שההפרש ביניהם יהיה 1, ואז אתה לא מחלק ב 0 אלה ב 1.

האלגוריתם הזה מתאים הכי טוב וגם דיי מהיר.

אלגוריתם ברסינהם הוא טוב כשאתה מצייר קווים עקומים, במקרה של מילוי משולשים אתה מצייר רק קווים מאוזנים.

פורסם

אלגוריתם ברסינהם הוא טוב כשאתה מצייר קווים עקומים, במקרה של מילוי משולשים אתה מצייר רק קווים מאוזנים.

הוא מתאים גם למצוא את הגבולות של המשולש.

פורסם

הפתרון של masterDK יותר טוב מכיוון שהוא לא מצריך מערכי עזר.

גם בפתרון של GSM יכול ליהיות חילוק באפס כשמציירים את הקווים (קו מאונך).

אם האולגוריתם לא מתאים למקרי הקצה תעשה if-ים לאותם מקרים.

פורסם
  • מחבר

במקום נוסחת קו ישר השתמשתי בוקטורים. בלי חילוק, בלי הרבה בלאגן ובלי מערכים.

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

וחלוקה באפס מתרחשת כאשר A.X=B.X או כל שיעורי X של שתי נקודות שאתה מחפש ולא Y.

בכל מקרה הבעיה כבר ניפתרה...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים