3D-Software: Anfänger braucht dringend Starthilfe
-
[quote="Tyrdal"]Machbarkeit hängt auch vom verfügbaren Zeitrahmen ab.[/quote]
Wir haben jetzt über ein Jahr Zeit, darunter einige Wochen Ferien, die ich "nur" dem Programmieren widmen könnte.
-
Mehr als 1 Jahr Zeit? Dann ists machbar. Je nach Vorwissen wirst du aber ordentlich viel lernen muessen!
Als programmiersprache kommt wohl Java am ehesten in Frage, weil du das schon kennst.
Mir ist zwar nicht ganz klar, warum dein Programm 3D sein soll, wenn du nur 2D-Funktionen plotten willst, aber gut.Du hast im Grunde 2 Moeglichkeiten: du beschaeftigst dich mit OpenGL (das ist "echte" 3D-Programmierung) und verwendest dann eine OpenGL-Lib fuer Java, oder du implementierst die 3D-Funktionalitaet selbst auf Basis der 2D-Funktionalitaet, die mit Java mitkommt.
-
Ist es mit Java machbar, eine dritte Koordinatenachse zu bestimmen und danach, je nachdem, wie man die Maus bewegt, dreht sich das "Bild" um diese Achse?
Ist das realisierbar, oder sollte ich mich besser auf OpenGL konzentrieren?und weshalb nur 2d? affine abbildungen sind 3d..? oder verstehe ich was falsch..
-
beginner66 schrieb:
Ist es mit Java machbar, eine dritte Koordinatenachse zu bestimmen und danach, je nachdem, wie man die Maus bewegt, dreht sich das "Bild" um diese Achse?
Ist das realisierbar, oder sollte ich mich besser auf OpenGL konzentrieren?Klar ist das realisierbar. Du kannst die Mausposition abfragen und du kannst den Farbwert beliebiger Pixel aendern ==> Du kannst Mausinput abfagen und Bilder zeichnen.
Ich hab aber leider immer noch nicht verstanden was du machen willst, also kann ich dir nach wie vor nicht sagen womit du besser dran bist. Sinds 2D-Funktionsgraphen, ist Java allein ausreichend. Ists irgendwas in 3D, dann nimm OpenGL. Vielleicht gibts sogar nochwas besseres fuer das, was du tun willst, leider hab ich immer noch nciht begriffen, was das ist.und weshalb nur 2d? affine abbildungen sind 3d..? oder verstehe ich was falsch..
Seit wann ist den von affinen Abbildungen die Rede
Jedenfalls: du verstehst was falsch, affine Abbildungen koennen beliebige Dimensionalitaet haben.
Erklaere bitte nochmal genauer, was du tun willst
-
beginner66 schrieb:
Ist es mit Java machbar, eine dritte Koordinatenachse zu bestimmen und danach, je nachdem, wie man die Maus bewegt, dreht sich das "Bild" um diese Achse?
Ist das realisierbar, oder sollte ich mich besser auf OpenGL konzentrieren?In der Java Klassenbibliothek selber gibt es nur Java2D, damit kannst du grundsätzlich, wie der Name schon sagt, erstmal nur in 2D arbeiten. Das bietet übrigens schon Funktionen für Affine Transformation: http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/AffineTransform.html
Aber du kannst auch in Java OpenGL nutzen. Dafür brauchst du dann aber eine extra Bibliothek wie lwjgl oder jogl.
beginner66 schrieb:
und weshalb nur 2d? affine abbildungen sind 3d..? oder verstehe ich was falsch..
Affine Abbildungen sind allgemein auf Vektorräumen definiert, da ist keine Festlegung auf die Anzahl der Dimensionen.
-
ich hätte gerne affine abbildungen im dreidimensionalen raum.
ich würde mir das so vorstellen, dass ich ein programm entwickle, bei dem man unten die verschiedenen abbildungen hat (z.b. drehung um punkt (x/y/z) mit winkel alpha, streckung an einer geraden mit der funktionsgleichung y=ax + b, ...), diese anklicken kann und die parameter festlegen kann. das programm berechnet dann automatisch die koordinaten des neuen punktes (anfangspunkt wurde am anfang auch manuell eingegeben) und zeichnet diesen. Es können dann auch funktionen abgebildet werden, also kurvenabbildungen. Es gibt ja dann auch fixgeraden, fixpunkte und so weiter, die man dann auch berechnen lassen könnte, und dem benutzer ausgibt. um diese dinge aber 3d zeichnen zu können, brauche ich ja drei achsen, vor allem auch um dann die abbildung vom benutzer drehen lassen zu können.
versteht ihr was ich meine, oder soll ich meine idee noch etwas weiter ausführen? Ganz ausgearbeitet ist sie ja noch nicht, muss ich zugeben
..
vielen dank für eure antworten bis jetzt und alle weiteren, werde mir mal noch opengl genauer anschauen..
liebe grüsse
-
also wenn ich das richtig verstehe, ist opengl dann mehr dazu da, diese abbildungen zu rendern, und nicht zu berechnen?
tut mir leid, wenn ich eure geduld strapaziere, habe immer etwas lang, bis ich begreife..
was wäre denn der vorteil von opengl? von java? ein lehrer hat mir empfohlen c zu nehmen? und wie siehts mit pascal aus?
kennt ihr wichtige unterschiede, vorteile? ich habe diese einzeln gegoogelt, die wikipedia-seiten durchgelesen, bin aber leider nicht wirklich schlau daraus geworden.ich stelle mir das ganze ziemlich ähnlich wie geogebra vor (kennt ihr das? http://www.interaktive-whiteboards.info/wp-content/uploads/2009/04/geogebra.jpg , halt einfach im dreidimensionalen.
hier hätte ich sonst noch das skript, das wir in wenigen wochen beendet haben in der schule, zum thema affine abbildungen, http://mguehr.ch/Skript Affine Abbildungen.pdf .. ich möchte mich gerne an dieses anlehnen, jedoch diese gleichungen teilweise noch auf drei dimensionen erweitern.machbar? oder unrealistisch? ich denke, ihr seht, dass ich nicht grosse ahnung habe, ich finde mich schnell in eine sprache hinein, jedoch am anfang haperts ziemlich bei mir.. sollte ich mich besser nur auf 2 dimensionen beschränken? fände ich zwar extrem schade.
ihr habt vorhin geschrieben, java mit opengl? wäre das dann so, dass man mit java programmieren und mit opengl diese dinge schön darstellen kann?
-
http://mguehr.ch/Skript Funktionen mehrerer Var.pdf
auf dieser seite hätte es noch mehr solche "formeln", die ich in mein programm einbauen könnte, habe diesen stoff jedoch noch nicht durchgenommen, müsste ihn also - wenn bis dahin noch nicht besprochen - selbst erlernen. (es steht aber auf dem lehrplan)
könntet ihr euch eine arbeit unter diesen bedingungen vorstellen? würdet ihr mir empfehlen, die herausforderung anzunehmen?
alternativen wären, nicht eine software sondern mehr eine website zu erstellen, auf der man dies machen könnte, dann eher mit java script etc..
oder aber nur ein 2d-programm..
oder ein ganz anderes programm? z.b. lernprogramm für sprachen, kopfrechnen, etc.
oder halt doch ganz wegkommen vom programmieren, weil ich zu unfähig bin? hoffe ich nicht
-
beginner66 schrieb:
also wenn ich das richtig verstehe, ist opengl dann mehr dazu da, diese abbildungen zu rendern, und nicht zu berechnen?
OpenGL ist rein zum zeichnen da. m wesentlichen kannst du mit OpenGL folgendes machen: du kannst sagen: "ich will eine Kamera an Punkt (x,y,z), die in Richtung (a,b,c) schaut. Ausserdem hab ich ein Dreick, dessen Eckpunkte folgende Koordinaten haben, eine Linie von da nach dort, etc. etc. etc." Das reicht, um deine Funktionen im Dreidimensionalen darzustellen. Aber berechnen wo du die Punkte und Linien etc. haben willst musst du schon selbst, aber das ist ja kein Ding der Unmoeglichkeit
was wäre denn der vorteil von opengl? von java? ein lehrer hat mir empfohlen c zu nehmen? und wie siehts mit pascal aus?
Ist absolut unwichtig, ist mit jeder der 3 Sprachen gleich leicht moeglich (wobei C vermutlich etwas schwerer ist als Java & Pascal). Aber da du Java schon kannst, haben wir dir Java empfohlen
machbar? oder unrealistisch? ich denke, ihr seht, dass ich nicht grosse ahnung habe, ich finde mich schnell in eine sprache hinein, jedoch am anfang haperts ziemlich bei mir.. sollte ich mich besser nur auf 2 dimensionen beschränken? fände ich zwar extrem schade.
Machbar ja, aber du hast dir sehr viel vorgenommen. Wenn du genug Motivation mitbringst ists aber sicher schaffbar!
ihr habt vorhin geschrieben, java mit opengl? wäre das dann so, dass man mit java programmieren und mit opengl diese dinge schön darstellen kann?
Ja. OpenGL ist lediglich eine Bibliothek (d.h. Zeichenfunktionen), die du mit der Programmiersprache deiner Wahl verwendest (OpenGL kann man genauso auch in C oder Pascal verwenden).
-
herzlichen dank für die schnelle und vor allem hilfreiche antwort.
ich werde dies mit meinem lehrer noch genauer besprechen (werde 2 betreupersonen haben, vermutlich referent in mathematik und koreferent in informatik, oder umgekehrt), der wird mir sagen, ob dies machbar ist.
bin jetzt aber total optimistisch und enthusisatisch.. dass mein ziel "machbar" ist und ich etwas konkretere vorstellungen gewinnen konnte (durch diese forum: HERZLICHEN DANK!), hat mich einen riesigen schritt vorwärts gebracht..
vielen dank! werde dies jetzt so gut wie möglich umsetzen, ich denke, werde euch aber immer wieder mit fragen belästigen