Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
0oFreako0
Anmeldungsdatum: 17.12.2011 Beiträge: 114
|
Verfasst am: 14.05.2012, 09:45 Titel: Benötige Hilfe bei 2 Grafik Effekten |
|
|
Hi ich hätte 2 Fragen an die Grafik Spezialisten.
Ich wollte von einem Pic was ich in den Speichergeladen habe
die Farbdaten verändern. Wie ich das genau mache ist kein Problem.
Nur wie bekomm ich das Farbmischen hin?
Zb Hab ich ein Pic in Grau nun möchte ich das es Rotanteile enthält.
Wie man es bei Gimp zb mache kann.
Als 2. Wollte ich einen einfachen Blitzalgo schreiben also nur per line erstmal
das ich x,y als ausgangs punkt habe und x2,y2 als endpunkt.
Wie würdet ihr das machen?
Erstmal ein Dot Kordinaten Array das per zufall alles verschiebt so das es aussieht wie ein blitz?
Danke euch im voraus  |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 14.05.2012, 10:17 Titel: |
|
|
zu 1.
1. Du könntest es mit dem Alpha eines farbwertes einmischen.
2. Du könntest es einfach nach Rot hin verschieben (prozentsatz rot+ grün/blau-)
3. Du könntest deinen neuen Farbwert mit dem aktuellen zusammen addieren/or'en
je nachdem, was genau dein ziel beim mischen ist.
Aber, was genau verstehst du unter "es soll rotanteile enthalten"?
zu 2.
Fahre einfach per satz des pytagoras von vektor1 zu vektor2 und lasse per zufall von dieser fahrt einen ausbruch statfinden.
http://ops.ath.cx/code?id=236
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
0oFreako0
Anmeldungsdatum: 17.12.2011 Beiträge: 114
|
Verfasst am: 14.05.2012, 16:39 Titel: |
|
|
Zitat: | 3. Du könntest deinen neuen Farbwert mit dem aktuellen zusammen addieren/or'en |
Was meinst du mit Or'en? Xoren?
Könnte ich es auch mit nem Paletten change hinbekommen? Wobei ich das noch nicht so richtig verstehe wie man mit der Palette gute effecte erzielt
Das mit dem pytagoras ist ne geile sachen.
Wenn ich es richtig verstehe erzeugst du ein Dreieck davon nimmst die obere ecke oder unterere ecke und erzeugst an diese ein neues Dreieck oder irre ich mich da? |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 14.05.2012, 16:46 Titel: |
|
|
0oFreako0 hat Folgendes geschrieben: | Was meinst du mit Or'en? Xoren? | Wie wäre es mit or? |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 14.05.2012, 16:46 Titel: |
|
|
ne .. eigentlich habe ich das nicht damit gemeint.
in meinem beispiel fahre ich schlicht von links nach rechts, und erzeuge damit einen blitz.
willst du aber von vektor1 nach vektor2 fahren (x & y angabe), dann must du eine strecke festlegen die der "dot" zurücklegen soll.
Am besten lässt du einfach den Dot von V1 zu V2 fahren, und auf dieser strecke lässt du den DOT gelegentlich ausbrechen. die ausbrüche kann man dann variabel gestalten., bzw immer wieder zu V2 dirigieren (ähnlich wie ich die sparks in meinem beispiel grundsätzlich nach rechts fahren lasse, obwohl sie eigentlich frei beweglich sind.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
0oFreako0
Anmeldungsdatum: 17.12.2011 Beiträge: 114
|
Verfasst am: 15.05.2012, 10:56 Titel: |
|
|
Hab das ganze Prinzip verstanden mit den Blitz algo
Kurze Frage aber noch wie schaffe ich es per Dots eine diagonale linie hinzubekommen so das der dot dort lang geschoben wird.
So das ich Xstart,ystart - xend,yend verwenden kann.
Bei einer Quadratischen diagonale ist es ja kein problem nur wenn länge und breite verschieden sind gibts probleme
Hat jemand ne Lösung? |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 15.05.2012, 13:24 Titel: |
|
|
hätte da noch ein Beispiel einer einfachen Line Routine
Code: |
Sub myline (x1 as integer, y1 as integer, x2 as integer, y2 as integer)
dim as double x,y
dim dy as double
dim dx as double
if (x2-x1) >= (y2-y1) then
y = y1
dy = (y2-y1+.0000001) / (x2-x1+.0000001)
for x = x1 to x2
pset(x, y)
y += dy
next x
else
x = x1
dx = (x2-x1+.0000001) / (y2-y1+.0000001)
for y = y1 to y2
pset(x, y)
x += dx
next y
end if
end sub
|
_________________
 |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 15.05.2012, 14:58 Titel: |
|
|
im englischen Forum war vor nicht langer Zeit was dazu zu lesen.
Hab mich da auch verewigt, mal nach "lightning bolt" oder so suchen
Mutton |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 15.05.2012, 16:15 Titel: |
|
|
Eternal_pain hat Folgendes geschrieben: | hätte da noch ein Beispiel einer einfachen Line Routine |
Bäääh, Linien Zeichnet man doch nicht mit Doubles. Bresenham funktioniert komplett mit Integer-Arithmetik und ist dadurch im Schnitt schneller und weniger anfällig für arithmetische Ungenauigkeiten. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 15.05.2012, 20:43 Titel: |
|
|
Linie zwischen 2 Punkten zeichnen: http://ops.ath.cx/code?id=237
Hab zwar schon etwas vereinfacht, aber muss dennoch etwas angepast werden, da es einen eigenen Image-Type nutzt.
Aber der Algo ist funktionell.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
0oFreako0
Anmeldungsdatum: 17.12.2011 Beiträge: 114
|
Verfasst am: 16.05.2012, 11:12 Titel: |
|
|
Thx @all dank euch hab ich nun meinen Effekt umsetzen können.
Da der GFX Thread ja schon offen ist wollte ich einen old school effekt umsetzen wo in ein Rechteck mit Farbverlauf erzeugt wird zb von gelb nach rot und dieses dann animiert so weiter verläuft. Kriegt man das hin indem man sagen wir mal ein Rechteck mit verschiedenen graustufen erzeugt und darüber eine Paletten Rotation legt?
Da ich mit der Palette irgentwie noch nicht so klar komme versuch ich mich gerade anderes dran. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.05.2012, 12:50 Titel: |
|
|
Was ist denn an einem indizierten Fabrmodus mit Palette so schwer zu verstehen?
- Du hast eine feste Anzahl (z.B. 256) an Farben, oder besser gesagt Farbindizes.
- Diese Farbindizes lassen sich bestimmten Farben zuordnen, z.B. 0 zu schwarz, 1 zu blau, 2 zu grün, ...
- Die Palette kann verändert werden, ohne den Bildschirm komplett neu zu zeichnen. Änderst du also z.B. Paletteneintrag 2 von grün zu rot, werden alle Stellen im Bild, die Farbe 2 referenzieren, ihre Farbe von grün zu rot wechseln, ohne dass du diese Stellen explizit neu zeichnen müsstest.
Konkret heißt das: Zeiche dein Rechteck z.B. mit den Farben 1 bis 100. Weise zu Beginn dem Farbindex 1 gelb zu, und überblende bis zu Farbindex 100 zu rot (also einfach den Grünanteil gegen 0 gehen lassen). Im zweiten Frame rotierst du dann diese Palettenindizes um 1, d.h. Farbindex 1 erhält die Farbe von Farbindex 2, Farbindex 2 die von 3, etc... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
|