גיאומטריה אנליטית

נוסחה, קוד, ויזואליזציה: שלוש דרכים להבין את אותו מושג

מרחק בין נקודות — שלושה ייצוגים של אותו רעיון

ויזואלי — "אני רואה את זה"
x y Δx = 5 Δy = 3 (1, 2) (6, 5) M(3.5, 3.5) d = 5.83
נוסחה — "אני מבין את היחס"
מרחק
d = √(Δx² + Δy²)
Δx = x₂x₁  |  Δy = y₂y₁
נקודת אמצע
M = ((x₁+x₂)/2, (y₁+y₂)/2)
שיפוע
m = Δy / Δx
קוד מפורק — "אני עוקב אחרי השלבים"
# 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
כל שורה = פעולה אחת בלבד
בשפה פשוטה (ללא קוד)
1. מצאו את ההפרשים: Δx = 6−1 = 5, Δy = 5−2 = 3
2. העלו בריבוע וחברו: 5² + 3² = 34
3. שורש ריבועי: d = √34 ≈ 5.83
4. שיפוע: m = 3/5 = 0.6

שימו לב: הצבעים עקביים — (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.

m > 0 rising m < 0 falling m = 0 horizontal m = ? vertical
# slope classification m = dy / dx # m > 0 : rising line # m < 0 : falling line # m = 0 : horizontal line # dx = 0: vertical (undefined)

מקבילים וניצבים

שני ישרים מקבילים כאשר שיפועיהם שווים. ניצבים כאשר מכפלת השיפועים = −1.

m₁ = m₂ Parallel m₁×m₂ = −1 Perpendicular
# parallel & perpendicular check is_parallel = abs(m1 - m2) < 1e-10 is_perp = abs(m1 * m2 + 1) < 1e-10

משוואת ישר

בצורת שיפוע-חיתוך: y = mx + b, כאשר b הוא נקודת החיתוך עם ציר y.

# line equation from two points m = (y2 - y1) / (x2 - x1) b = y1 - m * x1 # y = mx + b

משוואת מעגל

מעגל עם מרכז (h, k) ורדיוס r: נוסחת המרחק מהמרכז לכל נקודה על ההיקף.

# circle equation # (x - h)² + (y - k)² = r² (x - h)**2 + (y - k)**2 == r**2 # This IS the distance formula!

קוד 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²) כדי לכתוב אותו. הערך של הקוד: פירוק הנוסחה לשלבים ניתנים לעקיבה, אימות עם ערכים אמיתיים, ואיתור שגיאות.