Պատկեր:Coloured Voronoi 3D slice.png

Page contents not supported in other languages.
Վիքիպեդիայից՝ ազատ հանրագիտարանից

Coloured_Voronoi_3D_slice.png(333 × 333 փիքսել, նիշքի չափը՝ 26 ԿԲ, MIME-տեսակը՝ image/png)

Այս նիշքը տեղադրված է Վիքիպահեստում է և այն կարող է օգտագործվել այլ նախագծերի կողմից։ Վիքիպահեստում նիշքի մասին տեղեկությունների հիմնական մասը ներկայացված է ստորև։

Please translate the English parts of this template into Armenian.
Գոյություն ունի այս պատկերի վեկտորային տարբերակը ("SVG"): Եթե այն իր ռաստրային տարբերակից ավելի որակյալ է, ապա գերադասելի է նրա օգտագործումը:

File:Coloured Voronoi 3D slice.png → File:Coloured Voronoi 3D slice.svg

Վեկտորային գրաֆիկայի մասին ավելին իմանալու համար կարող եք կարդալ պատկերների փոխադրման մասին SVG ֆորմատի:
Նաև մատչելի են տեղեկություններ SVG ֆորմատի աջակցման մասին ՄեդիաՎիքիյում:

Այլ լեզուներով
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  українська  ქართული  հայերեն  বাংলা  தமிழ்  മലയാളം  ไทย  한국어  日本語  简体中文  繁體中文  עברית  العربية  فارسی  +/−
Նոր պատկեր

Transferred from en.wikipedia to Commons by Maksim.

The original description page was here. All following user names refer to en.wikipedia.

Coloured slice of a 3D Voronoi diagram, made by me.

GNU head Այս վավերագրման պատճենահանման, տարածման և/կամ ձևափոխման թույլտվություն կամ լիցենզիայի GNU FDL պայմաններով 1.2 մեկնակերպի կամ ավելի ուշ, հրատարակված Ազատ ծրագրային ապահովության հիմնադրամում, առանց անփոփոխելի հատվածների, առանց բնագիրների, որոնք տեղադրված են առաջին և վերջին շապիկներում: Լիցենզիայի պատճենը գտնվում է GNU Free Documentation License հատվածում:
w:en:Creative Commons
հղում համանման տարածում
Այս նիշքը հասանելի է Creative Commons Attribution-Share Alike 3.0 Unported արտոնագրի ներքո:
Դուք ազատ եք՝
  • կիսվել ստեղծագործությամբ – պատճենել, տարածել և փոխանցել այս աշխատանքը։
  • վերափոխել – ադապտացնել աշխատանքը
Պահպանելով հետևյալ պայմանները'
  • հղում – Դուք պետք է նշեք հեղինակի (իրավատիրոջ) հղումը:
  • համանման տարածում – Եթե դուք ձևափոխում եք, փոխակերպում, կամ այս աշխատանքի հիման վրա ստեղծում եք նոր աշխատանք, ապա ձեր ստեղծածը կարող է տարածվել միայն նույն կամ համարժեք թույլատրագրով։
Այս արտոնգրության հատկանիշը ավելացված է տվյալ նիշքին որպես GFDL արտոնագրի բարեփոխում:

//

GNU head

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.

#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;
  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
20:18, 14 October 2004 en:User:Cyp (+Image generator source code, made by me)
20:16, 14 October 2004 en:User:Cyp (Coloured slice of a 3D Voronoi diagram, made by me. {{GFDL}})

Original upload log

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 (27132 bytes) (Coloured slice of a 3D Voronoi diagram, made by me. { { GFDL } })

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

պատկերված

checksum անգլերեն

5a88b138ac30ea0ea67c10ca77189464e6fe7c26

data size անգլերեն

27 132 Բայթ

333 փիքսել

333 փիքսել

Նիշքի պատմություն

Մատնահարեք օրվան/ժամին՝ նիշքի այդ պահին տեսքը դիտելու համար։

Օր/ԺամՄանրապատկերՕբյեկտի չափըՄասնակիցՄեկնաբանություն
ընթացիկ19:50, 20 Մարտի 200619:50, 20 Մարտի 2006 տարբերակի մանրապատկերը333 × 333 (26 ԿԲ)MaksimLa bildo estas kopiita de wikipedia:en. La originala priskribo estas: Coloured slice of a 3D Voronoi diagram, made by me. {{GFDL}} //{{GPL}}<pre> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #define PI 3.14159265358979323

Նիշքի համընդհանուր օգտագործում

Հետևյալ այլ վիքիները օգտագործում են այս նիշքը՝