コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

ファイル:Coloured Voronoi 2D.png

ページのコンテンツが他言語でサポートされていません。

Coloured_Voronoi_2D.png (333 × 333 ピクセル、ファイルサイズ: 23キロバイト、MIME タイプ: image/png)

en.wikipedia からコモンズに Maksim によって移動されました。

元のファイルページはこちら。以下の利用者は全てen.wikipediaに属します。

Coloured 2D Voronoi diagram, made by me.

GNU head この文書は、フリーソフトウェア財団発行のGNUフリー文書利用許諾書 (GNU Free Documentation License) 1.2またはそれ以降のバージョンの規約に基づき、複製や再配布、改変が許可されます。不可変更部分、表紙、背表紙はありません。このライセンスの複製は、GNUフリー文書利用許諾書という章に含まれています。
w:ja:クリエイティブ・コモンズ
表示 継承
このファイルはクリエイティブ・コモンズ 表示-継承 3.0 非移植ライセンスのもとに利用を許諾されています。
あなたは以下の条件に従う場合に限り、自由に
  • 共有 – 本作品を複製、頒布、展示、実演できます。
  • 再構成 – 二次的著作物を作成できます。
あなたの従うべき条件は以下の通りです。
  • 表示 – あなたは適切なクレジットを表示し、ライセンスへのリンクを提供し、変更があったらその旨を示さなければなりません。これらは合理的であればどのような方法で行っても構いませんが、許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きます。
  • 継承 – もしあなたがこの作品をリミックスしたり、改変したり、加工した場合には、あなたはあなたの貢献部分を元の作品とこれと同一または互換性があるライセンスの下に頒布しなければなりません。
このライセンスのテンプレートは、GFDLのライセンス・アップデートによりこのファイルに追加されたものです。
このファイルのベクター画像 (SVG) が利用できます。 使う目的に対し、元画像よりもSVGがより優れている場合、SVG画像を使用して下さい。

File:Coloured Voronoi 2D.png → File:coloured Voronoi 2D.svg

ベクターグラフィックスの詳細については、コモンズのSVG変換を参照ください。
SVGのMediaWikiのサポートに関する情報もあります。

他言語
Alemannisch  Bahasa Indonesia  Bahasa Melayu  British English  català  čeština  dansk  Deutsch  eesti  English  español  Esperanto  euskara  français  Frysk  galego  hrvatski  Ido  italiano  lietuvių  magyar  Nederlands  norsk bokmål  norsk nynorsk  occitan  Plattdüütsch  polski  português  português do Brasil  română  Scots  sicilianu  slovenčina  slovenščina  suomi  svenska  Tiếng Việt  Türkçe  vèneto  Ελληνικά  беларуская (тарашкевіца)  български  македонски  нохчийн  русский  српски / srpski  татарча/tatarça  українська  ქართული  հայերեն  বাংলা  தமிழ்  മലയാളം  ไทย  한국어  日本語  简体中文  繁體中文  עברית  العربية  فارسی  +/−
新しいSVG画像

GNU head

この作品は自由ソフトウェアです。あなたは、フリーソフトウェア財団の発行する GNU 一般公衆利用許諾書 (GNU General Public License) (バージョン2、またはそれ以降のライセンス) の規約に基づき、このライブラリの再配布や改変ができます。この作品は、有用であることを期待して配布されていますが、商用あるいは特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。詳しくは、バージョン2およびバージョン3のGNU 一般公衆利用許諾書をご覧ください。


#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);
}

ja:画像:Coloured Voronoi 2D.png

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}})

元のアップロードログ

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 } })

キャプション

このファイルの内容を1行で記述してください

このファイルに描写されている項目

題材

55df23967ec8bb3261fa1654ba1db3afabc5e87b

23,852 バイト

333 ピクセル

333 ピクセル

ファイルの履歴

過去の版のファイルを表示するには、その版の日時をクリックしてください。

日付と時刻サムネイル寸法利用者コメント
現在の版2006年3月20日 (月) 19:492006年3月20日 (月) 19:49時点における版のサムネイル333 × 333 (23キロバイト)MaksimLa 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

このファイルを使用しているページはありません。

グローバルなファイル使用状況

メタデータ