Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Mini-3D-Plotter (https://www.delphipraxis.net/71356-mini-3d-plotter.html)

CK_CK 13. Jun 2006 20:28


Mini-3D-Plotter
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo allerseits,
ich hab' gerade die erste ansehnliche Version meines aktuellen Projektes kompiliert... :mrgreen:

Es ist (wie am Titel zu sehen ;)) ein 3D-Parser. Er kann Funktionen der Form f(x,z) als 3D-Graph darstellen.
Er "versteht" die Grundrechenarten (+,-,*,/,^) und [bis jetzt] folgende Funktionen:
  • sqrt (Wurzel); Bsp: sqrt(x)
  • _rt_ (n-te Wurzel); Bsp: 3_rt_8
  • sin,cos,tan (Sinus, usw.); Bsp: sin(x)
  • sinh,cosh,tanh
  • abs (Absolutwert); Bsp: abs(-x)
  • ...sowie die Konstante Pi

Als 3D-Komponente hab' ich die GLScene-Komponenten verwendet, die sind sehr einfach zu verwenden und meine Parser-Funktion konnte ich spielend leicht einbauen...

Es wäre schön, wenn ihr das Programm mal testen würdet und ein paar Formeln postet, die einen schönen Graphen zeichnen...
...ich würde diese dann in dem Programm als Beispiele mit einbauen.

(Verbesserungsvorschläge sind natürlich auch gerne gesehen ;))

Sonnige Grüße,
CK_CK

EDIT: Bedienung mit der Maus:
Linke Taste: Drehen
Rechte Taste: Verschieben
Mittlere Taste: Zoomen

Bedienung mit der Tastatur:
Strg+Linke Maustaste: Drehen
Alt+Linke Maustaste: Verschieben
Shift+Linke Maustaste: Zoomen

Die Formel gibt man "ganz unten" ein...
Sorry, hatte ich ganz vergessen... ;)

EDIT (21.6.06 - 14:35): Neue exe hochgeladen...
- Schnellere Wurzelfunktionen
- Wertebereiche
- Verbesserte Achsenbeschriftung

EDIT (13.6.06 - 22:42): Neue exe hochgeladen...
- Verbesserte Wurzelfunktion
- Funktion ROOT hinzugefügt (3root8 zieht die 3.Wurzel aus 8)

EDIT (13.6.06 - 22:12): Neue exe mit mehr Beispielformeln hochgeladen...

arbu man 13. Jun 2006 20:37

Re: Mini-3D-Plotter
 
Das ganze ist doch mit GLScene gemacht oder, erinnert mich zu mindest sehr an eine GLScene Demo ?

Das Teil ist aber schön schnell :thumb:
Du könntest aber noch zoom (EDIT: mit Scrollrad) einbauen.

Wenn du noch Gleichungen suchst kannst du auch hier schauen.

mfg, Björn

CK_CK 13. Jun 2006 20:38

Re: Mini-3D-Plotter
 
Ja, du hast recht, ich hab' mich an der Demo orientiert...

Was 100% von mir ist, ist der Parser, der nicht von außen sichtbar ist ;)

CK_CK

PS: Zoom mit der Mittleren Maustaste ;)
PPS: Vielen Dank für die Funktionen :dancer:

Khabarakh 13. Jun 2006 21:19

Re: Mini-3D-Plotter
 
Gibt's das auch mit Per-Pixel-Lighting :mrgreen: ? Für die Geometrie reicht die Vertexanzahl gut aus, aber das Licht sieht eben manchmal sehr interpoliert aus.

Warum ergibt 3_rt_x (mir würde btw z.B. root(3; x) oder root3(x) besser gefallen)* für negative x 0?
Logarithmusfunktionen könnte man noch hinzufügen.

Nett :D .


* Wo wir schon bei root sind: root(x) funktioniert ja sogar, sinnvoll sieht es aber nicht aus :stupid: . Zu was wird der Term geparst?

droppi 13. Jun 2006 21:26

Re: Mini-3D-Plotter
 
ich muss sagen: cooles programm. ich wollte sowas auch mal machen, es ist aber an meiner faulheit gescheitert :lol: .
vielleicht noch als verbesserungsvorschlag:die funktionsliste in einer datei speichern so dass man als benutzer noch funktionen hinzufügen kann(ich finds praktisch).

jfheins 13. Jun 2006 21:34

Re: Mini-3D-Plotter
 
Noch schöner wärs, wenn man den Wertebereich einstellen könnte - also nicht nur -1 bis 1 sondern z.B,. auch -100 bis 100

aber sonst ... :thumb: :wink:

CK_CK 13. Jun 2006 21:48

Re: Mini-3D-Plotter
 
Vielen Dank für eure netten Worte *freu*

Neue Version:
- Verbesserte Wurzelfunktion
- Funktion ROOT hinzugefügt (3root8 zieht die 3.Wurzel aus 8)

An dem Wertebereich werde ich dann morgen weiterprogrammieren, genauso wie an den Logarythmusfunktionen und der Formelspeicherung.

(Mein Hund muss jetzt mal raus :stupid:)

Viele Grüße,
CK_CK

droppi 13. Jun 2006 21:52

Re: Mini-3D-Plotter
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab mal versucht eine "standard - funktion" zu zeichnen, also sin(x). zuerst dacht ich ich hätte was falsches eingegeben aber dann ist mir aufgefallen dass die funktion ziemlich klein ist(siehe anhang). das problem hatte ich damals bei meinem "normalen" funtionsplotter auch. ich hab einfach nch nen vergrößerungsfaktor für x und y eingebaut und dann gings.

Dax 13. Jun 2006 21:53

Re: Mini-3D-Plotter
 
Hehe nettes Teil :)

Mich würd mal interessieren wie du den Parser-Teil umgesetzt hast, da kann man eventuell noch was dran optimimieren. Jedenfalls kommt man auf den Gedanken, wenn dein Programm bei sin(1/x²) einfriert und nach 5 Minuten Mikrowelle immer noch nicht aufgetaut ist ;)

CK_CK 13. Jun 2006 21:55

Re: Mini-3D-Plotter
 
Probier's doch nochmal...
Die Funktion "sin(1/x²)" funktioniert bei mir einwandfrei...

(Was für einen Prozessor/Grafikkarte hast du?)

CK_CK

PS: @droppi: Das Problem wird sich mit der Wertebereichs-Funktion lösen... ;) (hoffe ich)

EDIT: @dax: Ich hab' nur 1,4 GHz und es läuft flüssig... Hast du's nochmal probiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz