Projekt: galaretka
Symulacja ma niezliczoną wręcz ilość zalet:
- pozwala zaobserwować i przeanalizować zjawiska fizyczne bez konieczności przygotowywania realnego środowiska
- zmiana parametrów na bieżąco, pozwala obserwować jednoczesną zmianę zachowania środowiska
- świetnie wygląda 😉
Kierując się powyższymi plusami jako wytycznymi, powstał symulator galaretki. Założenia projektowe:
- symulacja ruchu sprężystego układu 64 mas połączonego sprężyście ze sztywną ramą, którą steruje użytkownik
- ruch ramki sterującej jest nieograniczony, masy pozostają w granicach większego sześcianu
- wyświetlanie cieniowanej kostki Beziera (każda ściana sześcianu definiuje płatek Beziera)
- możliwość zaburzenia kostki przez przyłożenie losowych prędkości do mas
- zmiana wszystkich możliwych parametrów: masy, współczynników sprężystości między poprzecznymi oraz skośnymi sprężynami, współczynnika sprężystości sprężyn łączących kostkę z ramką sterującą, współczynnika tłumienia (lepkość ośrodka)
Efekt pracy widoczny jest na filmie poniżej:
Jeżeli ktoś chce pobawić się żelkiem – aplikacja do ściągnięcia.
Sterowanie:
- lewy przycisk myszy + ruch myszy – obroty sceny
- lewy Ctrl + lewy przycisk myszy + ruch myszy – przesuwanie ramki sterującej
- lewy Shift + lewy przycisk myszy + ruch myszy – obracanie ramki sterującej
- kółko myszy – zoom in/out
Kwestie techniczne:
- GUI jak zwykle w C#
- biblioteka graficzna: OpenGL opakowany w CsGl (link do strony projektu: http://csgl.sourceforge.net/)
Niedługo symulacja płynów, wirująca bryła sztywna i art o algorytmie triangulacji 3D.
Odpowiedzi: 4 Zostaw komentarz
CsGL – przyzwoicie. To takie .Net’owo/C#-owe OpenGL-wprost. Dostęp do statycznego obiektu OpenGL i wywoływanie funkcji OpenGL’owych (np. OpenGL.glBegin(OpenGL.GL_LINES); itd.)
XNA jak najbardziej polecam – działającą grę typu Arkanoid da się napisać w ~1h, będziesz miał również motywację do nauczenia się HLSL, w Managed DirectX pisałem inżynierkę – pisze się przyjemnie, jednak bierzesz to z wadami i zaletami fixed pipeline.
Jak się sprawdza CsGL? Strona domowa tej biblioteki wygląda trochę… słabo. Muszę teraz się zdecydować, czy 3D w projekcie C# zaimplementować w XNA, Direct3D albo w tym. Wolę OpenGL, bo najlepiej go znam, ale jakoś ten lib nie wzbudza mojego zaufania…
CamStudio (używam tylko soft’u, który ma „Cad” lub „Cam” w nazwie 😉
a czym w końcu nakręciłeś filmik na youtube’a?