OpenGL oder Direct3D zur Erstellung einer simplen Robotersimulation
-
Das heisst also DX ist effizienter! Beim Aussortieren von Newbies.
Bye, TGGC (Für echte Fans)
-
Danke für die Zahlreichen Antworten.
Zu Kris, mein Roboter ist ein Gelenkarmroboter und soll sich dann wie ein Arm bewegen.
Also ich ziehe aus alle diesen Meinungen den Schluß, das OpenGl einfacher ist und Plattformunabhängig.
Wie schauts denn mit GLUT aus? Ist doch noch einfacher oder??
Könnte ich damit auch eine Simulation eventuell später auch in Echtzeit realisieren??
danke für eure Antworten
-
interessant
das läuft auf inverse kinematik hinaus.
ich habe ein ähnliches projekt. allerdings habe ich erst die
vorwärtskinematik implementiert: ich habe ein Objekt aus
mehreren Gliedern, jedes Glied ist durch ein Gelenk mit seinem
Vorgänger verbunden. nun kann ich mit der maus die einzelnen
glieder auswählen und bewegen bis die endposition erreicht ist,
dabei gebe ich die rotationswinkel selber vor.
interessanter ist natürlich einfach anfangsposition und
endposition vorzugeben und die rotationswinkel einfach
berechnen zu lassen, um die resultierende stellung der
glieder zu erhalten. und da greift die inverse kinematik.
leider bin ich da noch nicht weiter gekommen.ktis
-
hi Kris,
die "forward kinmatic" ist natürlich von der Berechung einfacher als die inverse. Bei mir steht Momentan weniger die Berechnung als die Darstellung im Vordergrund. Eine Berechnung nach invers und forwärts Kinematik wird evtl. später folgen.
Gerade die inverse Kinematik stellt hohe Anforderungen auch an die Mathematik, da ja mehrere Lösungen für ein und das Selbe Problem existieren.Momentan will ich wie gesagt nur darstellen und will mich mit Open GL, GLUT oder Direc3D beschäftigen.
Habe gerade mal so 400 Seiten zu Open GL und GLUT ausgedruckt mal sehen, wie da so geht.
-
wenn du websiten kennst, die zum verständnis der inversen kinematik
beitragen, wäre das toll.
OpenGL ist dabei das geringere problem. es existieren jedemenge Bücher
und tutorials zu diesem thema, z.b. die nehe-tutorials.kris
-
kingruedi schrieb:
Im Simulations und Professionellen 3D-Bereichen ist OpenGL die übliche Schnitstelle.
Kann man mittlerweile auch nicht mehr so einfach sagen.
Profi-CAD oder -Modelling Software bietet in ihren Windows-Ports meistens auch einen DirectX- oder SW-Renderer.kingruedi schrieb:
DirectX ist bei Spielen eben Populärer.
Allerdings auch erst "seit letzter Zeit".
Früher wurde Direct3D gemieden. (Aus verschiedenen Gründen)
kingruedi schrieb:
@Sgt. Nukem
naja, für eine normale 3D Simulation sollte ja glVertex reichen
Daß er keine Shader einbinden will ist klar, aber bei komplizierteren Roboter-Arm-Konstrukten will ich vielleicht doch lieber mit Buffern o.ä. arbeiten.HINWEIS: Für Deine Inverse-Kinematics-Sachen könntest Du ja ggf. die ODE (Open Dynamics Engine - das ist eine Physik-Engine) benutzen.
Dort legst Du Deine Arme als Rigid Bodys an, und verbindest sie über Joints. Danach erledigt die Physik-Engine den Rest, daß man die Arme z.B. nicht falsch verdrehen oder auseinander reissen kann...
-
Andreas Bäcker schrieb:
HI zusammen,
ich hatte vor einiger Zeit schon einmal die Frage gestellt, was für eine Robotersimulation geeignet ist. OpenGL
War da eine möglichkiet.Wie Sieht es mit Direct3D aus? Hab bei beiden geschichten keine Erfahrung. Würde mich über eine Empfehlung von euch sehr freuen.
Ich empfehle OpenGL, das ist Plattformneutral bzw. -unabhängig und kann genau das gleiche wie DirectX.
Es ist sehr ärgerlich ein Projekt in DirectX zu schreiben und dann hinterher
auf ein anderes Betriebsystem umsteigen zu wollen.
Es gab schon viele, die das Bereut haben, das sie DirectX anstatt OpenGL genommen haben, deswegen würde ich lieber auf Nummer Sicher gehen und
OpenGL nehmen.
Die Entwicklung in der IT Welt ist nicht beständig genug, daß man davon ausgehen
kann, daß es in ein paar Jahren noch aktuelle Windows Versionen gibt.Will das ganze in Visual C++ umsetzen.
Visual C++ gibt's nicht, es gibt nur C++.
-
Andreas Bäcker schrieb:
Wie schauts denn mit GLUT aus? Ist doch noch einfacher oder??
Könnte ich damit auch eine Simulation eventuell später auch in Echtzeit realisieren??
danke für eure AntwortenWenn schon glut, dann FreeGlut.
Das normale alte glut ist veraltet, wird nicht mehr gewartet und
hat sehr restriktive Nutzungsbedingungen deswegen würde ich an deiner
Stelle lieber FreeGlut nehmen.
www.freeglut.orgOder noch besser, nimm gar kein Glut und verwende etwas anderes.
Da gibt's genug.Ich würde z.B. SDL empfehle, damit kannst du für OpenGL eine Render Context
erstellen und von SDL die Tastatureingabe, Netzwerkprogrammierung und Co.
je nach dem was du brauchst übernehmen lassen.
-
Die Entwicklung in der IT Welt ist nicht beständig genug, daß man davon ausgehen
kann, daß es in ein paar Jahren noch aktuelle Windows Versionen gibt.man kann aber noch davon ausgehen, dass microsoft nicht mit der tradition brechen wird, uralte programme zu unterstützen. mit ein bischen tricksen bekommt man sogar heutzutage noch alte dosgames ohne emulator zum laufen. wielange wird dann noch die winapi und directX in der jetzigen form unterstützt? 10 jahre? 15?
-
sdf schrieb:
Ich empfehle OpenGL, das ist Plattformneutral bzw. -unabhängig und kann genau das gleiche wie DirectX.
Das ist natürlich völliger Blödsinn. Nicht im entferntesten!!
Wenn überhaupt kann es fast das gleiche wie DirectXGraphics (bzw. Direct3D).sdf schrieb:
Die Entwicklung in der IT Welt ist nicht beständig genug, daß man davon ausgehen
kann, daß es in ein paar Jahren noch aktuelle Windows Versionen gibt.ROTFL!!
Ich glaube auch, daß es ab 2006 keine Windows-Nutzer mehr gibt, und die komplette IT-Welt auf "freie Software" umgestiegen ist... LOL
sdf schrieb:
Will das ganze in Visual C++ umsetzen.
Visual C++ gibt's nicht, es gibt nur C++.
Falsch. Visual C++ gibt's. Ist zwar keine Programmiersprache, aber eine IDE. Ist von Mircosoft.
"Umsetzen" kann er es also sehr gut mit Visual C++.
-
Sgt. Nukem schrieb:
sdf schrieb:
Ich empfehle OpenGL, das ist Plattformneutral bzw. -unabhängig und kann genau das gleiche wie DirectX.
Das ist natürlich völliger Blödsinn. Nicht im entferntesten!!
Wenn überhaupt kann es fast das gleiche wie DirectXGraphics (bzw. Direct3D).Ja, hast recht, ich meinte natürlich Direct3d.
sdf schrieb:
Will das ganze in Visual C++ umsetzen.
Visual C++ gibt's nicht, es gibt nur C++.
Falsch. Visual C++ gibt's. Ist zwar keine Programmiersprache, aber eine IDE. Ist von Mircosoft.
"Umsetzen" kann er es also sehr gut mit Visual C++.Er kann es vielleicht mit Visual C++ umsetzen, aber nicht in Visual C++,
weil das nunmal keine Programmiersprache ist und er hat "in" gesagt und nicht "mit".Und das er eine Progammiersprache gemeint hat, darauf hättest du eigentlich selber drauf kommen können.
-
Sgt. Nukem schrieb:
sdf schrieb:
Die Entwicklung in der IT Welt ist nicht beständig genug, daß man davon ausgehen
kann, daß es in ein paar Jahren noch aktuelle Windows Versionen gibt.ROTFL!!
Ich glaube auch, daß es ab 2006 keine Windows-Nutzer mehr gibt, und die komplette IT-Welt auf "freie Software" umgestiegen ist... LOL
Du hast mit Politikern etwas gemeinsam, auch diese denken nur in sehr kurzen Zeiträumen.
-
sdf schrieb:
Du hast mit Politikern etwas gemeinsam, auch diese denken nur in sehr kurzen Zeiträumen.
Es kann halt nicht jeder Äonen im Voraus planen
-
sdf schrieb:
Er kann es vielleicht mit Visual C++ umsetzen, aber nicht in Visual C++,
weil das nunmal keine Programmiersprache ist und er hat "in" gesagt und nicht "mit".Er kann es aber auch in München oder Hannover umsetzten, obwohl beides keine Programmiersprachen sind.
Bye, TGGC Deine Unterstützung wird gebraucht!
-
sdf schrieb:
Du hast mit Politikern etwas gemeinsam, auch diese denken nur in sehr kurzen Zeiträumen.
Okay. In welchem Zeitraum meinst Du wird Windows denn vom Markt gefegt sein?!
In 15 Jahren vielleicht?!?
Meinst Du, da interessiert sich der Thread-Starter noch dafür, daß seine lustige Robo-Sim nur auf Win-Systemen läuft...?!?TGGC schrieb:
sdf schrieb:
Er kann es vielleicht mit Visual C++ umsetzen, aber nicht in Visual C++,
weil das nunmal keine Programmiersprache ist und er hat "in" gesagt und nicht "mit".Er kann es aber auch in München oder Hannover umsetzten, obwohl beides keine Programmiersprachen sind.
M E G A - L O L