Drehendes Objekt

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
hpt
Beiträge: 48
Registriert: Sa 26. Jul 2014, 18:45
OS, Lazarus, FPC: Lazarus
CPU-Target: 32Bit

Drehendes Objekt

Beitrag von hpt »

Servus
ich suche nach einer Lösung für ein drehendes grafisches Objekt z.B.
- Würfel
- x,y,z - Vektoren
- oder auch ähnliches
welches nach Möglichkeit in Lazarus programmiert ist und sich über die Änderung der Drehwinkel für x, y, z dreht.
Brauchen würde ich es für die Veranschaulichung eines Gyrosensors, der über I2C-Bus am RPI hängt.
Da ich mich mit Lösungen (Berechnungen) in Grafik nicht beschäfigt habe, wäre es recht nützlich, wenn schon jemand eine Lösung dafür hat.
Würde mich über jede Art von Hilfestellung freuen - danke!

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Drehendes Objekt

Beitrag von mschnell »


Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Drehendes Objekt

Beitrag von theo »


Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Drehendes Objekt

Beitrag von Komoluna »

Wenn du OpenGL nehmen möchtest, kann ich dir diese Seite empfehlen:
http://wiki.delphigl.com/index.php/Hauptseite
die haben auch einen Pascal-Header für OpenGL. der ganz einfach in Lazarus zu verwenden ist.

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Drehendes Objekt

Beitrag von Mathias »

Ich würde dir auch OpenGL empfehlen, damit bist du Plattform unabhängig.
Am besten würde ich dir OpenGL 3.3 empfehlen, dann bist du UptoDate.

Die Fragen, wie das geht, postest am besten hier: http://www.delphigl.com/forum/

Ich hätte ein paar fertige Lazarus Lösungen zu OpenGL 3.3.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Joz
Beiträge: 40
Registriert: Mo 27. Mai 2013, 13:16
OS, Lazarus, FPC: Arch Linux, OpenSuse 13.2, Lazarus 1.4
CPU-Target: AMD64
Wohnort: Berlin

Re: Drehendes Objekt

Beitrag von Joz »

Wenn es nicht kompliziert sein soll, kannst du ja eine Fläche zum Selberzeichnen wählen und mit dem Canvas-Objekt Linien zeichnen (mit Seitenberechnung vom Winkel á la x=cos, y=sin), die die Richtung anzeigen.
„Drehendes grafisches Objekt“ klingt zwar doch fast nach OpenGL, Canvas ist aber für die ganz einfachen Test-Dinge unkomplizierter ;)

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Drehendes Objekt

Beitrag von Mathias »

@Joz

Wen ich das erste Posting angucke, geht es eher um 3D ( Würfel, xyz-Achsen ). :wink:

Wen man ein 3D-Drahtgitter-Modell zeichen will, dann kann man gut Canvas-Linien verwenden, aber das wird dann mathematisch schon wieder recht kompliziert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Drehendes Objekt

Beitrag von mschnell »

Mathias hat geschrieben:Ich würde dir auch OpenGL empfehlen, damit bist du Plattform unabhängig.


SDL verwendet openGL (wenn man es so konfiguriert).

Es soll einfacher zu verwenden sein als die direkte openGL Schnittstelle. Ich habe aber keine tiefgehende Erfahrung.

-Michael
Zuletzt geändert von mschnell am Di 2. Sep 2014, 09:56, insgesamt 1-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Drehendes Objekt

Beitrag von mschnell »

Mathias hat geschrieben:aber das wird dann mathematisch schon wieder recht kompliziert.

und - verglichen mit OpenGL u.ä. - sehr langsam. Für ein statisches Bild aber sicher ausreichend.

-Michael

hpt
Beiträge: 48
Registriert: Sa 26. Jul 2014, 18:45
OS, Lazarus, FPC: Lazarus
CPU-Target: 32Bit

Re: Drehendes Objekt

Beitrag von hpt »

... schön wären ein paar Beispiele oder wenigstens Code-Schnipsel für die Veranschaulichung, wenn ich meinen Sensor bewege.
Am einfachsen wären 3 färgibe Vektoren die sich drehen könnten x,y,z -Achse.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Drehendes Objekt

Beitrag von Michl »

Ein Bsp. ist bei Lazarus anbei: ...lazarus\examples\openglcontrol\openglcontrol_demo.lpi

Willst Du selber rechnen und zeichnen habe ich mal den Code aus einem Projekt mal zu einem drehenden Würfel (ohne Tiefenverzehrung) angefügt (Zeichnung in PaintBox - kein OpenGL!).
Dateianhänge
wuerfel.zip
(126.02 KiB) 117-mal heruntergeladen

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

hpt
Beiträge: 48
Registriert: Sa 26. Jul 2014, 18:45
OS, Lazarus, FPC: Lazarus
CPU-Target: 32Bit

Re: Drehendes Objekt

Beitrag von hpt »

servus michl - danke für deine Infos!
Dein Anhang funktioniert unter windowsXP Lazarus einwandfrei, aber unter Lazarus am RPI kommt in den Nachrichten der Fehler:
> wuerfel.lpr(16.30) Error: identifier not found „RequireDerivedFormResource“
Was kann ich (muss ich) machen – fragt der „Imperte“ HPT

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Drehendes Objekt

Beitrag von m.fuchs »

Da verweise ich mal auf diesen Thread: viewtopic.php?f=18&t=6368

Einfach die entsprechende Zeile aus dem Quellcode rausschmeißen oder das Lazarus auf dem Pi aktualisieren.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten