Powrót Epicykloidy

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
czterystaczwarty
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 19 cze 2009, o 12:57
Płeć: Mężczyzna

Powrót Epicykloidy

Post autor: czterystaczwarty »

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}\).
AU
AU
120px-Epicycloid-3svg.png (2.9 KiB) Przejrzano 80 razy
Ale jak to sprawdzić, gdy stosunek ten nie jest całkowity, czyli mniejszy okrąg okrąża większy wielokrotnie?
AU
AU
120px-Epicycloid-5-5svg.png (4.92 KiB) Przejrzano 80 razy
Crizz
Użytkownik
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

Post autor: Crizz »

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.
czterystaczwarty
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 19 cze 2009, o 12:57
Płeć: Mężczyzna

Powrót Epicykloidy

Post autor: czterystaczwarty »

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.
Crizz
Użytkownik
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

Post autor: Crizz »

czterystaczwarty pisze:Jedynie gdy stosunek jest rzeczywisty, ten problem występuje.
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
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 19 cze 2009, o 12:57
Płeć: Mężczyzna

Powrót Epicykloidy

Post autor: czterystaczwarty »

Ułamek zwykły przecież jest \(\displaystyle{ \frac{R}{r}}\)
Crizz
Użytkownik
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

Post autor: Crizz »

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)}}\).
czterystaczwarty
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 19 cze 2009, o 12:57
Płeć: Mężczyzna

Powrót Epicykloidy

Post autor: czterystaczwarty »

to niestety wyeliminowało by najciekawsze z krzywych
ODPOWIEDZ