Flaque Opublikowano 27 Września 2010 Udostępnij Opublikowano 27 Września 2010 Nauczyciel podyktował nam zadanie, za które nie mam pojęcia jak się zabrać. Określ położenie punktu o współrzędnych Z(x,y) względem trójkąta wyznaczonego przez wierzchołki ABC o współrzędnych A(x1,y1), B(x2,y2), C(x3,y3) obliczając pola trójkątów S1:ABZ, S2:ACZ, S3:BCZ, S4:ABC według zasady: "jeżeli |S1+S2+S3+S4| < LUB = 0(do potegi 00001) to punkt Z leży wewnątrz trójkąta Mógłby mi ktoś to może rozrysować, chociażby graficznie? A za napisanie w pascalu z komentarzami byłbym niesamowicie wdzięczny:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 27 Września 2010 Udostępnij Opublikowano 27 Września 2010 Pole liczyć najłatwiej będzie ze wzoru Herona: http://upload.wikimedia.org/math/d/2/a/d2a...b8ac8ff08a0.png p to połowa obwodu, a,b i c to boki. Tylko nie bardzo rozumiem ten warunek: "jeżeli |S1+S2+S3+S4| < LUB = 0(do potegi 00001)" Wydaje mi się, że S1+S2+S3 powinno być równe S4 EDIT: Ewentualnie był też jakiś wzór z iloczynem wektorów sąsiednich boków. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 27 Września 2010 Udostępnij Opublikowano 27 Września 2010 Te, a pola przy zestawie punktów X,Y nie robiło się na macierzy przypadkiem? EDIT GML // S( x1, y1, x2, y2, x3, y3 ) a = point_distance( x1, y1, x2, y2 ); b = point_distance( x2, y2, x3, y3 ); c = point_distance( x3, y3, x1, y1 ); p = ( a + b + c ) / 2; return sqrt( p * ( p - a ) * ( p - b ) * ( p - c ) ); GML S1 = S( Ax, Ay, Bx, By, Zx, Zy ); S2 = S( Ax, Ay, Cx, Cy, Zx, Zy ); S3 = S( Bx, By, Cx, Cy, Zx, Zy ); S4 = S( Ax, Ay, Bx, By, Cx, Cy ); if( S1 + S2 + S3 > S4 ) { show_message( 'Out' ); } else { show_message( 'In' ); } EDIT Kurde, miał być Pascal. Oh well... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się