File:Color_complex_plot2.jpg
Da Wikipedia, l'enciclopedia encyclopedia
![File:Color complex plot2.jpg](http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Color_complex_plot2.jpg/600px-Color_complex_plot2.jpg)
Dimensioni di questa anteprima: 600 × 600 pixel. Altre risoluzioni: 240 × 240 pixel | 480 × 480 pixel.
File originale (800 × 800 pixel, dimensione del file: 202 KB, tipo MIME: image/jpeg)
![]() |
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?) |
Dettagli
DescrizioneColor complex plot2.jpg |
English: Colour plot of complex function (x² - 1) * (x-2-I)² / (x² + 2 + 2I), hue represents the argument, sat and value represents the modulo. Contours distinguish intervals [e^i, e^(i+1)] where i=0,1,2... Shadow is on the higher modulus side.
Zeros have pin-wheel of colours, one cycle of the colour wheel for simple zero, two cycles for double zero etc. Contours are approaching poles with the shadowed side, and the colours cycle in reverse order around a pole. |
Data | |
Fonte | Opera propria |
Autore | Jan Winnicki |
Altre versioni |
![]() |
Source code
This is the source code used for image generation. It is a slightly modified version of File:Color complex plot.jpg. In this version the real axis is directing right. And contours bring more information.
#include <complex>
#include <fstream>
using namespace std;
void SetHSV(double h, double s, double v, unsigned char color[3]) {
double r=0, g=0, b=0;
if(s==0)
r = g = b = v;
else {
h /= 60;
int i = floor(h);
double f = h - i;
double p = v*(1-s);
double q = v*(1-s*f);
double t = v*(1-s*(1-f));
switch(i){
case 0: r=v; g=t; b=p; break;
case 1: r=q; g=v; b=p; break;
case 2: r=p; g=v; b=t; break;
case 3: r=p; g=q; b=v; break;
case 4: r=t; g=p; b=v; break;
case 5: r=v; g=p; b=q; break;
}
}
int c;
c = int(256*r); if(c>255) c = 255; color[0] = c;
c = int(256*g); if(c>255) c = 255; color[1] = c;
c = int(256*b); if(c>255) c = 255; color[2] = c;
}
complex<double> fun(complex<double>& c ){
const complex<double> i(0., 1.);
return (pow(c,2) - 1.) * pow(c -2. -i, 2) / (pow(c, 2) + 2. + 2. * i);
}
int main(){
const int dimx = 800; const int dimy = 800;
const double rmi = -3; const double rma = 3;
const double imi = -3; const double ima = 3;
ofstream f("complex.ppm", ios::binary);
f << "P6" << endl
<< dimx << " " << dimy << endl
<< "255" << endl;
for(int j=0; j < dimy; ++j){
double im = ima - (ima -imi) *j /(dimy -1);
for(int i=0; i < dimx; ++i){
double re = rmi +(rma -rmi) *i /(dimx -1);
complex<double> c(re, im);
complex<double> v = fun(c);
double a = arg(v)*180/M_PI;
if(a < 0) a += 360;
double m = abs(v);
double ranges;
double rangee = 1;
while(m>rangee){
ranges = rangee;
rangee *= M_E;
}
double k = (m-ranges)/(rangee-ranges);
double sat = k < 0.5 ? 1-2.8*k : 2.8*k-1.1;
if(sat < 0.3) sat = 0.3;
else if(sat > 1) sat = 1;
double val = k < 0.5 ? 1.4-1.6*k : 1.6*k-0.6;
if(val < 0.6) val = 0.6;
else if(val > 1) val = 1;
unsigned char color[3];
SetHSV(a,sat,val,color);
f.write(color,3);
}
}
return 0;
}
Licenza
Io, detentore del copyright su quest'opera, dichiaro di pubblicarla con le seguenti licenze:
![w:it:Creative Commons](https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/CC_some_rights_reserved.svg/90px-CC_some_rights_reserved.svg.png)
![attribuzione](https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cc-by_new_white.svg/24px-Cc-by_new_white.svg.png)
![condividi allo stesso modo](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Cc-sa_white.svg/24px-Cc-sa_white.svg.png)
Questo file è disponibile in base alla licenza Creative Commons Attribuzione-Condividi allo stesso modo 3.0 Unported
- Tu sei libero:
- di condividere – di copiare, distribuire e trasmettere quest'opera
- di modificare – di adattare l'opera
- Alle seguenti condizioni:
- attribuzione – Devi fornire i crediti appropriati, un collegamento alla licenza e indicare se sono state apportate modifiche. Puoi farlo in qualsiasi modo ragionevole, ma non in alcun modo che suggerisca che il licenziante approvi te o il tuo uso.
- condividi allo stesso modo – Se remixi, trasformi o sviluppi il materiale, devi distribuire i tuoi contributi in base alla stessa licenza o compatibile all'originale.
![]() |
È permesso copiare, distribuire e/o modificare questo documento in base ai termini della GNU Free Documentation License, Versione 1.2 o successive pubblicata dalla Free Software Foundation; senza alcuna sezione non modificabile, senza testo di copertina e senza testo di quarta di copertina. Una copia della licenza è inclusa nella sezione intitolata Testo della GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Puoi scegliere la licenza che preferisci.
Annotazioni InfoField | Questa immagine è annotata: Vedi le annotazioni su Commons |
629
225
75
72
800
800
This is a double zero
457
579
61
65
800
800
A pole
Didascalie
Aggiungi una brevissima spiegazione di ciò che questo file rappresenta
Elementi ritratti in questo file
raffigura
Valore sconosciuto senza un elemento Wikidata
27 mar 2010
image/jpeg
a8d04a91ab03b58d2ace93c2b2f769cf6b0ccbe7
207 059 byte
800 pixel
800 pixel
Cronologia del file
Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.
Data/Ora | Miniatura | Dimensioni | Utente | Commento | |
---|---|---|---|---|---|
attuale | 00:58, 24 mar 2013 | ![]() | 800 × 800 (202 KB) | Yourmomblah | Higher quality |
04:02, 27 mar 2010 | ![]() | 800 × 800 (234 KB) | Jan Winnicki | {{Information |Description={{en|1=Colour plot of complex function (x² - 1) * (x² - I)² / (x² + 2 + 2I), hue represents the argument, sat and value represents the modulo. Contours distinguish intervals [e^i, e^(i+1)] where i=0,1,2... Shadow is on the h |
Pagine che usano questo file
Nessuna pagina utilizza questo file.
Utilizzo globale del file
Anche i seguenti wiki usano questo file:
- Usato nelle seguenti pagine di ar.wikipedia.org:
- Usato nelle seguenti pagine di de.wikipedia.org:
- Usato nelle seguenti pagine di en.wikipedia.org:
- Usato nelle seguenti pagine di fr.wikipedia.org:
- Usato nelle seguenti pagine di pl.wikipedia.org: