Szescian 3D symulacja ; Liczby losowe ; Odbicie kulek

0

1. Moglby mi ktos dac linki do jakichs materialow ktore opisuja jak stworzyc szescian 3d? Najlepiej zeby kody byly w Javie ale moze byc tez c++ itd. Szukalem ale nigdzie nie znalazlem nic. Byly tutoriale na szescian 3d w java3D, OpenGL ale ja chce wykonac go w czytej javie uzywajac figur 2D (Rectangle2D, Line2D).
Pierwszy raz takie cos robie wiec potrzebuje czegos co od zera to opisze. Rysowalem sobie na kartce jakby to mialo mniej wiecej wygladac tylko. Bede bardzo wdzieczny za linki
**2.**Tak mnie zastanawia... Liczby losowe sa tworzone na podstawie obecnego czasu. Jakis algorytm robi na sekundach unixowych jakies obliczenia i w wyniku tego powstaje calkiem niespodziewana liczba. Ale skoro to jest zawsze ten sam algorytm to czy to oznacza ze mozna wyliczyc jaka liczba wyjdzie w dowolym momencie przyszlym czasu? Po prostu pod x podstawic liczbe sekund no i jak zwykle rownanie wyliczyc?
**3.**Probuje napisac program ktory odbijalby pilki. Na razie maja ta sama srednice i masy i predkosc. Czy w takim razie odbicie pilki od pilki bedzie wygladac tak jak odbicie o sciany czyli zmieniam wartosc wektora x i y na ujemny? Chyba cos kolo tego ale nie do konca bo przeciez czasami tylko sie musna to wtedy bede zmienial sam x bez y i na odwrot? Dobrze mysle? Czy takie odbicie jest prawidlowe?
http://oi46.tinypic.com/c0v2g.jpg
**4.**Co to za zwalony pomysł ze jak zrobiłem literówke i napisalem ne i (bez spacji) zamiast nie to zamienia to na [Błąd ortograficzny]?? Po pierwsze to jest forum programistczne czy jezykowe bo moze zle trafiłem? Po drugie to utrudnia czytanie tekstu x1000 razy bardziej niz ten pseudo-blad ortograficzny. Prosze porownac:
Chyba cos kolo tego ale nie do końca
Chyba cos kolo tego ale nie do konca
Czlowiek traci kilka sekund na zastanawianie sie jakie slowo tutaj powinno byc bez sensu

0

**5.**Dlaczego Java ma takie problemy ze jak dodaje 3.2 do 2.1 to dostaje 5.299999999995 zamias normalnego 5.3? Tak wiem ze nie ma reprezentacji bitowej dla 1/10 ale w innych jezykach jak c++ czy php jakos nie ma tego problemu wiec dlaczego java akurat ma z tym taki problem? I drugie pytanie jak temu zaradzic? Zaokraglanie odpada bo nie zawsze znana jest liczba do ktorej trzeba zaokraglic (np. jak bym pisal kalkulator to zaokraglenie byloby rozne w zaleznosci czy uzytkownik doda do siebie 3.2 i 2.1 a np. 3.252 i 2.11).

0

Ad 2. Gynvael Coldwind nagrał ciekawy filmik o tym :)

0
  1. Moglby mi ktos dac linki do jakichs materialow ktore opisuja jak stworzyc szescian 3d? Najlepiej zeby kody byly w Javie ale moze byc tez c++ itd. Szukalem ale nigdzie nie znalazlem nic. Byly tutoriale na szescian 3d w java3D, OpenGL ale ja chce wykonac go w czytej javie uzywajac figur 2D (Rectangle2D, Line2D).
    Pierwszy raz takie cos robie wiec potrzebuje czegos co od zera to opisze. Rysowalem sobie na kartce jakby to mialo mniej wiecej wygladac tylko. Bede bardzo wdzieczny za linki

Jeśli chcesz robić dowolne sceny w 3d, poczytaj o macierzach i ich wykorzystaniu w grafice. Chociażby http://en.wikipedia.org/wiki/Transformation_matrix. Przy czym to nie jest raczej prosty temat.

2.Tak mnie zastanawia... Liczby losowe sa tworzone na podstawie obecnego czasu. Jakis algorytm robi na sekundach unixowych jakies obliczenia i w wyniku tego powstaje calkiem niespodziewana liczba. Ale skoro to jest zawsze ten sam algorytm to czy to oznacza ze mozna wyliczyc jaka liczba wyjdzie w dowolym momencie przyszlym czasu? Po prostu pod x podstawic liczbe sekund no i jak zwykle rownanie wyliczyc?

Tak, bo to nie są liczby losowe tylko pseudolosowe. Nawet nie na podstawie sekund tylko seeda (który jest często ustalany na początku za pomoca sekund, faktycznie).

