kikkler פורסם 2004 בינואר 1 Share פורסם 2004 בינואר 1 זאת שאלה שעניינה אותי כבר הרבה זמן, וכרגע אני די זקוק להבהינתן לי 2 נקודות (על מישור דו מימדי, בתור התחלה), נאמר (x,y), (x0,y0). איך אני ניגש לשירטוט קו ישר ביניהן ? לצורך העניין נאמר שלא מדובר במתמטיקה טהורה בה מס' הנקודות על הקו הוא אינסופי, אלא בגרפיקת מחשב, שבה הקו מורכב מפיקסליםכידוע הקו מורכב מסדרות של פיקסלים ש"נשברים" במקומות מסויימים - אם למשל הקו יהיה בין הנקודה (1,1) ל(5,5), כלומר קו אלכסוני, הסדרות ישברו כל פיקסל אחד - כלומר אחד ימינה, אחד למעלה, אחד ימינה, אחד למעלה וכוליאם לעומת זאת הוא יהיה בין (1,1) ל (5,3) הסדרות ישברו כל פיקסל שני ימינה - שניים ימינה, אחד למעלה, שניים ימינה, אחד למעלהשתי אלה היו דוגמאות פשוטות מאוד, אבל ניתן להסיק שיש חוק מתמטי שקובע בדיוק את אופי ה"שבירות האלה". קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2004 בינואר 1 Share פורסם 2004 בינואר 1 קודם כל אתה צריך להחליט כמה נקודות אתה רוצה לעשות ביניהם, בלי זה אי אפשר לעשות כלום.בשביל שיצא יפה עושים בדרך כלל מספר נקודות לפי הרזולוציה, ככה שכל נקודה תהיה במקום שלה.עכשיו נגיד הגרף שלך מוגדר על המסך כך שהפינה השמאלית למעלה היא (x1,y1) וימין למטה (x2,y2)במקרה הזה אתה רוצה לעשות x2-x1 נקודותעכשיו פשוט חשב את בכל x שלם בין 0 ל-x2-x1 ולהכפיל בקנה מידה b ככה שתקבל y=f(b*x)עכשיו יש לך את ערך הפונקציה y ואתה צריך לצייר אותם במקום המתאים במסךעכשיו נשאר לך לכפול בקנה מידה של ציר y שיסומן ב-a.עבור y=0 אתה תרצה לצייר את הנקודה ב-y1 (שהוא תחתית הגרף שלך) ולכן תוסיף ל-a*y את y1. סה"כ אתה מקבל(b*x+x1,a*y+y1)וכמובן אתה צריך לבדוק שa*y+y1 <= y2שלא תצא מהתחום שלךככה אתה מקבל שלכל נקודה בציר x יש לך נקודה מתאימה על ציר y וכמובן שתקבל קו כמעט רציף כי עבדת לפי הרזולוציה של המסך.אתה יכול להשתמש בזה לחשב גרף של כל פונקציה שתרצה - עבור קו ישר f(x) = ax+b (כמובן שה-a ו-b של הקנה מידה אלה לא ה-a ו-b שיש פה)מקווה שלא היתה לי פה איזה טעות טיפשית אבל הרעיון מובןשאלות? קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.