File:Aliased.png

Summary

Description
English: Aliased chessboard
Date 24 January 2003 (original upload date)
Source Created with a variant of this program, which I (Loisel 03:56 Jan 24, 2003 (UTC)) wrote myself.
Author Loisel at English Wikipedia

Licensing

Loisel at the English Wikipedia, the copyright holder of this work, hereby publishes it under the following license:
GNU head 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.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Attribution:
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
Category:CC-BY-SA-3.0-migrated#Aliased.pngCategory:License migration completed#Aliased.pngCategory:GFDL#Aliased.png
Category:Self-published workCategory:User-created GFDL images#Aliased.png


C src code

Original code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <assert.h>
int color(double x, double y)
{
  double t,z;
  int i,j,k;

  x=x/128.0-0.5;
  y=y/2048.0;

  t=1.0/(y+0.001);
  z=t*x;
  i=floor(t);
  j=floor(z);
  k=i+j;
  /*  printf("%f %f -> %i %i %i\n",t,z,i,j,k%2); */
  return ((k%2)!=0);
}

double myrand()
{
  return rand()/((double)RAND_MAX);
}

int main()
{
  int i,j,k,l;
  double x,y;
  printf("P5\n128 128\n255\n");
  srand(time(0));
  for(i=0;i<128;i++)
    for(j=0;j<128;j++)
      {
 k=0;
 for(l=0;l<255;l++)
   {
     x=j+myrand();
     y=i+myrand();
     k+=color(x,y);
   }
 assert(k>=0 && k<=255);
 putchar(k);
      }
}

New code with only small changes :

To compile :

 gcc a.c -Wall -lm

to run :

./a.out >a.pgm

To convert using Image Magic :

convert 5000.pgm -resize 1000x1000 a.png


// https://commons.wikimedia.org/wiki/File:Aliased.png
// gcc a.c -Wall -lm
//  gcc a.c -Wall -lm
// ./a.out >a.pgm


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <assert.h>



int iMax =5000;
int jMax ; 



int color(double x, double y)
{
  double t,z;
  int i,j,k;

  
  x=x/(1.0*iMax)-0.5;
  y=y/(jMax*6);
 
  t=1.0/(y+0.001);
  z=t*x;
  i=floor(t);
  j=floor(z);
  k=i+j;
  /*  printf("%f %f -> %i %i %i\n",t,z,i,j,k%2); */
  return ((k%2)!=0);
}
 
double myrand()
{
  return rand()/((double)RAND_MAX);
}
 
int main()
{
  int i,j,k,l;
  double x,y;
 
  jMax = iMax;


  printf("P5\n %d %d\n255\n", iMax, jMax);
  srand(time(0));
  

  for(i=0;i<iMax;i++)
    for(j=0;j<jMax;j++)
      {
        k=0;
        for(l=0;l<255;l++)
	  {
	    x=j+myrand();
	    y=i+myrand();
	    k+=color(x,y);
	  }
        assert(k>=0 && k<=255);
        putchar(k);
      }

  return 0;

}

Source code was formatted with Emacs using GNU style.

Original upload log

The original description page was here. All following user names refer to en.wikipedia.
  • 2007-09-15 05:17 Dicklyon 128×128×8 (892 bytes) Reverted to version as of 13:34, 30 September 2005
  • 2007-09-14 22:56 AzaToth 1600×1200×8 (42986 bytes) remade it in povray
  • 2005-09-30 13:34 Riumplus 128×128×8 (892 bytes) Losslessly recompressed the image, shrinking file size by 39%
  • 2003-01-24 20:28 Loisel 128×128×8 (1450 bytes) slightly bugfixed image
Category:Created with Persistence of Vision Category:Images with C source code Category:Aliasing Category:Checkered Category:Graphical projection
Category:Aliasing Category:CC-BY-SA-3.0-migrated Category:Checkered Category:Created with Persistence of Vision Category:GFDL Category:Graphical projection Category:Images with C source code Category:License migration completed Category:Pages using deprecated source tags Category:Self-published work Category:User-created GFDL images