גיאומטריה אנליטית
נוסחה, קוד, ויזואליזציה: שלוש דרכים להבין את אותו מושג
מרחק בין נקודות — שלושה ייצוגים של אותו רעיון
# Step 1: find the deltas dx = x2 - x1 dy = y2 - y1 # Step 2: distance (Pythagorean) d = sqrt(dx**2 + dy**2) # Step 3: midpoint (average) M = ((x1+x2)/2, (y1+y2)/2) # Step 4: slope (rise / run) m = dy / dx
שימו לב: הצבעים עקביים — (x₁, y₁) בטורקיז בציור, בנוסחה ובקוד. Δx בכחול ו-Δy בוורוד — בכולם. זה משולש ישר-זווית! נוסחת המרחק היא משפט פיתגורס במסווה.
מיפוי בין ייצוגים
כל שורה היא אותו דבר בשלוש צורות שונות:
| Math | Python Code | Visual (SVG) | Color |
|---|---|---|---|
| (x₁, y₁) | p1 = (x1, y1) |
Teal filled circle | |
| (x₂, y₂) | p2 = (x2, y2) |
Cyan filled circle | |
| Δx = x₂ − x₁ | dx = p2[0] - p1[0] |
Horizontal dashed line | |
| Δy = y₂ − y₁ | dy = p2[1] - p1[1] |
Vertical dashed line | |
| d = √(Δx² + Δy²) | d = sqrt(dx**2 + dy**2) |
Violet diagonal line (hypotenuse) | |
| M = midpoint | ((x1+x2)/2, (y1+y2)/2) |
Emerald diamond on segment center | |
| m = slope | m = dy / dx |
Rise-over-run ratio |
מחשבון אינטראקטיבי
שנו את הנקודות וראו את כל שלושת הייצוגים מתעדכנים יחד:
מושגים נוספים
סוגי שיפוע
השיפוע מתאר את הזווית שהישר יוצר עם ציר ה-x.
מקבילים וניצבים
שני ישרים מקבילים כאשר שיפועיהם שווים. ניצבים כאשר מכפלת השיפועים = −1.
משוואת ישר
בצורת שיפוע-חיתוך: y = mx + b, כאשר b הוא נקודת החיתוך עם ציר y.
משוואת מעגל
מעגל עם מרכז (h, k) ורדיוס r: נוסחת המרחק מהמרכז לכל נקודה על ההיקף.
קוד Python מלא
הקוד המלא נמצא בקובץ coordinate_geometry_calculator.py — הוא כולל מרחק, אמצע, שיפוע, משוואות ישר ומעגל, ותפריט אינטראקטיבי עם 11 אפשרויות.
# Core methods from CoordinateGeometryCalculator import math class CoordinateGeometryCalculator: def distance(self, p1, p2): """d = sqrt((x2-x1)^2 + (y2-y1)^2)""" dx = p2[0] - p1[0] dy = p2[1] - p1[1] return round(math.sqrt(dx**2 + dy**2), 4) def midpoint(self, p1, p2): """M = ((x1+x2)/2, (y1+y2)/2)""" mx = (p1[0] + p2[0]) / 2 my = (p1[1] + p2[1]) / 2 return (round(mx, 4), round(my, 4)) def slope(self, p1, p2): """m = (y2-y1) / (x2-x1)""" dx = p2[0] - p1[0] dy = p2[1] - p1[1] if abs(dx) < 1e-10: return None # vertical line return round(dy / dx, 4) def line_from_two_points(self, p1, p2): """y = mx + b from two points""" m = self.slope(p1, p2) b = p1[1] - m * p1[0] return {'slope': m, 'y_intercept': b} # Run: python coordinate_geometry_calculator.py
זכרו: הקוד הוא תרגום של הנוסחה, לא מקור ההבנה. מישהו היה צריך לדעת שמרחק = √(Δx² + Δy²) כדי לכתוב אותו. הערך של הקוד: פירוק הנוסחה לשלבים ניתנים לעקיבה, אימות עם ערכים אמיתיים, ואיתור שגיאות.