Przejdź do głównej zawartości

Pole powierzchni trójkąta (Scratch)

Pole powierzchni trójkąta (Scratch)
Zastosowanie wzoru Herona pozwala obliczyć pole powierzchni trójkąta bez potrzeby wyliczania wysokości, wystarczy jedynie znać długości jego boków.

Projekt wraz z kodem źródłowym udostępniłam na stronie Math Cat - Pole powierzchni trójkąta.

Przydatne wiadomości:


Zanim program przejdzie do obliczania pola powierzchni trójkąta musi sprawdzić czy z odcinków o danych długościach w ogóle można będzie zbudować trójkąt. (Trójkąty mające postać odcinka, tzw. zdegenerowane nie zostały uwzględnione.)


Aby możliwe było zbudowanie trójkąta z odcinków o długościach a, b, c muszą być spełnione wszystkie trzy nierówności:
a < b + c
b < c + a
c < a + b

To będzie czynność poprzedzająca dalsze obliczenia.
Jeśli z danych odcinków będzie możliwe zbudowanie trójkąta to program wyliczy pole powierzchni, w przeciwnym razie wyświetli odpowiedni komunikat i będzie czekał na reakcję użytkownika.

Do wyliczenia pola powierzchni trójkąta doskonale nadaje się wzór Herona. Takie rozwiązanie jest bardzo wygodne ponieważ wystarczy jedynie znajomość długości boków.
gdzie p to połowa obwodu naszego trójkąta
Przy okazji policzymy obwód.
Wzór Herona pozwala również uprościć sprawdzanie warunku istnienia trójkąta.
Jeżeli wyrażenie pod pierwiastkiem jest większe od zera to znaczy że z odcinków o długościach a, b, c otrzymamy trójkąt. Dzięki temu można jeszcze bardziej uprościć program i zamiast trzech nierówności na początku sprawdzać tylko jedną. To rozwiązanie nie zostało zastosowane w programie, więc nadal pozostaje pole do ulepszeń.
Dodatkowo program rozpoznaje rodzaj trójkąta ze względu na długość boków (równoboczny, równoramienny, różnoboczny) oraz potrafi rozpoznać trójkąty prostokątne. Sprawdzanie czy trójkąt jest prostokątny zrealizowane z wykorzystaniem twierdzenia Pitagorasa.

Jeżeli co najmniej jedno z poniższych równań jest prawdziwe to znaczy, że dany trójkąt jest prostokątny.
Stosunkowo łatwo można rozszerzyć funkcjonalność programu o możliwość rozpoznawania trójkątów ostrokątnych i rozwartokątnych.

Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab.