ison Temat założony przez niniejszego użytkownika |
» 2010-06-01 21:43:42 mam pytanie w tym pana kodzie: value = getRadians( A.pos() - B.pos() );
co oznacza A.pos()-B.pos()? przecież pos nie zwraca liczby tylko strukturę lub klasę składającą się z pozycji x i y |
|
DejaVu |
» 2010-06-01 21:47:05 A.pos()-B.pos() zwraca różnicę. Operatory można przeciążać i tak zamiast pisać: value = getRadians( A.pos().x - B.pos().x, A.pos().y - B.pos().y );
mam to co wyżej już napisałem. W pierwszym przypadku, który przedstawiłem: 1) Kod jest czytelniejszy 2) Kod jest krótszy 3) Trudno o zrobienie błędu 4) Łatwo znaleźć ewentualne błędy - bo są ewidentne |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-01 22:29:06 Mógłby pan napisać tu tę funkcję? Przeszukałem wszystkie wyniki w google, siedziałem 2 godziny, 30 różnych rozwiązań żadne nie działało... |
|
DejaVu |
» 2010-06-01 23:05:22 Nie dam ;p powalcz troszkę ;) nie z googlami, tylko z matematyką. Wiesz, że trzeba wykorzystać funkcję atan i użyć kilku if'ów. |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-01 23:31:51 nieee, już mam dość tego całego debugowania czyżby to była ta cała magiczna funkcja? ;) double angle( point p1 ) { return atan2( p1.y, p1.x ); }
nie działa tak jak powinno ale zapytam bo może gdzieś indziej zrobiłem błąd to że trzeba użyć funkcji atan nic mi szczególnego nie mówi... w twierdzeniu tangensów występują dwa kąty więc odpada jedyne co mi zostaje to albo wyliczyć kąt z twierdzenia cosinusów co jest niezwykle masakryczne i dłuuugie, albo wyszukać gdzieś prostsze rozwiązanie które działa w magiczny sposób :) niestety zbyt dużej wiedzy apropo trygonometrii ze szkoły nie posiadam gdyż jeszcze tego nie przerabialiśmy na tym poziomie. Jedyne co to stosunki boków, tyle że one odpadają bo to nie trójkąt prostokątny. |
|
DejaVu |
» 2010-06-01 23:50:13 Nie oczekuj, że kiedykolwiek coś w szkole przerobisz na poziomie, który będzie satysfakcjonujący dla programisty. Szkoła to przedszkole (studia w sumie też, ale to szczegół).
/edit: @up: nie znam funkcji atan2, więc się nie wypowiadam. |
|
ison Temat założony przez niniejszego użytkownika |
» 2010-06-02 07:16:17 aktualnie chodzę do szkoły o profilu mat-inf i w gimnazjum przerabiamy materiał z liceum. Mam nadzieje że chociaż troche wiedza ze szkoly mi sie przyda. W takim razie będę chyba to musiał robić z obliczania długości wszystkich boków i twierdzenia cos. W każdym razie dzięki za pomoc |
|
DejaVu |
» 2010-06-02 11:39:07 http://pl.wikipedia.org/wiki/Funkcje_trygonometryczne, sekcja definicja za pomocą kąta skierowanego. Przekształć wzór w którym masz tangensa tak, aby mieć kąt alfa. Wykorzystaj do tego funkcję odwrotną, tj arcus tangens'a. Jeśli nie za bardzo wiesz jak to zrobić - poproś nauczyciela. Nauczyciel Ci poda banalny wzór, jednak będziesz musiał go później obudować o if'y (ze względu na dziedzinę arcustangens'a). |
|
1 « 2 » 3 |