Back1 Back2 Back3 Wonderlamp Industries

Wonderlamp Industries
Inverse Kinematik revolutioniert die Computeranimation

ZURÜCK

Inverse Kinematik revolutioniert die Computeranimation

„Es geht um autonome, selbstständige Arbeit.“

 

Robert Hödicke, CTO Wonderlamp Industries

 

-> Ganzes Interview lesen

Project key data

2 Mitarbeiter:innen

3 Monate

Inverses Kinematik-Modell

Mathematische Modelle

C++

Warum wir diesen Fall gerne zeigen

Seit über 100 Jahren ist Potsdam eine der Filmhauptstädte der Welt. Heute ist es jedoch auch eine herausragende Wissenschaftsstadt. An einem Projekt zu arbeiten, das beide Disziplinen vereint, war eine Herausforderung, die wir gerne angenommen haben.

Aufgabe und Lösung

Wonderlamp Industries verfolgte ein ehrgeiziges Ziel: die Revolutionierung der Produktion computeranimierter Filme mit seiner Animationssoftware „Djinni“. Charaktere und Objekte sollten den Anweisungen des Regisseurs folgen, genau wie in einem Spielfilm, ohne dass jeder einzelne Schritt von Hand animiert werden muss. Eine solche Technologie könnte eine erhebliche Vereinfachung des Produktionsablaufs bedeuten, wodurch Produzenten und Regisseure einerseits mehr Freiheit und Flexibilität erhielten und andererseits Animationsproduktionen mit geringen Budgets ermöglicht würden, wodurch neue Märkte erschlossen werden könnten. Eine inverse Kinematik-Engine war für die neue Technologie von zentraler Bedeutung. Die Verwendung bestehender Kinematik-Engines aus Gaming-SDKs kam aus Lizenzgründen nicht in Frage. Da Wonderlamp Industries die Entwicklung mit seinem internen Team nicht bewältigen konnte, wurde Ambrosys beauftragt.

Mit nur zwei hochqualifizierten Mitarbeitern, einem Entwickler und einem Analysten, beide promovierte Physiker, war die inverse Kinematik-Komponente nach nur wenigen Wochen fertig. Selbst das anspruchsvolle Ziel, in C++ zu entwickeln, war kein Problem, ebenso wenig wie die kurzfristige Portierung von Gmake auf Cmake, ein anderes Build-System, die wir in nur wenigen Tagen realisieren konnten.

Und heute? „Djinni” schaffte es leider nicht auf die Bildschirme und in die Kinos; der neue Workflow war den Produktionsstudios zu fremd. „Djinni” war jedoch Vorreiter für viele andere Technologien, die heute zur Produktion von Animationsfilmen verwendet werden – visionär für die heute eingesetzte KI-Technologie.

Was ist inverse Kinematik und wozu dient sie?

Die inverse Kinematik ist ein mathematischer Ansatz, der Roboter- oder Skelettstrukturen dabei hilft, sich richtig zu bewegen. Sie simuliert die Art und Weise, wie Menschen ihren Körper bewegen: Wenn wir ein Glas vom Tisch nehmen wollen, bewegen wir unsere Hand so, dass unsere Finger das Glas greifen können. Wir denken nicht darüber nach, was unsere Schulter oder unser Ellbogen dabei tun – ihre Bewegung erfolgt automatisch.

Genau das macht die inverse Kinematik in einem mathematischen Ansatz: Ausgehend vom letzten Element der kinematischen Kette, das eine bestimmte Position einnehmen soll, berechnet sie, wie sich alle anderen Elemente bewegen müssen, damit dies geschieht.

Die Anwendungsbereiche der inversen Kinematik sind vielfältig. In der Computeranimation sorgt sie für flüssige Bewegungen, wie in unserem Beispiel. Fortgeschrittene Virtual- und Augmented-Reality-Anwendungen kommen selten ohne sie aus. Der wichtigste Anwendungsbereich ist jedoch die Robotik, z. B. in der Fertigung und Montage oder wenn Roboter tatsächlich laufen lernen sollen (Bewegungsplanung). In Zukunft wird es auch immer mehr Anwendungsbereiche in der Medizin geben, beispielsweise bei Operationsrobotern oder intelligenten Prothesen.

Viele Mitarbeiter von Ambrosys haben einen Hintergrund in Physik oder Mathematik. Deshalb fallen uns Lösungen für die inverse Kinematik relativ leicht, unabhängig von ihrer Anwendung.

Die Fähigkeit von C++

C++ ist eine Programmiersprache, die Programmierern enorme Möglichkeiten bietet. C++ kann die meisten komplexen wissenschaftlichen Simulationen, Physik-Engines, Echtzeit-Grafikrendering, algorithmische Fintech-Anwendungen und vieles mehr verarbeiten. Es ist oft die Sprache der Wahl für die plattformübergreifende Entwicklung, da es leicht kompiliert, bereitgestellt und auf verschiedenen Betriebssystemen oder Geräten ausgeführt werden kann, darunter Windows, macOS, Linux und eingebettete Systeme.

C++ ermöglicht eine feine Steuerung der Systemressourcen und damit die Ausschöpfung des vollen Potenzials der Hardware-Ressourcen. Dies macht es auch zu einem idealen Kandidaten für HPC-Anwendungen („Supercomputing“), sei es in der Wettervorhersage, der Klimamodellierung oder der Strömungsdynamik. Es verfügt über eine umfangreiche Bibliothek mit Funktionen und Datenstrukturen, darunter Algorithmen, Container und Ein-/Ausgabeoperationen.

Der Nachteil dieser Wunderwaffe? Sie ist nichts für Anfänger. Vielmehr stellt sie höchste Anforderungen an den Programmierer, da sie komplex ist, über eine Vielzahl von Funktionen und Regeln verfügt und einige der Sicherheitsfunktionen einfacher Sprachen nicht bietet. Vergleichen Sie sie mit einem Rennwagen! Wenn sie nicht mit Geschick und Sorgfalt eingesetzt wird, kann dies zu Fehlern und schwieriger Fehlersuche führen.

Ambrosys verfügt über eine starke Basis von „Rennfahrern“, also Programmierern mit langjähriger Erfahrung und den erforderlichen Fähigkeiten, um die Leistungsfähigkeit von C++ voll auszuschöpfen.

 

→ Fragen oder Gedanken zur inversen Kinematik oder C++? Dr. Markus Abel freut sich auf deine Nachricht.

Zurück