Tôi đang cố tạo một máy tính tính diện tích tứ giác đơn giản. Tôi biết rằng mỗi tứ giác có thể được chia thành hai hình tam giác, và tôi sẽ có thể tính toán diện tích ở hai phần bất kể cái gì. Tôi có thể làm điều này trong toán học, nhưng tôi không biết làm thế nào để thực hiện nó với Python.Tính diện tích tứ giác
Đây là lớp tứ giác của tôi:
class Quadrilateral(Shape):
def __init__(self, name):
# in clockwise order: angles[0], sides[0], angles[1], sides[1], ...
self.sides = [5] * 4
self.angles = [90] * 4
super().__init__(self, name)
Bây giờ những gì tôi cần là để thực hiện một phương pháp get_area()
mà tính diện tích tứ giác của tôi, nhưng tôi không có ý tưởng như thế nào.
Đây là cách tôi sẽ làm điều đó với một giấy và một cây bút:
Về cơ bản tôi sẽ chỉ cần phải biết hai góc và ba mặt để có thể sử dụng kỹ thuật này để tính toán diện tích, nhưng đừng lo lắng về điều đó. Bây giờ, tôi biết tất cả các góc và tất cả các bên, làm cách nào để tính toán diện tích?
Đây có thể là cách tiếp cận tốt hơn để sử dụng điểm 2D thay cho góc và chiều dài phụ. Nó có thể dẫn đến một tập hợp dữ liệu không hợp lệ khi có một mặt nhưng không điều chỉnh dữ liệu tương ứng. Sử dụng các điểm 2D, các mối quan hệ (góc và chiều dài bên) là ngầm định. –
upvote cho một pic tuyệt vời! – Gerrat
@Gerrat Sơn để giành chiến thắng, yay! –