יחסי זוויות
נוסחה, קוד, ויזואליזציה: שלוש דרכים להבין את אותו מושג
זוויות קודקודיות — שלושה ייצוגים של אותו רעיון
# Given one angle alpha = 60 # Complement (sum = 90) complement = 90 - alpha # 30 # Supplement (sum = 180) supplement = 180 - alpha # 120 # Vertical angle = alpha vertical = alpha # 60
שימו לב: הצבעים עקביים — α בכחול בציור, בנוסחה ובקוד. 180−α בכתום בכולם. המיפוי הזה הוא מנגנון הלמידה — לא כל ייצוג בנפרד, אלא החיבורים ביניהם.
מיפוי בין ייצוגים
כל שורה היא אותו דבר בשלוש צורות שונות:
| Concept | Math Formula | Python Code | Visual Meaning | Color |
|---|---|---|---|---|
| angle (α) | α |
alpha |
The given angle | |
| complement | 90° − α |
90 - alpha |
The part that fills to a right angle | |
| supplement | 180° − α |
180 - alpha |
The part that fills to a straight line | |
| vertical | α = α' |
vertical = alpha |
Opposite angle at intersection | |
| corresponding | ∠1 = ∠5 |
angles[1] == angles[5] |
Same position at each intersection | |
| alternate interior | ∠3 = ∠5 |
angles[3] == angles[5] |
Z-shape between parallel lines |
מחשבון אינטראקטיבי
שנו את הזווית וראו את כל היחסים מתעדכנים יחד:
סוגי יחסי זוויות
זוויות משלימות (90°)
שתי זוויות שסכומן 90° (זווית ישרה).
דוגמה: 30° + 60° = 90°
זוויות צמודות / משלימות ל-180°
שתי זוויות שסכומן 180° (זווית ישרה / קו ישר).
דוגמה: 70° + 110° = 180°
זוויות קודקודיות (שוות)
כש-2 ישרים נחתכים, הזוויות הנגדיות (קודקודיות) שוות.
זוג לינארי
שתי זוויות סמוכות על קו ישר — סכומן תמיד 180°. זה מקרה פרטי של זוויות צמודות.
ישרים מקבילים + חותך
כשחותך חוצה 2 ישרים מקבילים, נוצרות 8 זוויות. מספיק לדעת אחת כדי לחשב את כולן.
שימו לב: כל 8 הזוויות הן רק שני מספרים — α ו-(180−α). הזוויות "חוזרות" כי הישרים מקבילים. בלי מקביליות, הזוויות בנקודת החיתוך השנייה היו שונות.
קוד Python מלא
הקוד המלא נמצא בקובץ angle_relationships_calculator.py — הוא כולל חישובים, ויזואליזציה matplotlib, ותפריט אינטראקטיבי עם 9 אפשרויות.
class AngleRelationshipsCalculator: """Calculate and visualize angle relationships.""" def complementary(self, angle): """Find complementary angle (sum = 90 degrees).""" if angle <= 0 or angle >= 90: raise ValueError(f"Angle must be between 0 and 90") comp = 90 - angle return {'complement': round(comp, 4), 'sum': 90} def supplementary(self, angle): """Find supplementary angle (sum = 180 degrees).""" supp = 180 - angle return {'supplement': round(supp, 4), 'sum': 180} def vertical_angles(self, angle): """Vertical angles from two intersecting lines.""" return { 'angle_1': angle, 'angle_2_vertical': angle, # equal! 'angle_3_adjacent': 180 - angle, 'angle_4_vertical_to_3': 180 - angle } def transversal_angles(self, angle): """All 8 angles: transversal crosses parallel lines.""" supp = 180 - angle angles = { 1: angle, 2: supp, 3: angle, 4: supp, 5: angle, 6: supp, 7: angle, 8: supp } return {'angles': angles, 'relationships': { 'corresponding': [(1,5), (2,6), (3,7), (4,8)], 'alternate_interior': [(3,5), (4,6)], 'co_interior': [(3,6), (4,5)] }} def are_complementary(self, a1, a2): return abs(a1 + a2 - 90) < 0.01 def are_supplementary(self, a1, a2): return abs(a1 + a2 - 180) < 0.01 # Run: python angle_relationships_calculator.py
זכרו: הקוד הוא תרגום של הנוסחה, לא מקור ההבנה. מישהו היה צריך לדעת שזוויות קודקודיות שוות כדי לכתוב vertical = alpha. הערך של הקוד: פירוק הכלל לשלבים ניתנים לעקיבה, אימות עם ערכים אמיתיים, ואיתור שגיאות.