Witam piszę program do rysowania krzywych i napotkałem pewien problem.
Epicykloida rysowana jest z pewnym przybliżeniem od punktu do punktu i łączona odcinkami.
Korzystam ze wzorów:
\(\displaystyle{ x = (R+r)\cos(t) - r \cos\left(\frac {R+r} r t\right)}\)
\(\displaystyle{ y = (R+r)\sin(t) - r \sin\left(\frac {R+r} r t\right)}\)
Problem polega na tym, że nie wiem kiedy zakończyć jej rysowanie, innymi słowy: nie wiem, kiedy krzywa zaczyna nakładać się na samą siebie.
Sprawa jest prosta kiedy stosunek promieni jest liczbą całkowitą \(\displaystyle{ R \% r = 0}\), wtedy wystarczy przerwać rysowanie gdy \(\displaystyle{ t \ge 2\pi}\).
Ale jak to sprawdzić, gdy stosunek ten nie jest całkowity, czyli mniejszy okrąg okrąża większy wielokrotnie?
Powrót Epicykloidy
-
- Użytkownik
- Posty: 4
- Rejestracja: 19 cze 2009, o 12:57
- Płeć: Mężczyzna
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Powrót Epicykloidy
Moim zdaniem, jeśli podstawiasz t zaczynając od zera, powinno zadziałać \(\displaystyle{ t \ge 2k\pi}\), gdzie k jest (najlepiej) najmniejszą liczbą naturalną dodatnią taką, że \(\displaystyle{ k \cdot \frac{R}{r}}\) też jest naturalne. Jak efektywnie te liczbę wyznaczyć - nie mam pojęcia. Użytkownik musiałby jako długości promieni podawać tylko liczby wymierne.
-
- Użytkownik
- Posty: 4
- Rejestracja: 19 cze 2009, o 12:57
- Płeć: Mężczyzna
Powrót Epicykloidy
Przy niewymiernym stosunku promieni nie ma problemu, ponieważ wtedy krzywa powinna być rysowana w nieskończoność. Problemu nie ma też, gdy stosunek jest całkowity.
Jedynie gdy stosunek jest rzeczywisty, ten problem występuje.
Jedynie gdy stosunek jest rzeczywisty, ten problem występuje.
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Powrót Epicykloidy
Tzn rozumiem, ze miałeś na myśli "wymierny". Przy wymiernym trzeba by zamienić ułamek dziesiętny na zwykły, a ciężko to zrobić zwłaszcza dla liczb o nieskończonym rozwinięciu dziesiętnym.czterystaczwarty pisze:Jedynie gdy stosunek jest rzeczywisty, ten problem występuje.
-
- Użytkownik
- Posty: 4
- Rejestracja: 19 cze 2009, o 12:57
- Płeć: Mężczyzna
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Powrót Epicykloidy
Tak, ale chodzi o to, żeby liczbę \(\displaystyle{ \frac{R}{r}}\) przedstawić w postaci ułamka zwykłego (tzn. o całkowitym liczniku i naturalnym mianowniku). Użytkownik może podać R i r niecałkowite i wtedy jest problem. Nie byłoby problemu, gdyby użytkownik mógł podać tylko całkowite wartości R i r, wtedy \(\displaystyle{ k=\frac{r}{NWD(R,r)}}\).
-
- Użytkownik
- Posty: 4
- Rejestracja: 19 cze 2009, o 12:57
- Płeć: Mężczyzna