3D-Oberfläche programmieren

Hallo
also ich programmiere normalerweise in VisualBasic6.
Mein Programm, welches ich ständig erweitere beschäftigt sich mit Vermessung.

Im Moment verwalte ich nur Koordinaten ohne grafische Darstellung in einer Access-Datenbank. Das möchte ich ändern, nur scheinbar ist VB dazu nicht so geeignet.

Ich würde gerne folgendes umsetzen:
Aus den 3D-Koordinaten soll ein Gitternetz (autom. Verbindung nächstgelegener Punkte) erzeugt werden.

Die Knotenpunkte sollten nochmals verstärkt dargestellt sein (vielleicht rot) und einen Text (vielleicht PktNr.) haben.

Die Oberfläche, welche ich auf diese Weise erzeuge, sollte dann begehbar sein, das heisst Drehen um den Standpunkt, Bewegen in alle Richtungen (3D).

Tja nun die Frage, in welcher Sprache programmiert man sowas, gibts sowas schon, kann jmd sowas machen und v.a. ist es dann in mein VB.-Projekt einbindbar, das auf Knopfdruck diese Oberfläche mit den genannten Features erzeugt werden kann.

Ich wende mich daher an die allgemeine Programmierung.
Vielleicht hat jmd hier Erfahrung oder kann mir helfen!!!

Man könnte ja erstmal klein anfangen und sich in Stufen vorarbeiten.
Aber leider kann ich nur VB6.

Mfg Werner

Ich würde gerne folgendes umsetzen:
Aus den 3D-Koordinaten soll ein Gitternetz (autom. Verbindung
nächstgelegener Punkte) erzeugt werden.

Hallo,

das gibt es ganz sicher, man sieht es z.B. im Fernsehen: die Etappen der Tour de France sind schon länger „am Bildschirm befahrbar“, die Software dazu wurde soweit ich weiss von einer deutschen Fa. geschrieben, aber an den Namen kann ich mich nicht mehr erinnern - das Alter eben.

Es kann allerdings durchaus sein, dass es sich um Software in Preisregionen handelt, die weit über dein Projekt hinausgehen.

Gruss Reinhard

Hi
danke für die Info.
Ich wollte allerdings keine Software käuflich erwerben, sondern mir das selbst schreiben bzw. jmd finden, der das kann.

Jetzt sagt vielleicht wieder jmd, ach und der solls dir dann umsonst schreiben oder wie???
Sagen wir mal, es ist wohl nicht so schwer, wenn man schon ähnliche Projekte oder Ansätze einmal entwickelt hat.

Ich habe mir auch schon ein paar VB-Demos angeschaut.
Alles recht interessant, leider nur nicht das was ich brauche.
Leider.

Mfg Werner

Moien

Ich wollte allerdings keine Software käuflich erwerben,
sondern mir das selbst schreiben bzw. jmd finden, der das
kann.

Es ist nicht schwer, es ist nur zeitaufwendig. Man kann das als nicht-3D Programmier auch schaffen, nur halt nicht in 2 Tagen. Der Knackpunkt ist ja „nur“ die 3D Darstellung.

Google mal nach „Glut“. Das System ist recht alt, aber es gibt reichlich Tutorials. DLLs für VB gibt es auch.

Wenn du den Schritt nach VB.NET machst dann nimm XNA. Das gibt ein bisschen Ärger weil XNA eigentlich auf VC# abzielt, aber es soll gehen.

cu

Hallo Pumpkin,
kannst du mir etwas mehr über die Verwendung des Tools erzählen???

Wie kann ich das in VisualBasic integrieren und ist es dann auf anderen Rechnern als kompiliertes VB-Projekt dann ausführbar???

Mfg Werner

Moien

kannst du mir etwas mehr über die Verwendung des Tools
erzählen???

Es haben dutzende Leute hunderte Tutorials geschrieben, ich werd jetzt hier nicht noch eins anfangen.

ist es dann
auf anderen Rechnern als kompiliertes VB-Projekt dann
ausführbar???

Klar.

cu

Hi
du sollst mir kein Tutorial schreiben, aber ich würde gerne wissen,
ob es das tut was ich möchte.

Für mich hat es den Anschein, als ob es nur ein 3D-Bild(!) erzeugt.
Stimmt das???

Ich möchte ja eine Oberfläche erzeugen, in welcher ich mich auch bewegen kann (nicht wie in einem Spiel, aber das ich quasi die Oberfläche abfahren kann, um mir Details anzuschauen).

Ist das mit dieser Software möglich???
Wenn du Erfahrung darin hast, wirst du mir das doch beantworten können.

