File:Coloured Voronoi 2D.png
Coloured_Voronoi_2D.png (333 × 333 pixels, file size: 23 KB, MIME type: image/png)
Captions
Transferred from en.wikipedia to Commons by Maksim.
Coloured 2D Voronoi diagram, made by me.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. | ||
| ||
This licensing tag was added to this file as part of the GFDL licensing update.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
File:coloured Voronoi 2D.svg is a vector version of this file. It should be used in place of this PNG file when not inferior.
File:Coloured Voronoi 2D.png → File:coloured Voronoi 2D.svg
For more information, see Help:SVG.
|
This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See version 2 and version 3 of the GNU General Public License for more details.http://www.gnu.org/licenses/gpl.htmlGPLGNU General Public Licensetruetrue |
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #define PI 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825 #define PI2 (PI*2) #define SQ2 1.414213562373095048801688724209698078569671875376948073176679737990732478462 #define FI 1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204 #define SX 666 #define SY 666 #define NPT 100 #define RSD 666 #define V3D 0 /* #define SX 666 #define SY 666 #define NPT 1000 #define RSD 1923879 #define V3D 1 */ #define BPL ((SX*3+3)&~3) void seedr(unsigned int); unsigned int rnd(); unsigned int rndm(unsigned int); unsigned char bhdr[54]={ 0x42, 0x4D, 0x36, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; unsigned char po[BPL]; double gr[SY][SX][3]; void drawit(); int main(int a, char **b) { FILE *o; int x, y, c; double t; unsigned char *p; srand(time(0)); drawit(); p=bhdr+2; *p++=x=54+BPL*SY; *p++=x>>=8; *p++=x>>=8; *p=x>>=8; p=bhdr+18; *p++=x=SX; *p++=x>>=8; *p++=x>>=8; *p++=x>>=8; *p++=x=SY; *p++=x>>=8; *p++=x>>=8; *p=x>>=8; if(!(o=fopen("voronoi.bmp", "wb"))) { fclose(o); printf("Couldn't open output file.\n"); return(0); } fwrite(bhdr, 54, 1, o); for(x=SX*3;x<BPL;++x) po[x]=0; for(y=SY-1;~y;--y) { for(x=0,p=po;x<SX;++x) for(c=2;~c;--c) *p++=(t=gr[y][x][c])<=0?0:(t>=1?255:t*255); fwrite(po, BPL, 1, o); } fclose(o); return(0); } int ptx[NPT], pty[NPT], ptz[NPT]; double ptc[NPT][3]; void drawit() { int x, y, c, n, bn, dx, dy, dz; unsigned int m, p; seedr(RSD); for(n=0;n<NPT;++n) { ptx[n]=rndm(SX); pty[n]=rndm(SX); ptz[n]=(!!V3D)*(rndm(SX)-SX/2); for(c=0;c<3;++c) ptc[n][c]=rnd()/(double)~0u; } for(y=0;y<SY;++y) for(x=0;x<SY;++x) { for(n=0,m=~0;n<NPT;++n) { dx=x-ptx[n]; dy=y-pty[n]; dz=-ptz[n]; p=dx*dx+dy*dy+dz*dz; if(p<m) { m=p; bn=n; } } for(c=0;c<3;++c) gr[y][x][c]=ptc[bn][c]; } if(!V3D) for(n=0;n<NPT;++n) for(y=-1+!pty[n];y<=1-(pty[n]==SY-1);++y) for(x=-1+!ptx[n];x<=1-(ptx[n]==SX-1);++x) for(c=0;c<3;++c) gr[pty[n]+y][ptx[n]+x][c]=0; } unsigned int rseeda[624]; int rseedu; void seedr(unsigned int s) { int n; rseedu=624; rseeda[0]=s; for(n=1;n<624;++n) rseeda[n]=s*=69069u; } #define TEMPBLAH(x,y,z) { v=(rseeda[x]&0x80000000)|(rseeda[y]&0x7fffffff);\ rseeda[x]=rseeda[z]^(v>>1)^(0x9908b0df&(0-(v&1)));} void gennewr() { int n; unsigned int v; for(n=0;n<227;++n) TEMPBLAH(n, n+1, n+397); for(;n<623;++n) TEMPBLAH(n, n+1, n-227); TEMPBLAH(623, 0, 396); rseedu=0; } #undef TEMPBLAH unsigned int rnd() { if(rseedu>=624) gennewr(); unsigned int v=rseeda[rseedu++]; v^=v>>11; v^=(v<<7)&0x9d2c5680; v^=(v<<15)&0xefc60000; v^=v>>18; return(v); } unsigned int rndm(unsigned int m) { unsigned int v, c=(0u-m)/m; while((v=rnd())/m>c); return(v%m); }
date/time | username | edit summary |
---|---|---|
18:11, 7 September 2005 | en:User:Ja seed | (+ja) |
12:04, 25 January 2005 | en:User:Voinic | (char *p -> unsigned char *p;) |
20:18, 14 October 2004 | en:User:Cyp | (+Image generator source code, made by me) |
20:16, 14 October 2004 | en:User:Cyp | (Coloured 2D Voronoi diagram, made by me. {{GFDL}}) |
Original upload log[edit]
Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.
Click on date to download the file or see the image uploaded on that date.
- (del) (cur) 20:16, 14 October 2004 . . en:User:Cyp Cyp ( en:User_talk:Cyp Talk) . . 333x333 (23852 bytes) (Coloured 2D Voronoi diagram, made by me. { { GFDL } })
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 19:49, 20 March 2006 | 333 × 333 (23 KB) | Maksim (talk | contribs) | La bildo estas kopiita de wikipedia:en. La originala priskribo estas: Coloured 2D Voronoi diagram, made by me. {{GFDL}} //{{GPL}}<pre> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #define PI 3.1415926535897932384626433832 |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on cs.wikipedia.org
- Usage on de.wikipedia.org
- Usage on en.wikipedia.org
- Usage on es.wikipedia.org
- Usage on fr.wikipedia.org
- Diagramme de Voronoï
- Discussion:Diagramme de Voronoï
- Fouille de données spatiales
- Wikipédia:Le saviez-vous ?/Archives/2014
- Utilisateur:GhosterBot/BacASable/testStat/TOP50
- Utilisateur:GhosterBot/BacASable/testStat bis/Visibilité des anecdotes
- Utilisateur:GhosterBot/BacASable/testStat bis/Visibilité des anecdotes (2014)
- Utilisateur:GhosterBot/BacASable/testStat b/Visibilité des anecdotes
- Utilisateur:GhosterBot/BacASable/testStat b/Visibilité des anecdotes (2014)
- Utilisateur:GhosterBot/BacASable/testStat/Visibilité des anecdotes (2014)
- Wikipédia:Statistiques des anecdotes de la page d'accueil/Visibilité des anecdotes (2014)
- Wikipédia:Statistiques des anecdotes de la page d'accueil/Visibilité des anecdotes (2014)/2014 12
- Usage on it.wikipedia.org
- Usage on pl.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
PNG file comment | |
---|---|
Horizontal resolution | 28.34 dpc |
Vertical resolution | 28.34 dpc |