Box2D Bodies – Fixture. Konstruktor struktury b2BodyDef.

Slides:



Advertisements
Podobne prezentacje
Na szczycie równi umieszczano obręcz, kulę i walec o tych samych promieniach i masach. Po puszczeniu ich razem staczają się one bez poślizgu. Które z tych.
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Dynamika bryły sztywnej
Dynamika.
Klasy i obiekty.
Zasady dynamiki Newtona - Mechanika klasyczna
Ruch układów złożonych
Microsoft Exchange Server 2003 Obieg dokumentów
KINEMATYKA Kinematyka zajmuje się związkami między położeniem, prędkością i przyspieszeniem badanej cząstki – nie obchodzi nas, skąd bierze się przyspieszenie.
Kinematyka.
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Kurs Pascala – spis treści
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Wykład 4 dr hab. Ewa Popko
Siły zachowawcze Jeśli praca siły przemieszczającej cząstkę z punktu A do punktu B nie zależy od tego po jakim torze poruszała się cząstka, to ta siła.
1.Praca 2. Siły zachowawcze 3.Zasada zachowania energii
Wykład Spin i orbitalny moment pędu
Ruch układów złożonych środek masy bryła sztywna ruch obrotowy i toczenie.
FIZYKA dla studentów POLIGRAFII Wykład 5
DYNAMIKA Zasady dynamiki
Nieinercjalne układy odniesienia
Dynamika punktu materialnego
DYNAMIKA Oddziaływania. Siły..
Techniki programowania gier - Fizyka
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Automatyka Wykład 3 Modele matematyczne (opis matematyczny) liniowych jednowymiarowych (o jednym wejściu i jednym wyjściu) obiektów regulacji.
Pola sił i ruchy Powtórzenie.
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
Java – coś na temat Klas Piotr Rosik
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Podstawy mechaniki płynów - biofizyka układu krążenia
Energia.
Rodzaje i skutki oddziaływań.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
DYNAMIKA Dynamika zajmuje się badaniem związków zachodzących pomiędzy ruchem ciała a siłami działającymi na ciało, będącymi przyczyną tego ruchu Znając.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
siła cz.IV W części IV prezentacji: treść II zasady dynamiki
Dynamika.
181.Na poziomym stole pozioma siła F=15N zaczęła działać na ciało o masie m=1,5kg. Jaką drogę przebyło ciało do uzyskania prędkości v=10m/s, jeśli współczynnik.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Seminarium 2 Elementy biomechaniki i termodynamiki
Dynamika ruchu płaskiego
180.Jaką prędkość uzyskało spoczywające na poziomej powierzchni ciało o masie m=1kg pod działaniem poziomej siły F=10N po przebyciu odległości s=10m? Brak.
Opory ruchu. Zjawisko Tarcia
Ruch układów złożonych
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Dynamika punktu materialnego Dotychczas ruch był opisywany za pomocą wektorów r, v, oraz a - rozważania geometryczne. Uwzględnienie przyczyn ruchu - dynamika.
Dynamika punktu materialnego
Dynamika ruchu obrotowego
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Box 2D + SFML Fizyka w pudełku Marcin Kuligowski.
Siły Tarcie..
Wówczas równanie to jest słuszne w granicy, gdy - toru krzywoliniowego nie można dokładnie rozłożyć na skończoną liczbę odcinków prostoliniowych. Praca.
Kolizje (Contacts). Contacts - obiekty stworzone przez Box2D do zarządzania kolizjami (zderzeniami) między dwoma fiksturami( różne fragmenty jednego ciała).
Temat: Oddziaływania i ich skutki. Po lekcji potrafisz: -podać przykłady oddziaływań, -podać skutki oddziaływań, -wyjaśnić na czym polega wzajemność oddziaływań.
Tarcie statyczne i dynamiczne
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Wiązania (joints) Malwina Łagód.
Programowanie Obiektowe – Wykład 2
SIŁA JAKO PRZYCZYNA ZMIAN RUCHU
Statyczna równowaga płynu
Symulacje komputerowe
Statyczna równowaga płynu
Grawitacja Obliczyć wysokość na jaką wzniesie się ciało rzucone na Księżycu pionowo do góry z prędkością v=1000 m/s? Druga prędkość kosmiczna dla Księżyca.
Dane, zmienne, instrukcje
Zapis prezentacji:

Box2D Bodies – Fixture

Konstruktor struktury b2BodyDef

