A função de decompor a cor em tons. - página 21

 
Реter Konow:

Meu algoritmo funciona bem. É rápido (15-20 microssegundos). O seu não funciona corretamente. Você está sugerindo que eu deveria refazer meu algoritmo com seu exemplo?)


É isso aí, Peter, você está me aborrecendo com sua impenetrabilidade.

Eu não aguento mais.

Eu ganho. Seu algoritmo é perfeito!

 
Nikolai Semko:


É isso aí, Peter, você está me aborrecendo com sua impenetrabilidade.

Eu não aguento mais.

Eu ganho. Seu algoritmo é perfeito!

O meu não é perfeito. É apenas mais correto.

A moral desta fábula é: nem sintaxe, nem linguagem, nem estilo, nem conformidade com as regras das normas! As regras do desenvolvedor.

 
Реter Konow:

O meu não é perfeito. É apenas mais fiel.

OK, sua seção no espaço rgb é mais reta que a minha.
 
Nikolai Semko:
OK, sua seção no espaço rgb é mais simples do que a minha.

Certo. O tema foi interessante e útil.

 
O povo ficou sem palavras...
 
Алексей Тарабанов:
O povo ficou sem palavras...
É claro que sim. Não havia nenhum tolo além de mim.
 
Nikolai Semko:
Pode apostar. Não há tolos, exceto para mim.

Vamos lá... Nascia uma função útil:

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Função de decomposição de cores.

Nikolai Semko, 2018.10.15 22:21

...

Esta é a única função necessária e mais versátil para trabalhar com 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;
     }
  }

Como gera todos os algoritmos aqui dados em duas linhas. É a mais rápida, pois há apenas uma operação "+" no laço, nem mesmo a multiplicação. Além disso, esta aspiração dá misturas de duas cores quaisquer, e não apenas calcula os tons de uma.


 
Artyom Trishkin:

Vamos lá... Nascia uma função útil:


Sim, mas pessoalmente é pouco provável que eu o use, pois sou mesquinho em gerar uma matriz intermediária de vários KB para gradiente dinâmico. Para a estática, é certamente útil. Mas eu tenho a maioria dinâmica e calculo o gradiente na mosca sem arrays.
De qualquer forma, Andrei Hatimlansky estava certo. Pyotr vem me enganando há algum tempo como um otário.
 
Artyom Trishkin:

Vamos lá... Nascia uma função útil:

pois gera todos os algoritmos aqui dados em duas linhas. É a mais rápida, pois há apenas uma operação "+" no laço, nem mesmo a multiplicação. Além disso, esta aspiração dá misturas de duas cores quaisquer, e não apenas calcula os tons de uma.

Muito possível... Cores, melodias e sons... As citações atuais e suas mudanças, a propósito, soam muito bem!

Como eles são em cores? E o que seria - harmonia de cores ou cacofonia?

 
aleger:

Poderia muito bem ser... Cores, melodias e sons... As cotações atuais e suas mudanças, a propósito, soam muito bem!

E como eles são em cores? E o que seria - harmonia de cores ou cacofonia?

Você deu uma idéia ao Peter. Vamos ver que tipo de "Petrofonia" será.