חישוב משולשים

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

שטח משולש — שלושה ייצוגים של אותו רעיון

ויזואלי — "אני רואה את זה"
c = 7 a = 5 b = 6 h A = 14.70 A B C
נוסחה — "אני מבין את היחס"
נוסחת הרון (שטח)
s = (a + b + c) / 2
A = √(s·(s-a)·(s-b)·(s-c))
היקף
P = a + b + c
חוק הקוסינוסים (זוויות)
cos(A) = (b²+c²-a²) / 2bc
קוד מפורק — "אני עוקב אחרי השלבים"
# Step 1: semi-perimeter
s = (a + b + c) / 2

# Step 2: Heron's product
product = s*(s-a)*(s-b)*(s-c)

# Step 3: square root = area
area = sqrt(product)
כל שורה = פעולה אחת בלבד
בשפה פשוטה (ללא קוד)
1. חברו את שלוש הצלעות וחלקו ב-2 כדי לקבל את חצי ההיקף: (5 + 6 + 7) / 2 = 9
2. הכפילו: s × (s-a) × (s-b) × (s-c) = 9×4×3×2 = 216
3. הוציאו שורש ריבועי: √216 = 14.70

שימו לב: הצבעים עקביים — a בטורקיז בציור, בנוסחה ובקוד. b בציאן בכולם. c בכחול בכולם. המיפוי הזה הוא מנגנון הלמידה — לא כל ייצוג בנפרד, אלא החיבורים ביניהם.

מיפוי בין ייצוגים

כל שורה היא אותו דבר בשלוש צורות שונות:

Math Python Code Visual (SVG) Color
a (BC)side_aSide BC (opposite vertex A)
b (AC)side_bSide AC (opposite vertex B)
c (AB)side_cSide AB (base)
hheightOrange dashed vertical line
A (area)areaShaded interior region
P (perimeter)perimeterSum of all three sides

מחשבון אינטראקטיבי

שנו את הערכים וראו את כל שלושת הייצוגים מתעדכנים יחד:

ויזואלי
חישוב שלב אחרי שלב

סוגי משולשים

שווה צלעות (Equilateral)

כל שלוש הצלעות שוות. כל הזוויות 60°. הצורה הסימטרית ביותר.

# equilateral check a == b == c # True angles: 60°, 60°, 60°
a = b = c 60° 60° 60°

שווה שוקיים (Isosceles)

שתי צלעות שוות. שתי זוויות בסיס שוות. סימטרי לציר אנכי.

# isosceles check a == b # or a==c or b==c
a a c (base)

כללי (Scalene)

כל שלוש הצלעות שונות. כל הזוויות שונות. ללא סימטריה.

# scalene check a != b != c # all different
c a b

ישר זווית (Right Triangle)

זווית אחת של 90°. מקיים את משפט פיתגורס: a² + b² = c².

# right-angle check (tolerance) any_angle ≈ 90° # or: a² + b² ≈ c²
base h hyp 90°

קוד Python מלא

הקוד המלא נמצא בקובץ triangle_calculator.py — הוא כולל חישוב מקואורדינטות, ויזואליזציה, ותפריט אינטראקטיבי.

# Core computation from TriangleCalculator class

def calculate_from_sides(self, side_a, side_b, side_c):
    """Calculate triangle from three sides (SSS)."""

    # Validate triangle inequality
    if not (side_a+side_b > side_c and
            side_b+side_c > side_a and
            side_c+side_a > side_b):
        raise ValueError("triangle inequality violated")

    # Use law of cosines to find angle A
    cos_A = (side_b**2 + side_c**2 - side_a**2) / (2 * side_b * side_c)
    angle_A = math.acos(cos_A)

    # Calculate C coordinates
    x = side_b * math.cos(angle_A)
    y = side_b * math.sin(angle_A)
    return (0,0), (side_c,0), (x, y)

def get_area(self):
    """Heron's formula: A = sqrt(s(s-a)(s-b)(s-c))"""
    sides = self.get_side_lengths()
    a, b, c = sides['BC'], sides['AC'], sides['AB']

    # Step 1: semi-perimeter
    s = (a + b + c) / 2

    # Step 2: Heron's product
    product = s * (s-a) * (s-b) * (s-c)

    # Step 3: square root = area
    area = math.sqrt(product)

    return round(area, 2)

# Run: python triangle_calculator.py

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