Typy ciała sztywnego: b2_dynamicBody b2_staticBody b2_kinematicBody

b2_dynamicBody Posiada masę Podlega działaniom sił Może zostać wprawione w ruch liniowy i rotacyjny Koliduje z ciałami dynamicznymi i statycznymi

b2_staticBody Nie posiada masy Nie podlega działaniom sił Nie może zostać wprawione w ruch liniowy ani rotacyjny Kolidują z nim ciała dynamiczne

b2_kinematicBody Nie podlega działaniom sił Może zostać wprawione w ruch liniowy i rotacyjny Może kolidować z ciałami dynamicznymi, nie koliduje z innymi ciałami kinetycznymi

Właściwości ciała i metody klasy b2Body Pola struktury b2BodyDefPrzykładMetody klasy b2Body.positionbodyDef.position.Set(0.0f, 2.0f);b2Body::GetPosition().anglebodyDef.angle = 0.25f * b2_pi;b2Body::GetAngle().linearVelocitybodyDef.linearVelocity = b2Vec2(6.f,0.f);b2Body::GetLinearVelocity().angularVelocitybodyDef.angularVelocity = 50.f;b2Body::GetAngularVelocity().linearDampigbodyDef.linearDamping = 0.0f;b2Body::GetLinearDampig().angularDampingbodyDef.angularDamping = 0.01b2Body::GetAngularDamping().typebodyDef.type = b2_dynamicBody;b2Body::GetType().fixedRotationbodyDef.fixedRotation = true;b2Body::GetFixedRotation()

Sleep Każde ciało może zrobić sobie drzemkę bodyDef.allowSleep = true or false; bodyDef.awake = true or false; b2Body::SetAwake(true or false);b2Body::IsAwake();

CCD - continuous collision detection Ustawiając parametr.bullet na true (wartość domyślna) mówimy, że kolizje mają podlegać CCD bodyDef.bullet = true or false; b2Body::IsBullet(); b2Body::SetBullet(true or false);

Parametr.active Określa czy ciało ma brać udział w symulacji b2Body::IsActive(); b2BodySetActive(bool parameters); bodyDef.active = true or false;

Jak tworzymy te „fikstury” ? Metoda CreateFixture i jej dwa oblicza: myBody->CreateFixture(&fixtureDef); myBody->CreateFixture(&shape, 1.0f);

Fikstura – jako część ciała b2FixtureDef fixtureDef; // definicja struktury myBody->CreateFixture(&fixtureDef); // przypisanie naszej fikstury do ciała b2FixtureDef fixtureDef; b2Fixture* myFixture = myBody->CreateFixture(&fixtureDef); myBody->DestroyFixture(myFixture); // niszczenie fikstury

Konstruktor struktury b2FixtureDef

Właściwości ciała i metody klasy b2Fixture Pola struktury b2FixtureDef PrzykładMetody klasy b2Fixture.shapefixtureDef.shape = &Shape;b2Fixture::GetShape().frictionfixtureDef.friction = 0.0f; b2Fixture::GetFriction() b2Fixture::SetFriction(float friction).restitutionfixtureDef.restitution = 0.6f; b2Fixture::GetRestitution() b2Fixture::SetRestitution(float restitution).densityfixtureDef.density = 1.f; b2Fixture::GetDensity() b2Fixture::SetDensity(float density).isSensorfixtureDef.isSensor = true; b2Fixture::IsSensor() b2Fixture::SetSensor(bool sensor)

Parametr.filter filtrowanie kolizji Pola klasy b2FilterOpis.categoryBitsBit naszego obiektu b2Fixture.maskBitsMaska bitowa obiektów, z którymi będzie kolidował nasz obiekt.groupIndexIndex grupowy obiektów

Parametr.filter filtrowanie kolizji playFixD..filter.categoryBits = 0x0000; // A ma kategorię 0 playFixD.filter.maskBits = 0x0002; // i może kolidować z kategorią 2 (C) playFixD..filter.categoryBits = 0x0001; // B ma kategorię 1 playFixD..filter.maskBits = 0x0002; // i może kolidować z kategorią 2 (C) playFixD..filter.categoryBits =0x0002; // C ma kategorię 2 playFixD..filter.maskBits = 0x0000 | 0x0001; // i może kolidować z kategoriami 1 (B) oraz 0 (A)

„Filtrowanie dynamiczne” b2Fixture::GetFilterData(); b2Fixture::SetFilterData(const b2Filter& filter);

Czas na projekt