파일:Hexahedron.jpg
문서 내용이 다른 언어로는 지원되지 않습니다.
보이기
위키백과, 우리 모두의 백과사전.
미리 보기 크기: 538 × 599 픽셀 다른 해상도: 216 × 240 픽셀 | 431 × 480 픽셀 | 742 × 826 픽셀
원본 파일 (742 × 826 픽셀, 파일 크기: 51 KB, MIME 종류: image/jpeg)
파일 설명
설명Hexahedron.jpg |
English: A Hexahedron (cube). A regular polyhedron. |
출처 | see below |
저자 | The original uploader was 영어 위키백과의 Cyp. |
이 그림은 벡터 그래픽 버전(SVG)이 있습니다. 래스터(비트맵) 그림 대신 벡터 그래픽 그림을 사용하는 것이 좋습니다.
File:Hexahedron.jpg → File:Hexahedron.svg
|
라이선스
GNU 자유 문서 사용 허가서 1.2판 또는 자유 소프트웨어 재단에서 발행한 이후 판의 규정에 따라 본 문서를 복제하거나 개작 및 배포할 수 있습니다. 본 문서에는 변경 불가 부분이 없으며, 앞 표지 구절과 뒷 표지 구절도 없습니다. 본 사용 허가서의 전체 내용은 GNU 자유 문서 사용 허가서 부분에 포함되어 있습니다.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
이 파일은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 Unported 라이선스로 배포됩니다. | ||
| ||
이 라이선스 틀은 GFDL 라이선스 변경의 일부로 이 파일에 추가되었습니다.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
Povray src code
Hexahedron, made by me using POV-Ray, see en:User:Cyp/Poly.pov for source.}}
//Picture *** Use flashiness=1 !!! ***
//
// w1024 h1024 a0.3 am2
// w512 h512 a0.3 am2
//
//Movie *** Use flashiness=0.25 !!! ***
//
// kc kff120 w256 h256 a0.3 am2
// kc kff60 w256 h256 a0.3 am2
//"Fast" preview
// w128 h128
#declare notwireframe=1;
#declare withreflection=0;
#declare flashiness=0.25; //Still pictures use 1, animated should probably be about 0.25.
#macro This_shape_will_be_drawn()
//PLATONIC SOLIDS ***********
//tetrahedron() #declare rotation=seed(1889/*1894*/);
//hexahedron() #declare rotation=seed(7122);
//octahedron() #declare rotation=seed(4193);
//dodecahedron() #declare rotation=seed(4412);
//icosahedron() #declare rotation=seed(7719);
//weirdahedron() #declare rotation=seed(7412);
//ARCHIMEDIAN SOLIDS ***********
//cuboctahedron() #declare rotation=seed(1941);
//icosidodecahedron() #declare rotation=seed(2241);
//truncatedtetrahedron() #declare rotation=seed(8717);
//truncatedhexahedron() #declare rotation=seed(1345);
//truncatedoctahedron() #declare rotation=seed(7235);
//truncateddodecahedron() #declare rotation=seed(9374);
//truncatedicosahedron() #declare rotation=seed(1666);
//rhombicuboctahedron() #declare rotation=seed(6124);
//truncatedcuboctahedron() #declare rotation=seed(1156);
//rhombicosidodecahedron() #declare rotation=seed(8266);
//truncatedicosidodecahedron() #declare rotation=seed(1422);
//snubhexahedron(-1) #declare rotation=seed(7152);
//snubhexahedron(1) #declare rotation=seed(1477);
//snubdodecahedron(-1) #declare rotation=seed(5111);
//snubdodecahedron(1) #declare rotation=seed(8154);
//CATALAN SOLIDS ***********
//rhombicdodecahedron() #declare rotation=seed(7154);
//rhombictriacontahedron() #declare rotation=seed(1237);
//triakistetrahedron() #declare rotation=seed(7735);
//triakisoctahedron() #declare rotation=seed(5354);
//tetrakishexahedron() #declare rotation=seed(1788);
//triakisicosahedron() #declare rotation=seed(1044);
//pentakisdodecahedron() #declare rotation=seed(6100);
//deltoidalicositetrahedron() #declare rotation=seed(5643);
//disdyakisdodecahedron() #declare rotation=seed(1440);
//deltoidalhexecontahedron() #declare rotation=seed(1026);
//disdyakistriacontahedron() #declare rotation=seed(1556);
//pentagonalicositetrahedron(-1) #declare rotation=seed(7771);
//pentagonalicositetrahedron(1) #declare rotation=seed(3470);
//pentagonalhexecontahedron(-1) #declare rotation=seed(1046);
//pentagonalhexecontahedron(1) #declare rotation=seed(1096);
//PRISMS, ANTIPRISMS, ETC... ***********
//rprism(5) #declare rotation=seed(6620);
antiprism(5) #declare rotation=seed(6620);
//bipyramid(5) #declare rotation=seed(6620);
//trapezohedron(17) #declare rotation=seed(6620);
#end
#declare tau=(1 sqrt(5))/2;
#declare sq2=sqrt(2);
#declare sq297=sqrt(297);
#declare xi=(pow(sq297 17,1/3)-pow(sq297-17,1/3)-1)/3;
#declare sqweird=sqrt(tau-5/27);
#declare ouch=pow((tau sqweird)/2,1/3) pow((tau-sqweird)/2,1/3);
#declare alfa=ouch-1/ouch;
#declare veta=(ouch tau 1/ouch)*tau;
#macro tetrahedron()
addpointsevensgn(<1,1,1>)
autoface()
#end
#macro hexahedron()
addpointssgn(<1,1,1>,<1,1,1>)
autoface()
#end
#macro octahedron()
addevenpermssgn(<1,0,0>,<1,0,0>)
autoface()
#end
#macro dodecahedron()
addpointssgn(<1,1,1>,<1,1,1>)
addevenpermssgn(<0,1/tau,tau>,<0,1,1>)
autoface()
#end
#macro icosahedron()
addevenpermssgn(<0,1,tau>,<0,1,1>)
autoface()
#end
#macro weirdahedron()
addpermssgn(<1,2,3>,<1,1,1>)
autoface()
#end
#macro cuboctahedron()
addevenpermssgn(<0,1,1>,<0,1,1>)
autoface()
#end
#macro icosidodecahedron()
addevenpermssgn(<0,0,2*tau>,<0,0,1>)
addevenpermssgn(<1,tau,1 tau>,<1,1,1>)
autoface()
#end
#macro truncatedtetrahedron()
addevenpermsevensgn(<1,1,3>)
autoface()
#end
#macro truncatedhexahedron()
addevenpermssgn(<sq2-1,1,1>,<1,1,1>)
autoface()
#end
#macro truncatedoctahedron()
addpermssgn(<0,1,2>,<0,1,1>)
autoface()
#end
#macro truncateddodecahedron()
addevenpermssgn(<0,1/tau,2 tau>,<0,1,1>)
addevenpermssgn(<1/tau,tau,2*tau>,<1,1,1>)
addevenpermssgn(<tau,2,1 tau>,<1,1,1>)
autoface()
#end
#macro truncatedicosahedron()
addevenpermssgn(<0,1,3*tau>,<0,1,1>)
addevenpermssgn(<2,1 2*tau,tau>,<1,1,1>)
addevenpermssgn(<1,2 tau,2*tau>,<1,1,1>)
autoface()
#end
#macro rhombicuboctahedron()
addevenpermssgn(<1 sq2,1,1>,<1,1,1>)
autoface()
#end
#macro truncatedcuboctahedron()
addpermssgn(<1,1 sq2,1 sq2*2>,<1,1,1>)
autoface()
#end
#macro rhombicosidodecahedron()
addevenpermssgn(<1,1,1 2*tau>,<1,1,1>)
addevenpermssgn(<tau,2*tau,1 tau>,<1,1,1>)
addevenpermssgn(<2 tau,0,1 tau>,<1,0,1>)
autoface()
#end
#macro truncatedicosidodecahedron()
addevenpermssgn(<1/tau,1/tau,3 tau>,<1,1,1>)
addevenpermssgn(<2/tau,tau,1 2*tau>,<1,1,1>)
addevenpermssgn(<1/tau,1 tau,3*tau-1>,<1,1,1>)
addevenpermssgn(<2*tau-1,2,2 tau>,<1,1,1>)
addevenpermssgn(<tau,3,2*tau>,<1,1,1>)
autoface()
#end
#macro snubhexahedron(s)
addpermsaltsgn(<1,1/xi,xi>*s)
autoface()
#end
#macro snubdodecahedron(s)
addevenpermsevensgn(<2*alfa,2,2*veta>*s)
addevenpermsevensgn(<alfa veta/tau tau,-alfa*tau veta 1/tau,alfa/tau veta*tau-1>*s)
addevenpermsevensgn(<-alfa/tau veta*tau 1,-alfa veta/tau-tau,alfa*tau veta-1/tau>*s)
addevenpermsevensgn(<-alfa/tau veta*tau-1,alfa-veta/tau-tau,alfa*tau veta 1/tau>*s)
addevenpermsevensgn(<alfa veta/tau-tau,alfa*tau-veta 1/tau,alfa/tau veta*tau 1>*s)
autoface()
#end
#macro rhombicdodecahedron()
cuboctahedron() dual()
#end
#macro rhombictriacontahedron()
icosidodecahedron() dual()
#end
#macro triakistetrahedron()
truncatedtetrahedron() dual()
#end
#macro triakisoctahedron()
truncatedhexahedron() dual()
#end
#macro tetrakishexahedron()
truncatedoctahedron() dual()
#end
#macro triakisicosahedron()
truncateddodecahedron() dual()
#end
#macro pentakisdodecahedron()
truncatedicosahedron() dual()
#end
#macro deltoidalicositetrahedron()
rhombicuboctahedron() dual()
#end
#macro disdyakisdodecahedron()
truncatedcuboctahedron() dual()
#end
#macro deltoidalhexecontahedron()
rhombicosidodecahedron() dual()
#end
#macro disdyakistriacontahedron()
truncatedicosidodecahedron() dual()
#end
#macro pentagonalicositetrahedron(s)
snubhexahedron(s) dual()
#end
#macro pentagonalhexecontahedron(s)
snubdodecahedron(s) dual()
#end
#macro rprism(n)
#local a=sqrt((1-cos(2*pi/n))/2);
#local b=0; #while(b<n-.5)
addpointssgn(<sin(2*pi*b/n),cos(2*pi*b/n),a>,<0,0,1>)
#local b=b 1; #end
autoface()
#end
#macro antiprism(n)
#local a=sqrt((cos(pi/n)-cos(2*pi/n))/2);
#local b=0; #while(b<2*n-.5)
addpoint(<sin(pi*b/n),cos(pi*b/n),a>)
#local a=-a; #local b=b 1; #end
autoface()
#end
#macro bipyramid(n)
rprism(n) dual()
#end
#macro trapezohedron(n)
antiprism(n) dual()
#end
#declare points=array[1000];
#declare npoints=0;
#declare faces=array[1000];
#declare nfaces=0;
#macro addpoint(a)
#declare points[npoints]=a;
#declare npoints=npoints 1;
#end
#macro addevenperms(a)
addpoint(a)
addpoint(<a.y,a.z,a.x>)
addpoint(<a.z,a.x,a.y>)
#end
#macro addperms(a)
addevenperms(a)
addevenperms(<a.x,a.z,a.y>)
#end
#macro addpointssgn(a,s)
addpoint(a)
#if(s.x) addpointssgn(a*<-1,1,1>,s*<0,1,1>) #end
#if(s.y) addpointssgn(a*<1,-1,1>,s*<0,0,1>) #end
#if(s.z) addpoint(a*<1,1,-1>) #end
#end
#macro addevenpermssgn(a,s)
addpointssgn(a,s)
addpointssgn(<a.y,a.z,a.x>,<s.y,s.z,s.x>)
addpointssgn(<a.z,a.x,a.y>,<s.z,s.x,s.y>)
#end
#macro addpermssgn(a,s)
addevenpermssgn(a,s)
addevenpermssgn(<a.x,a.z,a.y>,<s.x,s.z,s.y>)
#end
#macro addpointsevensgn(a)
addpoint(a)
addpoint(a*<-1,-1,1>)
addpoint(a*<-1,1,-1>)
addpoint(a*<1,-1,-1>)
#end
#macro addevenpermsevensgn(a)
addevenperms(a)
addevenperms(a*<-1,-1,1>)
addevenperms(a*<-1,1,-1>)
addevenperms(a*<1,-1,-1>)
#end
#macro addpermsaltsgn(a)
addevenpermsevensgn(a)
addevenpermsevensgn(<a.x,a.z,-a.y>)
#end
/*#macro addevenpermssgn(a,s) //Calls addevenperms with, for each 1 in s, a.{x,y,z} replaced with { ,-}a.{x,y,z}
addevenperms(a)
#if(s.x) addevenpermssgn(a*<-1,1,1>,s*<0,1,1>) #end
#if(s.y) addevenpermssgn(a*<1,-1,1>,s*<0,0,1>) #end
#if(s.z) addevenperms(a*<1,1,-1>) #end
#end*/
#macro addface(d,l)
#local a=vnormalize(d)/l;
#local f=1;
#local n=0; #while(n<nfaces-.5)
#if(vlength(faces[n]-a)<0.00001) #local f=0; #end
#local n=n 1; #end
#if(f)
#declare faces[nfaces]=a;
#declare nfaces=nfaces 1;
#end
#end
#macro dual()
#declare temp=faces;
#declare faces=points;
#declare points=temp;
#declare temp=nfaces;
#declare nfaces=npoints;
#declare npoints=temp;
#end
#macro autoface() //WARNING: ONLY WORKS IF ALL EDGES HAVE EQUAL LENGTH
//Find edge length
#declare elength=1000;
#local a=0; #while(a<npoints-.5) #local b=0; #while(b<npoints-.5)
#local c=vlength(points[a]-points[b]); #if(c>0.00001 & c<elength) #local elength=c; #end
#local b=b 1; #end #local a=a 1; #end
//Find planes
//#macro planes()
#local a=0; #while(a<npoints-.5)
#local b=a 1; #while(b<npoints-.5)
#if(vlength(points[a]-points[b])<elength 0.00001) #local c=b 1; #while(c<npoints-.5)
#if(vlength(points[a]-points[c])<elength 0.00001)
#local n=vnormalize(vcross(points[b]-points[a],points[c]-points[a]));
#local d=vdot(n,points[a]);
#if(d<0) #local n=-n; #local d=-d; #end
#local f=1;
#local e=0; #while(e<npoints-.5)
#if(vdot(n, points[e])>d 0.00001) #local f=0; #end
#local e=e 1; #end
#if(f)
#declare ld=d;
addface(n,d) //plane { n, d }
#end
#end
#local c=c 1; #end #end
#local b=b 1; #end
#local a=a 1; #end
#end
This_shape_will_be_drawn()
//Random rotations are (hopefully) equally distributed...
#declare rot1=rand(rotation)*pi*2;
#declare rot2=acos(1-2*rand(rotation));
#declare rot3=(rand(rotation) clock)*pi*2;
#macro dorot()
rotate rot1*180/pi*y
rotate rot2*180/pi*x
rotate rot3*180/pi*y
#end
//Scale shape to fit in unit sphere
#local b=0;
#local a=0; #while(a<npoints-.5)
#local c=vlength(points[a]); #if(c>b) #local b=c; #end
#local a=a 1; #end
#local a=0; #while(a<npoints-.5)
#local points[a]=points[a]/b;
#local a=a 1; #end
#local a=0; #while(a<nfaces-.5)
#local faces[a]=faces[a]*b;
#local a=a 1; #end
//Draw edges
#macro addp(a)
#declare p[np]=a;
#declare np=np 1;
#end
#local a=0; #while(a<nfaces-.5)
#declare p=array[20];
#declare np=0;
#local b=0; #while(b<npoints-.5)
#if(vdot(faces[a],points[b])>1-0.00001) addp(b) #end
#local b=b 1; #end
#local c=0; #while(c<np-.5)
#local d=0; #while(d<np-.5) #if(p[c]<p[d]-.5)
#local f=1;
#local e=0; #while(e<np-.5) #if(e!=c & e!=d & vdot(vcross(points[p[c]],points[p[d]]),points[p[e]])<0)
#local f=0;
#end #local e=e 1; #end
#if(f)
object {
cylinder { points[p[c]], points[p[d]], .01 dorot() }
pigment { colour <.3,.3,.3> }
finish { ambient 0 diffuse 1 phong 1 }
}
#end #end
#local d=d 1; #end
#local c=c 1; #end
#local a=a 1; #end
/*#local a=0; #while(a<npoints-.5)
#local b=a 1; #while(b<npoints-.5)
#if(vlength(points[a]-points[b])<elength 0.00001)
object {
cylinder { points[a], points[b], .01 dorot() }
pigment { colour <.3,.3,.3> }
finish { ambient 0 diffuse 1 phong 1 }
}
#end
#local b=b 1; #end
#local a=a 1; #end*/
//Draw points
#local a=0; #while(a<npoints-.5)
object {
sphere { points[a], .01 dorot() }
pigment { colour <.3,.3,.3> }
finish { ambient 0 diffuse 1 phong 1 }
}
#local a=a 1; #end
#if(notwireframe)
//Draw planes
object {
intersection {
#local a=0; #while(a<nfaces-.5)
plane { faces[a], 1/vlength(faces[a]) }
#local a=a 1; #end
//planes()
//sphere { <0,0,0>, 1 }
//sphere { <0,0,0>, ld .01 inverse }
dorot()
}
pigment { colour rgbt <.8,.8,.8,.4> }
finish { ambient 0 diffuse 1 phong flashiness #if(withreflection) reflection { .2 } #end }
//interior { ior 1.5 }
photons {
target on
refraction on
reflection on
collect on
}
}
#end
// CCC Y Y PP
// C Y Y P P
// C Y PP
// C Y P
// CCC Y P
#local a=0;
#while(a<11.0001)
light_source { <4*sin(a*pi*2/11), 5*cos(a*pi*6/11), -4*cos(a*pi*2/11)> colour (1 <sin(a*pi*2/11),sin(a*pi*2/11 pi*2/3),sin(a*pi*2/11 pi*4/3)>)*2/11 }
#local a=a 1;
#end
background { color <1,1,1> }
camera {
perspective
location <0,0,0>
direction <0,0,1>
right x/2
up y/2
sky <0,1,0>
location <0,0,-4.8>
look_at <0,0,0>
}
global_settings {
max_trace_level 40
photons {
count 200000
autostop 0
}
}
이 그림은 벡터 그래픽 버전(SVG)이 있습니다. 래스터 그림 대신 벡터 그래픽 그림을 사용해야 합니다.
File:Hexahedron.jpg → File:Hexahedron.svg
|
이 파일에 묘사된 항목
다음을 묘사함
파일 역사
날짜/시간 링크를 클릭하면 해당 시간의 파일을 볼 수 있습니다.
날짜/시간 | 섬네일 | 크기 | 사용자 | 설명 | |
---|---|---|---|---|---|
현재 | 2005년 1월 7일 (금) 05:28 | 742 × 826 (51 KB) | Kjell André | A Hexahedron (cube). A regular polyhedron. |
이 파일을 사용하는 문서
이 파일을 사용하고 있는 모든 위키의 문서 목록
다음 위키에서 이 파일을 사용하고 있습니다:
- ar.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ary.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- az.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- bg.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- ca.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- cs.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- da.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- de.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- en.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- en.wikibooks.org에서 이 파일을 사용하고 있는 문서 목록
- en.wikiversity.org에서 이 파일을 사용하고 있는 문서 목록
- en.wiktionary.org에서 이 파일을 사용하고 있는 문서 목록
- eo.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- es.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- eu.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- fr.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- fr.wiktionary.org에서 이 파일을 사용하고 있는 문서 목록
- gl.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- he.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
- he.wikibooks.org에서 이 파일을 사용하고 있는 문서 목록
- he.wiktionary.org에서 이 파일을 사용하고 있는 문서 목록
이 파일의 더 많은 사용 내역을 봅니다.