File:3D chess grid.png

From Wikiversity
Jump to navigation Jump to search

Original file(6,000 × 6,000 pixels, file size: 2.98 MB, MIME type: image/png)

This is a file from the Wikimedia Commons. The description on its description page there is shown below.

Commons is a freely licensed media file repository. You can help.

Summary

Description
single cube

6×6×6 chess space
Each field has a parity (black, white) and a color (red, green, blue, yellow).

 
This image was created with POV-Ray.
Source Own work
Author
Watchduck
You can name the author as "T. Piesk", "Tilman Piesk" or "Watchduck".

POV-Ray source

#version 3.6;
global_settings { assumed_gamma 1.0 }
#default{ finish{ ambient 0.1 diffuse 0.9 conserve_energy}}

#include "colors.inc"


#declare OptionCuboid = 0;

global_settings { assumed_gamma 1.0 }

#declare Camera_Position = vnormalize(<13.2, 10.5, -45>) * 25.5;

camera{
	  orthographic
    location Camera_Position
    right    x*image_width/image_height
	  #if (OptionCuboid)  angle 16.5  #else  angle 14.7  #end
    look_at  <0, 0, 0>
}

light_source{ <-400, 500, -300> color White*0.9 shadowless}
light_source{ <400, 200, 100> color White*0.7 shadowless}
light_source{ Camera_Position  color rgb<0.9,0.9,1>*0.3 shadowless}
sky_sphere{ pigment{ White } }


#declare VertexRadius = .053;  // .07

#declare CutOffset = VertexRadius * .26;
#declare Cutter = box{ <-CutOffset, -99, -99>, <CutOffset, 99, 99> }
#declare Cutter = union {
  object{ Cutter }
  object{ Cutter  rotate 90*y }
  object{ Cutter  rotate 90*z }
}

//////////////////////////// sphere macro

#macro put_sphere(sx, sy, sz)

    #if (mod(sx+sy+sz, 2)=0)
      #declare ParityColor = srgb .25;
    #else
      #declare ParityColor = srgb 1;
    #end
    
    #local Octal = 1 * mod(sx+9, 2) + 4 * mod(sy+9, 2) + 2 * mod(sz+9, 2);
    #if (Octal = 3 | Octal = 4)
      #local Color = srgb<89,131,255>/255;  // blue
    #end
    #if (Octal = 0 | Octal = 7)
      #local Color = srgb<241,175,89>/255;  // yellow
    #end
    #if (Octal = 2 | Octal = 5)
      #local Color = srgb<89,182,89>/255;  // green
    #end
    #if (Octal = 1 | Octal = 6)
      #local Color = srgb<255,89,89>/255;  // red
    #end
    
    intersection{
      sphere{ <sx,sy,sz>, VertexRadius }
      object{ Cutter  translate <sx, sy, sz> }
      pigment{color ParityColor}
    }
    
    sphere{ <sx,sy,sz>, VertexRadius * .95
      pigment{color Color}
    }

#end


//////////////////////////// cube vertices

#declare CubeVertexSpheres = union{
    #for(i, 0, 1)
      #for(j, 0, 1)
        #for(k, 0, 1)
            put_sphere(i,j,k)
        #end
      #end
    #end
}


//////////////////////////// cube faces

#declare EdgeRadius = .005;

#declare GrayCube = union{
    union{
        cylinder{ <-.5, -.5, 0>, <.5, -.5, 0>, EdgeRadius }
        cylinder{ <.5, -.5, 0>, <.5, .5, 0>, EdgeRadius }
        cylinder{ <.5, .5, 0>, <-.5, .5, 0>, EdgeRadius }
        cylinder{ <-.5, .5, 0>, <-.5, -.5, 0>, EdgeRadius }
        pigment{color rgbt <.8, .8, .8, .5>}
    }
    polygon{ 5, <-.5, -.5, 0>, <.5, -.5, 0>, <.5, .5, 0>, <-.5, .5, 0>, <-.5, -.5, 0>  pigment{ color rgbt <1, 1, 1, .8> } }
}
#declare GrayCube = union{ object{GrayCube translate .5*z} object{GrayCube translate -.5*z} }
#declare GrayCube = union{ object{GrayCube} object{GrayCube rotate 90*x} object{GrayCube rotate 90*y} translate .5 }


//////////////////////////// cubes

#declare Cube = union{
    object{GrayCube}
    
    object{CubeVertexSpheres}

    
    #if (OptionCuboid)
        translate <-2.5, -2.5, -3.5>
    #else
        translate <-2.5, -2.5, -2.5>
    #end
}


#for(i, 0, 2)
  #for(j, 0, 2)
    #for(k, 0, 2 + OptionCuboid)
        object{ Cube  translate <2*i, 2*j, 2*k> }
    #end
  #end
#end

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
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.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

image/png

abbfd78152640c1c78eabf907296995829d266a3

3,120,510 byte

6,000 pixel

6,000 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current17:28, 15 October 2023Thumbnail for version as of 17:28, 15 October 20236,000 × 6,000 (2.98 MB)Watchducktransparent background
17:15, 15 October 2023Thumbnail for version as of 17:15, 15 October 20236,000 × 6,000 (2.71 MB)WatchduckUploaded own work with UploadWizard

The following page uses this file:

Metadata