Unit für weiche Farb und Positionsübergänge

Zur Vorstellung von Komponenten und Units für Lazarus

Unit für weiche Farb und Positionsübergänge

Beitragvon Komoluna » 6. Mai 2014, 08:39 Unit für weiche Farb und Positionsübergänge

Liebes Forum,

Vor kurzem suchte ich einen Algorithmus, womit weiche Bewegungen/Übergänge erzeugt werden können.
Man findet jedoch nichts, was man in irgendeiner Weise nach Pascal übersetzen könnte. Deswegen habe ich mich hingesetzt und habe eine Methode für Zahlen und eine für Farben(anwendung der ersten Methode) geschrieben.

Da ich gerne meine Erfahrungen teilen, und eure Meinung dazu hören/lesen wollte, stelle ich euch eine kurze Unit mit einer Testanwendung zur verfügung.
(Da es sich nicht um viel Quelltext handelt, verzichte ich auf jede Form der lizensierung(kann jeder beliebig verwenden))

Nach dem kompilieren des Beispielprojektes einfach auf den Button oder das Fenster klicken und zusehen

Kritik, Meinungsäußerungen, Verbesserungsvorschläge, etc. sind erwünscht

MFG

Komoluna
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.
Komoluna
 
Beiträge: 565
Registriert: 26. Aug 2012, 08:03
OS, Lazarus, FPC: Windows(7, 10), Linux(Ubuntu, Kali) | 
CPU-Target: 64Bit
Nach oben

Beitragvon RugiaArt » 6. Mai 2014, 10:32 Re: Unit für weiche Farb und Positionsübergänge

gefällt mir!

hast du auch schon mal einen Farbkreis programmiert?
RugiaArt
 
Beiträge: 41
Registriert: 11. Okt 2012, 17:50
Wohnort: Rügen
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Scotty » 6. Mai 2014, 11:54 Re: Unit für weiche Farb und Positionsübergänge

Scotty
 
Beiträge: 770
Registriert: 4. Mai 2009, 12:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4 | 
CPU-Target: x86_64-linux-qt/gtk2
Nach oben

Beitragvon mse » 6. Mai 2014, 12:28 Re: Unit für weiche Farb und Positionsübergänge

Auch in MSEgui gibt es Farbverläufe in Form der "twidget" property "face.fade", siehe procedure tcustomface.paint(), falls es dir nicht nur um zeitlich veränderliche Effekte geht.
http://sourceforge.net/p/mseide-msegui/ ... msegui.pas
Zum Entwerfen hat MSEide einen Dialog:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mse
 
Beiträge: 1987
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Komoluna » 6. Mai 2014, 15:02 Re: Unit für weiche Farb und Positionsübergänge

1. Danke für das Feedback

2. Was meinst du mit Farbkreis? (sowas: http://www.html-seminar.de/bilder/farbkreis.jpg)

3. Gradientfill kann zwar Farbverläufe über Bildkoordinaten, aber mein Ziel war ja ein Farbverlauf mit der Zeit.

4. Es ist ja nicht nur eine Farbtransitionsmethode sondern auch eine allgemeine Transitionsmethode für Bewegungen enthalten.

5. Bei meinem Pokémon-clone sind in dem mit escape aufrufbaren Menü beide funktionen eingebaut(dafür habe ich sie entwickelt)

Für das weiche der Bewegung verwende ich den Tangens Hyperbolicus, dessen veränderung am Anfang und am Ende verlangsamt, was eine Art "natürliche" Bewegung/Übergang erschafft.

Edit: Wie gesagt, wenn irgendwer die funktionen verwenden will(direkt oder als Idee), so kann er das gerne tun.
Als ich sowas gesucht habe, hab ich stundenlang gesucht, ohne etwas vernünftiges zu finden(es muss ja nicht jeder das Rad neu erfinden :wink: )
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.
Komoluna
 
Beiträge: 565
Registriert: 26. Aug 2012, 08:03
OS, Lazarus, FPC: Windows(7, 10), Linux(Ubuntu, Kali) | 
CPU-Target: 64Bit
Nach oben

Beitragvon mse » 6. Mai 2014, 15:25 Re: Unit für weiche Farb und Positionsübergänge

Komoluna hat geschrieben:Für das weiche der Bewegung verwende ich den Tangens Hyperbolicus, dessen veränderung am Anfang und am Ende verlangsamt, was eine Art "natürliche" Bewegung/Übergang erschafft.

Da könntest du auch einen Blick in die Fahrstuhlsimulation in Kapitel 5 von
viewtopic.php?f=53&t=7432
werfen welche ohne transzendente Funktion auskommt. Dabei werden sowohl Beschleunigung als auch Geschwindigkeit begrenzt, was dann recht sanft wirkt.
mse
 
Beiträge: 1987
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon RugiaArt » 6. Mai 2014, 15:54 Re: Unit für weiche Farb und Positionsübergänge

Komoluna hat geschrieben:2. Was meinst du mit Farbkreis? (sowas: http://www.html-seminar.de/bilder/farbkreis.jpg)


ja genau so ein Kreis, hast du schon sowas gemacht oder jemand anders vll?
RugiaArt
 
Beiträge: 41
Registriert: 11. Okt 2012, 17:50
Wohnort: Rügen
OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Komoluna » 6. Mai 2014, 16:04 Re: Unit für weiche Farb und Positionsübergänge

hab ich noch nie ausprobiert, wäre aber mal interessant...
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.
Komoluna
 
Beiträge: 565
Registriert: 26. Aug 2012, 08:03
OS, Lazarus, FPC: Windows(7, 10), Linux(Ubuntu, Kali) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Units/Komponenten



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried