La funzione di scomporre il colore in sfumature. - pagina 21

 
Реter Konow:

Il mio algoritmo funziona bene. È veloce (15-20 microsecondi). Il tuo non funziona correttamente. Stai suggerendo che dovrei rifare il mio algoritmo secondo il tuo esempio?)


Basta così, Peter, mi stai annoiando con la tua impenetrabilità.

Non ce la faccio più.

Ho vinto, il tuo algoritmo è perfetto!

 
Nikolai Semko:


Basta così, Peter, mi stai annoiando con la tua impenetrabilità.

Non ce la faccio più.

Ho vinto, il tuo algoritmo è perfetto!

Il mio non è perfetto. È solo più corretto.

La morale di questa favola è: né la sintassi, né la lingua, né lo stile, né il rispetto delle regole standard! Le regole dello sviluppatore.

 
Реter Konow:

Il mio non è perfetto. È solo più fedele.

OK la tua sezione nello spazio rgb è più dritta della mia.
 
Nikolai Semko:
OK la tua sezione nello spazio rgb è più semplice della mia.

Ok. L'argomento era interessante e utile.

 
La gente era senza parole...
 
Алексей Тарабанов:
La gente era senza parole...
Certo che l'hanno fatto. Non c'erano sciocchi, tranne me.
 
Nikolai Semko:
Puoi scommetterci. Sono l'unico ad essere ingannato.

Andiamo... È nata una funzione utile:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Funzione di decomposizione del colore.

Nikolai Semko, 2018.10.15 22:21

...

Ecco l'unica funzione necessaria e più versatile per lavorare con il gradiente:

union rgb {uint clr; uchar c[4];};
void Gradient(uint clr1,uint clr2,uint &arr[],uint size)
  {
   if(size==0) return;
   ArrayResize(arr,size);
   arr[0]=clr1; 
   rgb c1,c2;
   c1.clr=clr1;
   c2.clr=clr2;
   double R1=c1.c[2],G1=c1.c[1],B1=c1.c[0];
   double R2=c2.c[2],G2=c2.c[1],B2=c2.c[0];
   double deltaR=(R2-R1)/(size-1);
   double deltaG=(G2-G1)/(size-1);
   double deltaB=(B2-B1)/(size-1);
   R1 += 0.4999;
   G1 += 0.4999;
   B1 += 0.4999;
   for(uint i=1;i<size;i++)
     {
      R1+=deltaR; c1.c[2]=uchar (R1);
      G1+=deltaG; c1.c[1]=uchar (G1);
      B1+=deltaB; c1.c[0]=uchar (B1);
      arr[i]=c1.clr;
     }
  }

Poiché genera tutti gli algoritmi dati qui in due righe. È il più veloce, poiché c'è solo un'operazione "+" nel ciclo, nemmeno la moltiplicazione. Anche questa funzione dà miscele di due colori qualsiasi, non solo calcola le sfumature di uno.


 
Artyom Trishkin:

Andiamo... È nata una funzione utile:


Sì, ma personalmente è improbabile che lo usi, perché sono avaro di generare un array intermedio di diversi KB per il gradiente dinamico. Per la statica uno è certamente utile. Ma ho per lo più quelli dinamici e calcolo il gradiente al volo senza array.
Comunque, Andrei Hatimlansky aveva ragione. Pyotr mi ha truffato per tempo come un babbeo.
 
Artyom Trishkin:

Andiamo... È nata una funzione utile:

poiché genera tutti gli algoritmi qui riportati in due righe. È il più veloce, poiché c'è solo un'operazione "+" nel ciclo, nemmeno la moltiplicazione. Anche questa funzione dà miscele di due colori qualsiasi, non solo calcola le sfumature di uno.

Molto possibile... Colori, melodie e suoni... Le quotazioni attuali e i loro cambiamenti, a proposito, suonano piuttosto bene!

Come sono a colori? E cosa sarebbe - armonia di colori o cacofonia?

 
aleger:

Potrebbe benissimo essere... Colori, melodie e suoni... Le citazioni attuali e i loro cambiamenti, a proposito, suonano molto bene!

E come sono a colori? E cosa sarebbe - armonia di colori o cacofonia?

Hai dato un'idea a Peter. Vediamo che tipo di 'Petrofonia' sarà.