Ein reines 3D-Bild würde nämlich nicht das erfüllen, was ich möchte.

Mfg Werner

Für mich hat es den Anschein, als ob es nur ein 3D-Bild(!)
erzeugt.
Stimmt das???

Ja, du willst doch eine 3D-Applikation schreiben. Also musst du irgendwie wohl auch ein 3D-Bild erzeugen. Wie bei nem Computerspiel oder bei Google Earth eben auch.

Ich möchte ja eine Oberfläche erzeugen, in welcher ich mich
auch bewegen kann (nicht wie in einem Spiel, aber das ich
quasi die Oberfläche abfahren kann, um mir Details
anzuschauen).

Dazu musst du ja nur die Kameraposition verändern.
http://www.lighthouse3d.com/opengl/glut/index.php?6
http://www.lighthouse3d.com/opengl/glut/index.php?8

Ist das mit dieser Software möglich???

Sicher.

Ein reines 3D-Bild würde nämlich nicht das erfüllen, was ich
möchte.

Was ist denn ein „reines 3D-Bild“?

Moien

Für mich hat es den Anschein, als ob es nur ein 3D-Bild(!)
erzeugt.
Stimmt das???

Es erzeugt eine 3D-Welt in der man sich frei bewegen und in jede Richtung schauen kann. Allerdings muss man als Programmierer selbst festlegen wohin man gehen kann/darf und in welche Richtung der User gerade schaut (das sind meistens Tutorial Teil 3 und 4).

Man definiert was sich in der Welt befindet und wo der Benutzer hin kuckt. Den Rest (Darstellung der Objekte, Licht, Perspektive,… usw) macht das System. An sich sind das alles Wrapper um OpenGL (Glut) und DirectX (XNA). Die 2 Systeme ermöglichen 3D-Darstellung mit Unterstützung der Graka und sind Basis für die meisten Spiele.

Ich möchte ja eine Oberfläche erzeugen, in welcher ich mich
auch bewegen kann (nicht wie in einem Spiel, aber das ich
quasi die Oberfläche abfahren kann, um mir Details
anzuschauen).

In XNA ist alles drin was man für ein Spiel braucht. Wenn man neben dem reinen 3D-Teil auch noch ein paar andere Dinge aktiviert hat man ruck-zuck ein Auto das mit quitschenden Reifen über deine Oberfläche rast. Das Zeug ist verflucht mächtig und nur du selbst und die Rechnenpower deines Rechnerns begrenzen dich.

Bei Glut gibt’s keine Autos und auch keinen Ton. Dafür ist das System übersichtlicher und vorallem viel besser in VB6 nutzbar.

cu

Hi
OK versuchen wir das mal.
Problem ist, wie baue ich das in VB6 ein und wo rufe ich es auf.
Im Moment verstehe ich das nicht, weil der Befehlscode ein total anderer ist.

Könnte mir da mal jmd helfen oder gibt es ein Beispiel Projekt in VB6???

Mfg Werner

Könnte mir da mal jmd helfen oder gibt es ein Beispiel Projekt
in VB6???

Schau dir doch mal die VB Tutorials zu OpenGL hier an:
http://home.pacific.net.hk/~edx/contents.htm

Dort findest du auch Beispiele-Projekte in VB:
http://home.pacific.net.hk/~edx/glutsamples.htm

Hi
ok das sollte helfen.
Bin ja mal gespannt, was man damit erreichen kann.

Mfg Werner

probier mal ode

http://www.ode.org/

open dynamics engine :smile:

Moien

probier mal ode

http://www.ode.org/

open dynamics engine :smile:

Ich habs damit versucht. Ganz nett solange man wenige, weit verteilte Objekte hat. Aber sobald es zur Sache geht schmiert das Ding mit interessanten und unverständlichen Fehlermeldungen ab.

Bullet, Ageia und Havoc können mehr und sind auch frei verfügbar.

Nun müssen wir nur noch rausfinden was der Vorschlag mit der Frage zu tun hatte …

cu

hallo Werner

Soweit ich weiß, kann man mit vb auch das direct-x programmieren.
Ich hab mich da mal etwas reingekaut, ein Problem war für mich allerdings, die Dateien zu erstellen, welche die Gitternetze der Oberflächen von Figuren und Personen etc. enthalten.
Keine Hinweise gefunden.
Bei direct-x hast Du auch einen Geschwindigkeitsvorteil, da viel automatisch geht.

Kleine Objekte mit nicht zuvielen Knoten wirst du mit Trigonometrie , bzw. den standard VB Befehlen bewältigen können.

mfg