Układ sloneczny - polozenia planet, predkosci poczatkowe, masy

0

Mam za zadanie napisac taki uklad sloneczy, zeby sie poruszal itp ;p Ale mam problem juz na samym poczatku : mamy wziac do tego dane z Wikipedii, ok, spoko, tylko, ze one sa strasznie duze [czy je skalowac, jesli tak, to jak?] a poza tym, jak mam obl poczatkowe polozenie planet, jesli slonce dam w pkcie [0,0,0] - dzialam w ukladzie 3D.

0

Co to znaczy duże? Duże to mogą być lody w wafelku. Czy twój program ma coś rysować, czy wypisywać tekstem? Też nie wspomniałeś. Początkowego położenia planet nie musisz wyliczać, musisz je podać w programie. Najlepiej zapytaj nauczyciela co wymyślił to zadanie. Jak te obiekty mają być umiejscowione.

0

Program ma wszystko rysować. Dane kazał wziąć z Wikipedii ... No ale jeśli mam daną odl od słońca, to zakładając, że działam w 3D (lub 2D jeśli z = 0), to jakoś muszę wyliczyć położenie x,y planety ...

Znalazłem taki kod i tak się zastanawiam, skąd oni tam wzięli te wartości? : http://www.phy.uct.ac.za/courses/python/examples/solardat.py

Załóżmy, ze moje słońce jest w pkcie [0,0,0], ziemia jest w odl [to z wiki] 149 597 890 km to jak mam policzyć położenie ziemi, czyli x,y dla ziemi?

0

To nie zastanawiaj się, tylko weź te same. Przyjmij, że planety poruszają się po okręgach, masz położenie i prędkość. Resztę sobie liczysz z wzoru na obwód okręgu, na odległość dwóch punktów (twierdzenie Pitagorasa): wyliczasz o ile przesunie się obiekt po 1 s, wyliczasz kąt o ile się zmieni i przeliczasz na współrzędne x i y. Potem dla wszystkich planet. Wstępnie to jest sama matematyka.

0

wiem mniej więcej co i jak dalej liczyć, ale nie dają mi spokoju te wartości. Bo muszą być wzięte z wiki, jak mu pokażę takie rozwiązanie, to będzie źle -.- poza tym, tam położenie słońca wcale nie jest (0,0,0) co zmienia mi całkowicie wzór na R ... ciągle szukam tych wartości, ale nie mogę się połapać, skąd je wziąć, skąd je wzięli tam ... dając liczby z wiki wyjdą mi kosmiczne [cóż za trafne porównanie-.-] wartości, i rysując je nie dostanę tego, co bym chciał

0

Załóżmy, ze moje słońce jest w pkcie [0,0,0], ziemia jest w odl [to z wiki] 149 597 890 km to jak mam policzyć położenie ziemi, czyli x,y dla ziemi?

Zastosuj jakąś skalę - 1 punkt w twoim układzie współrzędnych to może być na przykład 10^6 km. Ziemia będzie na pozycji 149,0,0, kiedy jest najdalej odsunięta od Słońca (uwaga: w którą stronę zorientowany jest układ zależy od ciebie!). Podobnie możesz przeskalować wartości dla innych planet.

