Funkcje generujące współrzędne x i y punktów na elipsie

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
l153k
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 18 paź 2009, o 11:35
Płeć: Mężczyzna
Lokalizacja: Szprotawa
Podziękował: 1 raz

Funkcje generujące współrzędne x i y punktów na elipsie

Post autor: l153k »

Witam,
mam spory problem, piszę sterownik do plotera (drukarka z ołówkiem ;)) i chciałbym żeby potrafił też narysować elipsy. Ploter rozumie tylko linie proste, więc muszę stworzyć dwie funkcje, które stworzą odpowiednio dużo punktów leżących na krawędzi elipsy, a maszyna potem te punkty połączy liniami (powstanie wielokąt a'la elipsa).

Funkcje które tworzą koło wyglądają tak:
Dla koła o promieniu R i środku w punktach P i Q:
\(\displaystyle{ fx( \alpha , P , R) = R \cdot cos( \alpha ) + P}\)
\(\displaystyle{ fy( \alpha , Q , R) = R \cdot sin( \alpha ) + Q}\)
Teraz podając do odpowiednich funkcji P, Q, R i \(\displaystyle{ \alpha}\) z zakresu od 0 do \(\displaystyle{ 2 \pi}\) otrzymam kolejne współrzędne punktów leżących na krawędzi koła:
\(\displaystyle{ P( fx( \alpha , P , R ); fy( \alpha , P , R) )}\)

To była prościzna.
Podobnego "myku" na elipsę szukam już kilka dni.
Z danych o tej elipsie będę miał na pewno współrzędne obu ognisk i jeden punkt leżący na krawędzi...
Będę wdzięczny za wszelkie sugestie, pomysły...

pozdrawiam
szw1710

Funkcje generujące współrzędne x i y punktów na elipsie

Post autor: szw1710 »

Parametryzacja elipsy

\(\displaystyle{ x=x_0+a\cos t,\;y=y_0+b\sin t}\)

Prowadzi to do równania

\(\displaystyle{ \frac{(x-x_0)^2}{a^2}+\frac{(y-y_0)^2}{b^2}=\cos^2 t+\sin^2t=1,}\)

a jest to w istocie równanie elipsy.
l153k
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 18 paź 2009, o 11:35
Płeć: Mężczyzna
Lokalizacja: Szprotawa
Podziękował: 1 raz

Funkcje generujące współrzędne x i y punktów na elipsie

Post autor: l153k »

szw1710, dzięki!!

A po drobnych przeróbkach można jeszcze obrócić elipsę o parę stopni \(\displaystyle{ \alpha}\):

\(\displaystyle{ x'( \alpha ) = (x_{0} + a cos(t)) cos( \alpha ) - (y_{0} + b sin(t)) sin( \alpha )}\)
\(\displaystyle{ y'( \alpha ) = (x_{0} + a cos(t)) sin( \alpha ) + (y_{0} + b sin(t)) cos( \alpha )}\)

jeśli coś pokręciłem to wybaczcie, dzisiaj pierwszy raz używam LaTeX-a a i we wzorach mogę się mylić

edit:poprawione
Ostatnio zmieniony 1 lut 2012, o 20:20 przez l153k, łącznie zmieniany 1 raz.
szw1710

Funkcje generujące współrzędne x i y punktów na elipsie

Post autor: szw1710 »

Elipsę chyba. W drugiej linii Twoich wzorów masz minus zamiast plusa.

Wzór na obrót punktu \(\displaystyle{ (x,y)}\) o kąt \(\displaystyle{ \alpha}\) dookoła początku układu:

\(\displaystyle{ \left\{
\begin{matrix}
x'=x\cos\alpha-y\sin\alpha\\
y'=x\sin\alpha+y\cos\alpha
\end{matrix}}\)


Dobrze tu stosować liczby zespolone wraz z ich interpretacją geometryczną.

Obrót punktu \(\displaystyle{ z=x+iy}\) dookoła zera o kąt \(\displaystyle{ \alpha}\) realizuje się przez pomnożenie liczby \(\displaystyle{ z}\) przez liczbę \(\displaystyle{ \cos\alpha+i\sin\alpha}\):

\(\displaystyle{ x'+iy'=(x+iy)(\cos\alpha+i\sin\alpha)}\)

Porównując części rzeczywiste i urojone dostajemy powyższe wzory. Dlatego tak łatwo je napisać bez pamiętania
l153k
Użytkownik
Użytkownik
Posty: 7
Rejestracja: 18 paź 2009, o 11:35
Płeć: Mężczyzna
Lokalizacja: Szprotawa
Podziękował: 1 raz

Funkcje generujące współrzędne x i y punktów na elipsie

Post autor: l153k »

Parametryzacja. Tego słówka brakowało mi w tej krucjacie.
ODPOWIEDZ