C:/sources/c++/buddhabrot/buddhabrot/fullLinear.cpp

00001 #include "fullLinear.h"
00002 #include <cmath>
00003 
00004 fullLinear::fullLinear(int nbColors):colorMaker(nbColors){
00005 }
00006 
00007 fullLinear::~fullLinear(){
00008 }
00009 
00010 // level va de 0 à 999
00011 QColor fullLinear::get(int level){
00012         int red, green, blue;
00013 
00014         //float ii = sqrt(sqrt(float(level)/nblevels)) * nblevels;
00015         int ii = level;
00016 
00017         // rouge
00018         if (ii < nblevels/4)
00019                 red = 0;
00020         else if (ii < nblevels /2)
00021                 red = -255 + 4*ii*255/nblevels;
00022         else
00023                 red = 255;
00024 
00025         // vert
00026         if (ii< nblevels/2)
00027                 green = 0;
00028         else if (ii < 3*nblevels/4)
00029                 green = -511 + 4*ii*255/nblevels;
00030         else
00031                 green = 255;
00032 
00033         // bleu
00034         if (ii< nblevels/4)
00035                 blue = 4*255*ii/nblevels;
00036         else if (ii < nblevels/2)
00037                 blue = 511 - 4*ii*255/nblevels;
00038         else if (ii < 3*nblevels/4)
00039                 blue = 0;
00040         else 
00041                 blue = -767 + 4*ii*255/nblevels;
00042 
00043         return QColor(red, green, blue);
00044 }

Generated on Sat Feb 6 16:30:54 2010 for BuddhaBrot by  doxygen 1.4.6-NO