3D Fläche in VPython

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Philipp V.
User
Beiträge: 4
Registriert: Donnerstag 14. Juni 2007, 08:20
Wohnort: Dresden

Hallo alle zusammen,

hatte mir schon lange mal vorgenommen mich hier ins Forum zu begeben, nun isses endlich soweit. Ich muss ein Projekt erstellen wo ich neben python auch Vpython benutze um meine Daten graphisch und in dem Falle 3D mäßig darstelle.

VPython scheint wohl nicht so verbreitet, aber nichts destotrotz drängt jetzt ein wenig die zeit;

folgendes Problem; Ich will eigentlich nur eine 2 dimensionale Untermannigfaltigkeit in VPython zeichen, nämlich eine Kugelkappe durch Parametrisierung in Theta und Phi. also nichts großartiges eigentlich. und am besten wäre wenn ich das als grid() oder etwas transparentes darstellen könnte. gibt es sowas wie einen drei-dim. imshow() befehl? Ich habe nichts herausfinden können. in den examples war dieses faces_heightfield.py, aber jenes ergibt auch nicht das gewünschte ergebnis.

Ich wäre mit großem Dank für schnelle Hilfe verbunden.

grüße aus DD von Philipp
Philipp V.
User
Beiträge: 4
Registriert: Donnerstag 14. Juni 2007, 08:20
Wohnort: Dresden

irgendwie wundere ich mich ein wenig, warum dieses example "faces_heightfield.py" so kompliziert gestaltet ist. Es muss doch irgendwie möglich sein ebenen im 3 dreidimensionalen Raum in Vpython darzustellen, mit EINEM Befehl aber....

Ich würde mich über Antworten immer noch sehr freuen....

grüße
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Philipp V. hat geschrieben:VPython scheint wohl nicht so verbreitet, aber nichts destotrotz drängt jetzt ein wenig die zeit;
[...]
Ich wäre mit großem Dank für schnelle Hilfe verbunden.
Hallo Philipp!

Das wird schwierig, mit der schnellen Hilfe. Ich habe hier im Forum noch nicht viel von VPython mit bekommen. Anscheinend setzen das sehr, sehr wenige Mitglieder dieses Forums ein.

mfg
Gerold
:-)

PS: http://www.python-forum.de/post-38063.html#38063
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

ich hab zwar keine ahnung von vpython aber heightfields sind eigentlich immer "terrains", sprich grafiken die in ein gitter mit höheninformationen umgewandelt werden -> falsch, nichts für dich.

http://www.vpython.org/webdoc/visual/faces.html <- das sieht nach simplen flächen aus.

lgherby
Philipp V.
User
Beiträge: 4
Registriert: Donnerstag 14. Juni 2007, 08:20
Wohnort: Dresden

moin moin,

hab mich jetzt erst mal in die mailingliste von vpython eingetragen. die haben mir so suggeriert, dass doch wohl nicht so einfach ist in vpython mal schnell eine oberfläche zu zeichnen....ich hatte halt nur gedacht, dass was ich bei matplotlib als imshow() mache, sprich eine funktion f(x,y) in information von farben umzuwandeln, sondern jetzt wirklich auf die z-koordinate im 3D raum zu übertragen......naja mal sehen, wenn jemand einen einfall hat, dann bitte melden....


das mit faces_heightfield.py denke ich mal schon, dass das in die richtige richtung geht......thelittlebug hat wohl recht, irgendwie pass das nicht so richtig
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Mehr als über die Tutorials von VPython habe ich nichtgemacht.

Meine Ansicht VPython ist nicht als Game Engine zugebrauchen.
Mit VPython würde ich nur Sachen aus Geometrischen Figuren zusammen
bauen, alles andere scheint zu komplex.

Es gibt hier im Forum ein VPython Beispiel für Conways Spiel des Lebens,
das ist auch das Einzigste was ich hier je von VPython gesehen habe ;-)
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Philipp V. hat geschrieben:ich hatte halt nur gedacht, dass was ich bei matplotlib als imshow() mache, sprich eine funktion f(x,y) in information von farben umzuwandeln, sondern jetzt wirklich auf die z-koordinate im 3D raum zu übertragen
Also doch ein Heightfield (heightmap, landscape usw...)?
Du hast ein 2D Array voller Werte die du als Farben oder als Höhen (oder beides) interpretieren möchtest? Oder willst du nur eine simple 3D Fläche (Dreieck, Rechteck) zeichnen?

lgherby

edit:
thelittlebug hat geschrieben: ich hab zwar keine ahnung von vpython aber heightfields sind eigentlich immer "terrains", sprich grafiken die in ein gitter mit höheninformationen umgewandelt werden -> falsch, nichts für dich.
sry, scheinbar hab ich nur deinen 2ten post gelesen aus dem hervorgeht das du eine simple fläche malen willst. soweit ich das verstanden habe müsstest du dir mit vpython selbst etwas basteln das ein grid etngegen nimmt und daraus ein "gitter" aus drei- oder vierecken bastelt -> highmap

edit2: eventuell ist vpython der falsche ansatz, vielleicht finden sich hier http://www.vrplumber.com/py3d.py?category=science bessere tools die dir bei deiner aufgabe helfen könnten. links gibt es ein menü dort gibt es noch mehr ;)
Philipp V.
User
Beiträge: 4
Registriert: Donnerstag 14. Juni 2007, 08:20
Wohnort: Dresden

ja, ich habe 2 arrays, einmal phi und theta......einfach nur Kugelkoordinaten, wo der Radius r constant ist. ich möchte also einen Teil der Oberfläche einer Kugel zeichnen.....

naja, irgendwie bin ich nun auf vpython angewiesen, da ich ein physikalisches Problem (Bewegung des schweren Kreisels) visualisiert habe. also ich sage mal so.....lassen wir das mal mit dem grid(), aber diese Fläche würde ich immer noch gern zeichnen wollen.....in vpython ist das halt so ein problem, weil Mesh() gibts hier nicht....
Antworten