File:Tesseract tetrahedron shadow with alternating vertex colors.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(3,624 × 3,990 pixels, file size: 922 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
lower dimensional equivalent: triangular shadow of a 3D cube

The central projection of the tesseract from a vertex gives a 3-dimensional shadow with a tetrahedral convex hull.

This file was created to match File:Concertina tesseract with blue faces.png.

Projections of two opposite cubes, the upper complete and the lower with only seven vertices
 
This image was created with POV-Ray.
Source Own work
Author
Watchduck
You can name the author as "T. Piesk", "Tilman Piesk" or "Watchduck".
Other versions

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following licenses:
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
This file is licensed under the Creative Commons Attribution 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.
You may select the license of your choice.


POV-Ray source[edit]

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

#include "colors.inc"


///////////////////////////// camera and light

#declare Camera_Position = <10, 16, -50>;
camera{
    location Camera_Position
    right    x*image_width/image_height
    angle    11.3
    look_at  <.7, 1.1, 0>
}

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


/////////////////////////////////////////////////////////////////////////////////////////////////


#declare Factor = 7;

#declare VertexPoints = array[15]{ <-0.7071067811865475, -0.408248290463863, -0.28867513459481287>, <0.0, 0.0, 0.8660254037844386>, <-0.35355339059327373, -0.2041241452319315, 0.28867513459481287>, <0.0, 0.816496580927726, -0.28867513459481287>, <-0.35355339059327373, 0.2041241452319315, -0.28867513459481287>, <0.0, 0.408248290463863, 0.28867513459481287>, <-0.2357022603955158, 0.13608276348795434, 0.09622504486493762>, <0.7071067811865475, -0.408248290463863, -0.28867513459481287>, <0.0, -0.408248290463863, -0.28867513459481287>, <0.35355339059327373, -0.2041241452319315, 0.28867513459481287>, <0.0, -0.2721655269759087, 0.09622504486493762>, <0.35355339059327373, 0.2041241452319315, -0.28867513459481287>, <0.0, 0.0, -0.28867513459481287>, <0.2357022603955158, 0.13608276348795434, 0.09622504486493762>, <0.0, 0.0, 0.0> }

#declare VertexRanks = array[15]{ 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 }

#declare FakeRanks = array[5]{0, 1, 3, 6, 10};

#declare VertexRankParities = array[15]{ 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0 }

#declare Edges = array[28]{ array[2]{2, 3}, array[2]{4, 5}, array[2]{6, 7}, array[2]{8, 9}, array[2]{10, 11}, array[2]{12, 13}, array[2]{14, 15}, array[2]{1, 3}, array[2]{4, 6}, array[2]{5, 7}, array[2]{8, 10}, array[2]{9, 11}, array[2]{12, 14}, array[2]{13, 15}, array[2]{1, 5}, array[2]{2, 6}, array[2]{3, 7}, array[2]{8, 12}, array[2]{9, 13}, array[2]{10, 14}, array[2]{11, 15}, array[2]{1, 9}, array[2]{2, 10}, array[2]{3, 11}, array[2]{4, 12}, array[2]{5, 13}, array[2]{6, 14}, array[2]{7, 15} }

#declare Faces = array[18]{ array[4]{5, 1, 3, 7}, array[4]{6, 2, 3, 7}, array[4]{6, 4, 5, 7}, array[4]{10, 8, 9, 11}, array[4]{9, 1, 3, 11}, array[4]{10, 2, 3, 11}, array[4]{12, 4, 5, 13}, array[4]{12, 8, 9, 13}, array[4]{9, 1, 5, 13}, array[4]{12, 4, 6, 14}, array[4]{12, 8, 10, 14}, array[4]{10, 2, 6, 14}, array[4]{11, 3, 7, 15}, array[4]{14, 6, 7, 15}, array[4]{14, 10, 11, 15}, array[4]{13, 9, 11, 15}, array[4]{14, 12, 13, 15}, array[4]{13, 5, 7, 15} }


/////////////////////////////////////////////////////////////////////////////////////////////////


union{

    // VERTICES
    union{
        #for( i, 0, dimension_size(VertexPoints, 1)-1 )
            #local Rank = VertexRanks[i];
            #local FakeRank = FakeRanks[Rank];
            #local Rad = .05 + pow(10-FakeRank, 2) / 600;
            sphere{ VertexPoints[i]*Factor, Rad 
                #if(VertexRankParities[i])
                    pigment{color rgb<1,0.8,0.65>*.2}
                #else
                    pigment{color rgb<1,0.8,0.65>*.5}
                #end
            }
        #end
    }

    // EDGES
    union{
        #for( i, 0, dimension_size(Edges, 1)-1 )
            #local Edge = Edges[i];
            #local Index1 = Edge[0] - 1;
            #local Index2 = Edge[1] - 1;
            #local Point1 = VertexPoints[Index1]*Factor;
            #local Point2 = VertexPoints[Index2]*Factor;
            #local Rank1 = VertexRanks[Index1];
            #local Rank2 = VertexRanks[Index2];
            #local FakeRank1 = FakeRanks[Rank1];
            #local FakeRank2 = FakeRanks[Rank2];
            #local Rad1 = (.05 + pow(10-FakeRank1, 2) / 600) / 3.5;
            #local Rad2 = (.05 + pow(10-FakeRank2, 2) / 600) / 3.5;
            cone{ Point1, Rad1, Point2, Rad2 }
        #end
        pigment{color rgb .5}
    }

    // FACES
    union{
        #for( i, 0, dimension_size(Faces, 1)-1 )
            #local FaceArray = Faces[i];
            #local LenOfFaceArray = dimension_size(FaceArray, 1);
            polygon{ LenOfFaceArray,
                #for(VertexIndexInFace, 0, LenOfFaceArray-1)
                    #local VertexIndexInPolytope = FaceArray[VertexIndexInFace] - 1;
                    VertexPoints[VertexIndexInPolytope]*Factor
                #end
            }
        #end
        pigment{color rgbt<0, 0, 1, .8>}
    }
    
    rotate -90*x
    rotate 4*y
    rotate 4*z
}

File history

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

Date/TimeThumbnailDimensionsUserComment
current20:26, 31 March 2018Thumbnail for version as of 20:26, 31 March 20183,624 × 3,990 (922 KB)Watchduck (talk | contribs)

File usage on other wikis

The following other wikis use this file:

Metadata