(java) סיבוב אובייקט בCanvas לפי מעלות. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

(java) סיבוב אובייקט בCanvas לפי מעלות.


doximanman
 Share

Recommended Posts

יש לי עבודת קיץ ואחת המשימות היא "סיבוב האובייקט ב- °90 או °180 או °270":
משימה I - אובייקטים וגרפיקה

1. הגדר/י אובייקט חדש, המורכב מאוסף של לפחות 7 צורות גיאומטריות , למשל בית.

2. האובייקט יכלול את הפעולות הבאות:
הזזת האובייקט למיקום ידוע חדש.

 

  • הזזת האובייקט במרחק מסויים מהמיקום הקודם. הפעולה תקבל שני פרמטרים dx ו- dy.
  • העתקת האובייקט למיקום חדש.
  • סיבוב האובייקט ב- °90 או °180 או °270.
  • פעולה המקבלת שני אובייקטים , מחזירה 'אמת' אם שניהם זהים , אחרת מחזירה 'שקר'.
  • בונוס: הגדלת/הקטנת האובייקט לפי קנ"מ (scale ) מסויים.



3. נתונות הצורות גיאומטריות הבאות:
 

  • ריבוע – Square. · מעגל – Circle. · קו – Line.
  • משולש – Triangle. · משולש – Text. · Canvas – ("הבד") החלון הגרפי.
  • Mouse – לא חובה להשתמש/רשות.



4. נתונה תכנית ראשית לדוגמה בשם: GraphicsObjects.

5. בעבודה יש להוסיף רק 2 class-ים (האובייקט החדש שלכם ותכנית ראשית שלכם שמריצה את האובייקט).

6. הערה: יינתן בונוס על יצירתיות – ניתן להגדיר אנימציה.



והצלחתי בערך לסובב את זה במעלות הדרושות לפי שמירה של המרחק של האובייקט מ0,0 ואז אני יכול למחוק את האובייקט, ליצור אובייקט חדש ב0,0 עם אותם תכונות רק מסובב במעלות הדרושות. אבל את הסיבוב הזה עשיתי פשוט לפי ניסוי וטעייה ופשוט שיחקתי עם הx והy של כל צורה עד שהגעתי לצורה המסובבת. אבל יש דרך יותר פשוטה לעשות את זה לפי הכלים הנתונים? לפי מה שאני רואה הקוד בנוי לפי Canvas (קוד מדוייק של הCanvas הספציפי הזה: https://pastebin.com/6vtuGChq ), אבל לא למדנו את התכונות של הCanvas ואת המשתנים שמגדירים אותו (למשל Image או Graphics2D). אשמח לכיוון אולי לאיך אפשר לגשת לזה, או הצעות לשיפור, הקוד שכתבתי עד עכשיו: https://pastebin.com/7XK5EiLP

תודה, דוקסי.

נערך על-ידי doximanman
קישור לתוכן
שתף באתרים אחרים

ציטוט של etal

Java או JavaScript?

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

נערך על-ידי doximanman
קישור לתוכן
שתף באתרים אחרים

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

 

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

 

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

קישור לתוכן
שתף באתרים אחרים

הצטרפ/י לדיון

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

אורח
הוסף תגובה

×   התוכן שהודבק הוא עם עיצוב.   הסר עיצוב

  Only 75 emoji are allowed.

×   הקישור שלך הוטמע אוטומטית.   הצג כקישור רגיל

×   התוכן הקודם שלך שוחזר אוטומטית.   נקה הכל

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
  • צור חדש...