Z tego kodu co podałeś - oni wzięli sobie skalę w postaci AU (jednostki astronomicznej), która wynosi około 8 minut świetlnych (http://pl.wikipedia.org/wiki/Jednostka_astronomiczna). Nie istnieje coś takiego jak "początkowe położenie planet" - musisz zacząć liczyć od pewnej daty znając dokładne położenia wtedy. Znów odwołam się do kodu wcześniej zaprezentowanego - oni tam mają dane ustalone w jakiś sposób z dnia 28 czerwca 1960 roku. Dane późniejsze da się wyliczyć i dane wcześniejsze też się da wyliczyć, bo znamy wartości prędkości orbitalnej planet w układzie. Jeżeli dobrze widzę to tamten kod chyba też uwzględnia Słońce w pozycji 0,0,0, a przynajmniej bardzo blisko 0.

0

ok, a co z predkoscia? I jesli zastosuje taka skale, to polozenie ziemi (149, 0, 0) bedzie takie, ok, a nie powinienem przypadkiem ustalic jakiegos polozenia y ? Tzn dac [na przyklad] : (149, 60, 0), gdzie x = 149, y = 60, z = 0? Bo przecież później będę musiał zmienić y

korzystam z tego wzoru: http://upload.wikimedia.org/w[...]6ff32bdc51a1b0eaa6e37efa8.png

oj, troszkę mi namieszałeś - czy to znaczy, że jeśli bym wyliczył dane dla 25.11.2011, to już jutro mój program były w jakimś sensie nieaktualny? <olaboga>

a w tym pliku, ktory podalem, czym jest Gm? to nie powinno byc dla wszystkich stale?

0

Ok, tylko może mi ktoś jeszcze powiedzieć, jak to wyliczyć, bo, tak jakby położenie x mam, ale położenia y i z? Oni tam jakoś wyliczyli, skoro u mnie położenie na OX to będzie 149 dla ziemi, skad mam wziac y i z?

0

Zajrzyj do takiego hasła: http://pl.wikipedia.org/wiki/[...]5%82rz%C4%99dnych_biegunowych
Tam jest info jak przeliczyć. W twoim przypadku masz tak:
Przyjmujesz Z=0, dla ułatwienia. Pewnie w rzeczywistości tak nie jest, ale zrób wstępnie takie uproszczenie, że planety poruszają się po okręgu, i każdy okrąg leży w płaszczyźnie XY. Dodatkowo środek okręgu jest w punkcie (0, 0). Masz początkowe położenie ziemi w punkcie x=149 y=0. To jest na osi X. Kąt jest równy alfa=0 a promień r=149. Teraz porusza się po okręgu z prędkością v, a więc masz prędkość kątową omega=v/r. Z tego masz zależność kąta alfa od czasu - po czasie t kąt alfa=omega *t, promień się nie zmienia. Teraz te wartości alfa i r wstawiasz do wzorów z wikipedii i masz swoje X i Y. Potem możesz sobie szukać kątów między płaszczyznami orbit planet, wyznaczać orbity eliptyczne korzystając z prawa Kepplera czy też inaczej, ale myślę, że to trochę za daleko by było, bo to chyba o informatykę chodzi.

0
maciej napisał(a)

ok, a co z predkoscia? I jesli zastosuje taka skale, to polozenie ziemi (149, 0, 0) bedzie takie, ok, a nie powinienem przypadkiem ustalic jakiegos polozenia y ? Tzn dac [na przyklad] : (149, 60, 0), gdzie x = 149, y = 60, z = 0? Bo przecież później będę musiał zmienić y

korzystam z tego wzoru: http://upload.wikimedia.org/w[...]6ff32bdc51a1b0eaa6e37efa8.png

oj, troszkę mi namieszałeś - czy to znaczy, że jeśli bym wyliczył dane dla 25.11.2011, to już jutro mój program były w jakimś sensie nieaktualny? <olaboga>

a w tym pliku, ktory podalem, czym jest Gm? to nie powinno byc dla wszystkich stale?

Jeżeli nie podałeś Y, to znaczy, że wynosi 0 - nowe Y będzie wyliczone zgodnie ze wszystkimi prawidłami fizycznymi w następnym kwancie czasu. Bo musisz sobie jeszcze ustalić kiedy będziesz przeliczał położenia planet - co godzinę, co minutę, co dzień, co sekundę?
We wzorze który podałeś G jest stałą - stałą grawitacji. Stałe zasadniczo są stałe.

Musisz mieć jakiś moment początkowy i dla niego ZNAĆ wartości położenia/prędkości obiektów. Da się policzyć gdzie będą obiekty w innym czasie, ale w pewnym momencie musimy to wiedzieć, aby móc cokolwiek liczyć. Liczenie będzie działać zarówno w tył, jak i w przód, prawa fizyki są (zazwyczaj) niezależne od kierunku biegu czasu.

A w ogóle twój program musi mieć te dane w rzeczywistym czasie? Bo możesz zacząć od momentu, kiedy wszystkie 8 planet jest ustawionych w jednej linii i nie mówić kiedy to było i tylko sobie liczyć dalej od tej chwili. Nie wiem czy i kiedy ona nastąpiła, ale to upraszcza sprawę :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0