1583
צפיות
צפיות
1
תשובות
תשובות
שאלה בוליאנית במשוואת מעגל בc#
נתונים לי 5 מעגלים, ז"א ערכי הX,Y והרדיוס.
בתוך המחלקה עלי לבנות מתודה שמקבלת נקודה ובודקת האם היא על המעגל תוך אפשרות לסטיה מסויימת.
נתון רמז כי עלי להשתמש במערך או בלולאה.
חשבתי לבנות מערך בו 5 איברים כאשר כל איבר מייצג משוואת מעגל אחת, ואז לרוץ עם לולאה על המערך ולהציב את הנקודה. אבל מדובר פה ב5 משתנים ואני קצת אבודה
1 תשובות
התשובה שנראית לי פשוטה ביותר היא זו –
לבנות אובייקט מעגל (המכיל משתני x, y ורדיוס), להגדיר מערך בן חמישה איברים מסוג מעגל, ולמלאו בערכים הנתונים.
עבור כל מעגל (לרוץ בForeach על המערך):
למצוא את הזווית המשותפת בין מרכז המעגל לבין הנקודה הנתונה כפרמטר (x-x, y-y), נוצר לנו כעין משולש וכך נוכל למצוא את אורך האלכסון – הקו הישיר בין מרכז המעגל לנקודה הנתונה. אם אורך האלכסון קטן מאורך הרדיוס – אזי הנקודה נמצאת בשטח המעגל.
שימי לב להתייחס במתודה גם למקרים בהם x=x, או y=y שאז יש לחשב אחרת.
מקווה שעזרתי.. בהצלחה