File:Tesseract_tetrahedron_shadow_with_alternating_vertex_colors,_lower_cube.png
维基百科,自由的 encyclopedia
本预览的尺寸:544 × 599像素。 其他分辨率:218 × 240像素 | 436 × 480像素 | 698 × 768像素 | 930 × 1,024像素 | 1,860 × 2,048像素 | 3,624 × 3,990像素。
原始文件 (3,624 × 3,990像素,文件大小:829 KB,MIME类型:image/png)
摘要
描述Tesseract tetrahedron shadow with alternating vertex colors, lower cube.png |
One vertex in the preimage of this cube is the projection center, and this vertex is therefore not shown in the image. 本图片使用POV-Ray创作. |
||
来源 | 自己的作品 | ||
作者 |
|
许可协议
我,本作品著作权人,特此采用以下许可协议发表本作品:
已授权您依据自由软件基金会发行的无固定段落及封面封底文字(Invariant Sections, Front-Cover Texts, and Back-Cover Texts)的GNU自由文件许可协议1.2版或任意后续版本的条款,复制、传播和/或修改本文件。该协议的副本请见“GNU Free Documentation License”。http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
您可以选择您需要的许可协议。
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"
///////////////////////////// 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 EdgeColor = <.5, .5, .5, 0>;
#declare TransparentEdgeColor = <.5, .5, .5, .95>;
#declare LightVertexColor = <.5, .8*.5, .65*.5, 0>;
#declare DarkVertexColor = <.2, .8*.2, .65*.2, 0>;
#declare TransparentLightVertexColor = <.5, .8*.5, .65*.5, .95>;
#declare TransparentDarkVertexColor = <.2, .8*.2, .65*.2, .95>;
#declare RedFaceColor = <1, 0, 0, .18>;
/////////////////////////////////////////////////////////////////////////////////////////////////
#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 TransparentVertices = array[8]{ 2, 3, 6, 10, 7, 11, 14, 15 };
#declare SolidVertices = array[7]{ 1, 4, 8, 5, 9, 12, 13 };
#declare TransparentEdges = array[19]{ 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]{2, 3}, array[2]{2, 6}, array[2]{2, 10}, array[2]{3, 7}, array[2]{3, 11}, array[2]{6, 7}, array[2]{6, 14}, array[2]{10, 11}, array[2]{10, 14}, array[2]{7, 15}, array[2]{11, 15}, array[2]{14, 15} }
#declare SolidEdges = array[9]{ array[2]{1, 9}, array[2]{1, 5}, array[2]{8, 9}, array[2]{8, 12}, array[2]{4, 5}, array[2]{4, 12}, array[2]{5, 13}, array[2]{9, 13}, array[2]{12, 13} }
#declare Faces = array[3]{ array[4]{9, 1, 5, 13}, array[4]{12, 4, 5, 13}, array[4]{12, 8, 9, 13} }
/////////////////////////////////////////////////////////////////////////////////////////////////
union{
// TRANSPARENT VERTICES AND EDGES
merge{
union{
#for( i, 0, dimension_size(TransparentVertices, 1)-1 )
#local VertexIndex = TransparentVertices[i] - 1;
#local Rank = VertexRanks[VertexIndex];
#local FakeRank = FakeRanks[Rank];
#local Rad = .05 + pow(10-FakeRank, 2) / 600;
sphere{ VertexPoints[VertexIndex]*Factor, Rad
#if(VertexRankParities[VertexIndex])
pigment{color rgbt TransparentDarkVertexColor}
#else
pigment{color rgbt TransparentLightVertexColor}
#end
}
#end
}
union{
#for( i, 0, dimension_size(TransparentEdges, 1)-1 )
#local Edge = TransparentEdges[i];
#local VertexIndex1 = Edge[0] - 1;
#local VertexIndex2 = Edge[1] - 1;
#local Point1 = VertexPoints[VertexIndex1]*Factor;
#local Point2 = VertexPoints[VertexIndex2]*Factor;
#local Rank1 = VertexRanks[VertexIndex1];
#local Rank2 = VertexRanks[VertexIndex2];
#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 rgbt TransparentEdgeColor}
}
}
// SOLID VERTICES
union{
#for( i, 0, dimension_size(SolidVertices, 1)-1 )
#local VertexIndex = SolidVertices[i] - 1;
#local Rank = VertexRanks[VertexIndex];
#local FakeRank = FakeRanks[Rank];
#local Rad = .05 + pow(10-FakeRank, 2) / 600;
sphere{ VertexPoints[VertexIndex]*Factor, Rad
#if(VertexRankParities[VertexIndex])
pigment{color rgbt DarkVertexColor}
#else
pigment{color rgbt LightVertexColor}
#end
}
#end
}
// SOLID EDGES
union{
#for( i, 0, dimension_size(SolidEdges, 1)-1 )
#local Edge = SolidEdges[i];
#local VertexIndex1 = Edge[0] - 1;
#local VertexIndex2 = Edge[1] - 1;
#local Point1 = VertexPoints[VertexIndex1]*Factor;
#local Point2 = VertexPoints[VertexIndex2]*Factor;
#local Rank1 = VertexRanks[VertexIndex1];
#local Rank2 = VertexRanks[VertexIndex2];
#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 rgbt EdgeColor}
}
// 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 RedFaceColor}
}
rotate -90*x
rotate 4*y
rotate 4*z
}
此文件中描述的项目
描绘内容
知识共享署名4.0国际 简体中文(已转写)
GNU自由文档许可证1.2或更高版本 简体中文(已转写)
媒体类型 简体中文(已转写)
image/png
文件历史
点击某个日期/时间查看对应时刻的文件。
日期/时间 | 缩略图 | 大小 | 用户 | 备注 | |
---|---|---|---|---|---|
当前 | 2018年3月31日 (六) 20:26 | 3,624 × 3,990(829 KB) | Watchduck |
文件用途
没有页面使用本文件。
元数据
此文件中包含有扩展的信息。这些信息可能是由数码相机或扫描仪在创建或数字化过程中所添加。
如果此文件的源文件已经被修改,一些信息在修改后的文件中将不能完全反映出来。
PNG文件备注 |
|
---|---|
水平分辨率 | 28.35 dpc |
垂直分辨率 | 28.35 dpc |
文件修改日期时间 | 2018年3月31日 (六) 15:38 |