Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Program to check congruency of two triangles in Python
In geometry, two triangles are congruent if they have the same shape and size. We can check triangle congruency using three main criteria: SSS (Side-Side-Side), SAS (Side-Angle-Side), and ASA (Angle-Side-Angle). Note that AAA (Angle-Angle-Angle) only proves similarity, not congruency.
Let's implement functions to check each congruency condition ?
SSS (Side-Side-Side) Congruency
Two triangles are congruent if all three corresponding sides are equal ?
def side_side_side_congruent(sides_one, sides_two):
# Sort both lists to compare corresponding sides
sides_one_sorted = sorted(sides_one)
sides_two_sorted = sorted(sides_two)
# Check if all corresponding sides are equal
return sides_one_sorted == sides_two_sorted
# Example usage
triangle1_sides = [3, 4, 5]
triangle2_sides = [4, 5, 3]
result = side_side_side_congruent(triangle1_sides, triangle2_sides)
print(f"SSS Congruent: {result}")
SSS Congruent: True
SAS (Side-Angle-Side) Congruency
Two triangles are congruent if two sides and the included angle are equal ?
def side_angle_side_congruent(triangle1, triangle2):
# triangle format: [(side1, angle, side2), ...]
# Check if any SAS combination matches
for sas1 in triangle1:
for sas2 in triangle2:
if (sas1[0] == sas2[0] and sas1[1] == sas2[1] and sas1[2] == sas2[2]):
return True
return False
# Example: (side, angle, side) combinations
triangle1_sas = [(3, 60, 4), (4, 90, 5), (5, 30, 3)]
triangle2_sas = [(3, 60, 4), (6, 45, 7), (8, 120, 9)]
result = side_angle_side_congruent(triangle1_sas, triangle2_sas)
print(f"SAS Congruent: {result}")
SAS Congruent: True
ASA (Angle-Side-Angle) Congruency
Two triangles are congruent if two angles and the included side are equal ?
def angle_side_angle_congruent(triangle1, triangle2):
# triangle format: [(angle1, side, angle2), ...]
# Check if any ASA combination matches
for asa1 in triangle1:
for asa2 in triangle2:
if (asa1[0] == asa2[0] and asa1[1] == asa2[1] and asa1[2] == asa2[2]):
return True
return False
# Example: (angle, side, angle) combinations
triangle1_asa = [(60, 3, 90), (90, 4, 30), (30, 5, 60)]
triangle2_asa = [(60, 3, 90), (45, 6, 75), (120, 8, 30)]
result = angle_side_angle_congruent(triangle1_asa, triangle2_asa)
print(f"ASA Congruent: {result}")
ASA Congruent: True
Complete Triangle Congruency Checker
Here's a comprehensive function that checks all congruency conditions ?
def check_triangle_congruency(sides1, sides2, angles1, angles2):
results = []
# Check SSS congruency
if sorted(sides1) == sorted(sides2):
results.append("SSS")
# Check if triangles have same angles (for SAS/ASA verification)
if sorted(angles1) == sorted(angles2):
# If all angles are same and at least one side is same, likely congruent
if any(s1 in sides2 for s1 in sides1):
if "SSS" not in results: # Avoid duplicate if already SSS
results.append("SAS/ASA")
return results
# Example triangles
triangle1_sides = [3, 4, 5]
triangle1_angles = [37, 53, 90]
triangle2_sides = [3, 4, 5]
triangle2_angles = [37, 53, 90]
congruency = check_triangle_congruency(triangle1_sides, triangle2_sides,
triangle1_angles, triangle2_angles)
print("Triangle congruency criteria met:", ", ".join(congruency) if congruency else "None")
Triangle congruency criteria met: SSS
Key Points
| Criteria | Condition | Proves |
|---|---|---|
| SSS | All three sides equal | Congruency |
| SAS | Two sides and included angle equal | Congruency |
| ASA | Two angles and included side equal | Congruency |
| AAA | All three angles equal | Similarity only |
Conclusion
Triangle congruency can be verified using SSS, SAS, or ASA criteria. Remember that AAA only proves similarity, not congruency, as triangles can have the same angles but different sizes.
