Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zderzenia kulek


Thaid

Rekomendowane odpowiedzi

Opublikowano

Cześć,

chciałbym Wam przedstawić mój pierwszy (skończony :P ) projekt. Jest to program symulujący zderzenia kulek, okręgów, whatever. Opiera się on na prawach fizyki (prawo zachowania pędu, prawo zachowania energii mechanicznej, oporu powietrza) z wyjątkiem grawitacji. Kulki są idealnie sprężyste. Napisany ten program został w Javie z wykorzystaniem biblioteki LWJGL.

Na razie służy on tylko do zabawy  ^_^ .

 

Trzeba go uruchomić przez plik .BAT.

Download: https://www.dropbox.com/s/vo0tqty0uwxf83f/Zderzenia%20kulek.rar
Skan: https://www.virustotal.com/pl/file/ca48b9d7caf32343212eeec2b7c6120d34c5a8a945183924e014e321159009ce/analysis/1398932425/
Screenshoot: http://zapodaj.net/d6e3e502111d8.png.html

Spacja- zatrzymuje program

F9- opcje planszy

LPM- tworzenie kulki

PPM- edytowanie kulki

ŚPM(mouse3)- dodawanie prędkości kulce

 

 

Napiszcie co sądzicie o programie  ;)

 

@Edit

Dodałem native'y dla innych systemów operacyjnych (w .bat zmienić trzeba na swój system) oraz zabezpieczyłem przed tworzeniem kulki w innej kulce.

Opublikowano

Fajne :P

Więcej takich projektów

 

 

 

z3Ifs6O.png

 

 

 

//edit

Jak za dużo kulek to, na siebie wchodzą.

 

mdqMz4x.png

 

 

 

//edit

Powodzienia w dalszych projektach !!

Opublikowano

Faajnie kulki latają :x Zrób z tego bilarda.

A teraz kod - nie trzeba tworzyć tych wszystkich dot-productów do pobierania kątów pomiędzy wektorami, bo obliczeń jest zawsze od metra. java.lang.Math dostarcza taką fajną metodę jak atan2, pozwala ona na pobranie kąta między wektorem z (x, y) a  x-axis. Jak poodejmujesz to możesz otrzymać dużo łatwiej kąt. I nie będzie sin, cos, tylko poprostu kąt (w radianach). Poza tym unikasz truszkę metod statycznych jak ognia. Przykładowo - collision mogłoby być statyczne. Wiem, strasznie się czepiam szczegółów. No i rysowanie kół po sin, cos nie jest najwydajniejszą metodą (Ja tam kiedy robię coś takiego biorę ze Slicka, przynajmniej jest wydajnie i nie muszę z tym walczyć).

 

Co do tego atana:

 

 


    public static double getAngle(Vector v1, Vector v2){
        return Math.toDegrees(Math.atan2(v1.getX(), v1.getY()) - Math.atan2(v2.getX(), v2.getY()));
    }

 

708121422388637873334.png

Opublikowano

@up

Nie mam Javy 7, więc raczej nie przekompiluję.

 

@topic

Dzięki za Wasze opinie, skorzystam z nich w następnych projektach.

Mając tą bazę z kulkami zamierzam się do zrobienia symulatora kosmosu tzn. tworzenie ciał niebieskich z prawdziwymi masami, grawitacja według praw fizyki itp. 

Opublikowano

@up

Nie mam Javy 7, więc raczej nie przekompiluję.

 

@topic

Dzięki za Wasze opinie, skorzystam z nich w następnych projektach.

Mając tą bazę z kulkami zamierzam się do zrobienia symulatora kosmosu tzn. tworzenie ciał niebieskich z prawdziwymi masami, grawitacja według praw fizyki itp. 

 

Enc skorzystaj z mojej. Przez najbliższy miesiąc kompiluj swoje projekty w 7 ;s

  • 2 miesiące temu...
Opublikowano

Chciałem to ocenić ale gra mi się nie włącza?

Wyskakuje okienko i znika.

Czerwone jest piękne! Kocham <3

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...