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/wikipedia/pl/math/7/3/1/731f09a6ff32bdc51a1b0eaa6e37efa8.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/Uk%C5%82ad_wsp%C3%B3%C5%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/wikipedia/pl/math/7/3/1/731f09a6ff32bdc51a1b0eaa6e37efa8.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ę :-)

0

To niech mi ktoś odpowie, błagam, bo już nie mam siły do tego, czemu ten kod nizej nie działa? :(
Slonce jest w srodku ekranu (0,0,0), ziemia odsunieta nieco dalej (odsuwam tylko wspolrzedna x, pozostale to zero). Predkosc ziemi tez jest ustalona, ale jedynie dla wspolrzednej x, pozostale to zera, wszystko dzieje sie w petli nieskonczonej ...

h to jakas delta czasu

odl = sun.pos - eart.pos
earth.velocity = earth.velocity - hGmassodl/mag(odl)**3
earth.pos = earth.pos + earth.velocity
h

0

nie bardzo rozumiem, mógłbyś wyjaśnić?

Mam masę Ziemi, położenie Słońca (0,0,0), położenie Ziemi (-0.5, 0, 0), prędkość Ziemi (liczba, 0, 0)

0

Znów nie bardzo rozumiem - czy chodzi Ci o to, że ta prędkość powinna być jakoś tak: (0, liczba, 0) ? Bo jeśli tak, to to też niestety nie działa :( tam na poprzedniej stronie to już w sumie cała aplikacja, i tak to jest napisane, głowię się już 3 dzień i dalej nic mi nie wychodzi

0

mógłby ktoś podpowiedzieć? bo moja planeta nadal nie lata po orbicie ;(

0

daj predkosc (0,liczba,0) to na 100% zadziala

0

nie wiem, skad Twoja pewnosc, niestety - po proponowanej zmianie dalej "kiszka" - nie dziala, planeta nie leci po orbicie, tylko wylatuje w bok i nawet jej nie widac, widac tylko orbite, jako linie prosta, ktora sie rozciaga i rozciaga. Nawet slonca nie widac :/

0

Bo liczysz jak dla ruchu prostoliniowego, a nie ruchu po okręgu. Wektor prędkości musi być zawsze prostopadły do prostej przechodzącej przez Ziemię i Słońce.
Poczytaj o ruchu po okręgu, prędkości kątowej, weź wzory trygonometryczne i w ten sposób licz położenie po jakimś tam delta t

0

No właśnie w tym problem, że czytałem, ale nie rozumiem :( tzn. nie potrafię zastosować tych wzorów u siebie:

x = (Rsin(kat));
y = (R
cos(kat));

nie wiem np. skąd mam wziąć ten kąt, i o który promien tu chodzi ... i co właściwie oznaczają te wyliczone x oraz y - nowe położenie? nie czaję tego :(

0

Zresztą, nie wiem, czy to jest potrzebne, tutaj: http://www.inference.phy.cam.ac.uk/teaching/comput/C++/python/index.shtml korzystają co prawda z pędu, ale nigdzie nie liczą żadnych kosinusów czy sinusów. A ja muszę zastosować się do tego wzoru swojego, z porzedniej strony, i nie wiem, albo jestem głupi, ale nie wydaje mi się, że tam są cos czy sin potrzebne

0

kąt to jest kąt pomiędzy osią oX, a prostą przechodzącą przez punkt 0,0(słońce) i ziemię. R to odległość słońca od ziemi, x, y to współrzędne ziemi dla danego kąta i R. Kąt musisz sobie sam wyliczyć biorąc pod uwagę czas i prędkość kątową ziemi

0

Hm, a to dlaczego tam "działa" bez tego?;>

0

Nie znam pythona, ale z tego co widzę, oni to liczą z siły przyciągania, która jest zawsze skierowana do środka układu i oczywiście liczą na wektorach.

0

Weź mi powiedz na co masz takie zadanie zrobić? To znaczy chodzi mi w jakiej szkole takie zadania dają. Potrzebna mi ta wiedza, żeby znaleźć płaszczyznę porozumienia. Bo z jednej strony podrzucasz jakieś wzory z pogranicza geometrii różniczkowej i magii, a z drugiej nie wiesz jak policzyć długość łuku okręgu. Dlatego chciałbym wiedzieć na co to jest.
W skrócie mówiąc: do tego co robisz nie potrzeba liczyć żadnej siły przyciągania, wykonywać obliczeń na wektorach ani robić całkowania numerycznego. Potrzeba użyć funkcji liniowej i definicji sinusa i cosinusa.

0

niby racja, ale co z tego, skoro nauczyciel wymaga uzycia tego wzoru [nie tłumaczył skąd on się wziął]

0
maciej napisał(a)

nauczyciel wymaga uzycia tego wzoru

Jakiego TEGO? Wklej/wpisz TEN wzór, albo może podaj całą treść zadania jakie dostałeś. Jak na razie to wszystko twoja interpretacja, mało to spójne jest. I pochwal się gdzie się uczysz.

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