3.Probuje napisac program ktory odbijalby pilki. Na razie maja ta sama srednice i masy i predkosc. Czy w takim razie odbicie pilki od pilki bedzie wygladac tak jak odbicie o sciany czyli zmieniam wartosc wektora x i y na ujemny? Chyba cos kolo tego ale nie do konca bo przeciez czasami tylko sie musna to wtedy bede zmienial sam x bez y i na odwrot? Dobrze mysle? Czy takie odbicie jest prawidlowe?

Zakładając idealnie sprężyste odbicie, i na ile rozumiem rysunek, to tak.

4.Co to za zwalony pomysł ze jak zrobiłem literówke i napisalem ne i (bez spacji) zamiast nie to zamienia to na [Błąd ortograficzny]?? Po pierwsze to jest forum programistczne czy jezykowe bo moze zle trafiłem? Po drugie to utrudnia czytanie tekstu x1000 razy bardziej niz ten pseudo-blad ortograficzny. Prosze porownac:
Chyba cos kolo tego ale [błąd ortograficzny] do końca
Chyba cos kolo tego ale nie do konca
Czlowiek traci kilka sekund na zastanawianie sie jakie slowo tutaj powinno byc bez sensu

To nei to faktycznie przesada, ale akurat błędy ortograficzne to brak szacunku do innych (optymistycznie, wyraz nieuwagi albo prehistoryczna przeglądarka nie podkreślająca). Dzięki tej podmianie jest szansa że autor taki błąd zauważy i go poprawi.

5.Dlaczego Java ma takie problemy ze jak dodaje 3.2 do 2.1 to dostaje 5.299999999995 zamias normalnego 5.3? Tak wiem ze nie ma reprezentacji bitowej dla 1/10 ale w innych jezykach jak c++ czy php jakos nie ma tego problemu wiec dlaczego java akurat ma z tym taki problem? I drugie pytanie jak temu zaradzic? Zaokraglanie odpada bo nie zawsze znana jest liczba do ktorej trzeba zaokraglic (np. jak bym pisal kalkulator to zaokraglenie byloby rozne w zaleznosci czy uzytkownik doda do siebie 3.2 i 2.1 a np. 3.252 i 2.11).

Ależ oczywiście że w innych językach jest ten problem. Po prostu prawdopodobnie Java nie zaokrągla liczb przy wyświetlaniu (tak, C++ i zapewne PHP zaokrąglają przez co udawają że problemu nie ma). Z brakiem dokładności liczb zmiennoprzecinkowych nie wygrasz...

0

Dzieki wielkie za odpowiedzi. W takim razie
2. czyli takie naprawde losowe liczby nie istnieja? Zawsze mozna jakos przewidziec nastepne znajac algorytm?
3. ok w takim razie przydalaby mi sie mala pomoc gdyz glowie sie nad tym od dwoch dni. Na razie mam tak ze pilki sie odbiaja od scian i na siebie nachodza teraz chcialbym zrobic tak ze od siebie tez sie odbijaja. Prosze nie odsylajce mnie linkami bo czytalem juz duzo i po polsku i po angielsku ale mimo to nie do konca to lapie (tutaj jest fajnie opisane na przyklad jakby ktos jeszcze kiedys szukal: http://www.ntu.edu.sg/home/ehchua/programming/java/J8a_GameIntro-BouncingBalls.html). Predkosc w poziomie i pionie zapisuje jako shiftX i shiftY. Z tego co widzialem to jest to najczestszy sposob. Ale widzialem ze w linku ktory podalem koles stosuje np. kat zamiast wektorow. Ale zalozmy ze ja uzywam shitow. jak w takim razie wyliczyc shifty po kolizji? na kartce to latwo, kat odbicia = kat padania i jazda ale jak to napisac w javie? wiem poki co ze trzeba uzyc trygonometrycznych ale nie wiem jak.. Moglby mi to ktos po ludzku i w miare prosto wytlumaczyc jak to zaimplementowac

0
  1. czyli takie naprawde losowe liczby nie istnieja?

Liczby losowe to takie wygenerowane w zdarzeniu losowym; generując je algorytmem sprawiasz, że nie są losowe.

Zawsze mozna jakos przewidziec nastepne znajac algorytm?

Może tak, może nie - zależy ile czasu chcesz poświęcić na odnalezienie algorytmu.

0

Odnośnie grafiki 3D - jak to ugryźć polecam:

http://literacki24.pl/-/index.php?ba=kni&nu=A31652&tytaut=Grafika-komputerowa-Podstawy-i-przyklady-programowania-w-Basicu-Baumann-Rudeger

Książka jest z 1989 ale jest prześwietna - wstęp teoretyczny krótki, potem ładnie macierze rozpisane a potem już kod. Niby w Basic ale na Jave nie ma żadnego problemu.

0

ok dzieki za link do ksiazki. na razie dla mnie za wczesnie na 3d ale bede pamietal o tytule. w takim razie dalej czekam na pomoc z kulkami jesli komus by sie chcialo wytlumaczyc

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