This is a file from the Wikimedia Commons
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл (742 × 826 пикселей, размер файла: 51 КБ, MIME - тип: изображение / JPEG )

Резюме

Лицензирование

Код Povray SRC

Hexahedron, сделанный мной с помощью POV-Ray, см. Источник на en: User: Cyp / Poly.pov .}}

// Изображение *** Используйте яркость = 1 !!! *** // // + w1024 + h1024 + a0.3 + am2 // + w512 + h512 + a0.3 + am2 // // Фильм *** Используйте яркость = 0,25 !!! *** // // + kc + kff120 + w256 + h256 + a0.3 + am2 // + kc + kff60 + w256 + h256 + a0.3 + am2 // "Быстрый" предварительный просмотр // + w128 + h128 # объявить  notwireframe = 1 ; # объявить  withreflection = 0 ; #declare  яркость = 0,25 ;  // Неподвижные изображения используют 1, анимированные, вероятно, должны быть около 0,25.#macro  This_shape_will_be_drawn ()  // ПЛАТОНИЧЕСКИЕ ТВЕРДЫ ***********  // тетраэдр () #declare rotation = seed (1889 / * 1894 * /);  // шестигранник () # объявить поворот = seed (7122);  // октаэдр () # объявить поворот = seed (4193);  // dodecahedron () #declare Rotation = seed (4412);  // икосаэдр () # объявить поворот = seed (7719); // weirdahedron () #declare Rotation = seed (7412); // АРХИМЕДИАНЫ ТВЕРДЫЕ ***********  // кубооктаэдр () #declare rotation = seed (1941);  // icosidodecahedron () #declare Rotation = seed (2241); // усеченный тетраэдр () # объявить поворот = seed (8717);  // усеченный шестигранник () # объявить поворот = seed (1345);  // truncatedoctahedron () #declare Rotation = seed (7235);  // truncateddodecahedron () #declare Rotation = seed (9374);  // truncatedicosahedron () #declare Rotation = seed (1666); // ромбокубооктаэдр () #declare Rotation = seed (6124);  // усеченный кубооктаэдр () # объявить поворот = seed (1156);  // ромбоикосидодекаэдр () #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); // Твердые тела КАТАЛАНА ***********  // ромбододекаэдр () #declare rotation = seed (7154);  // rhombictriacontahedron () #declare Rotation = seed (1237); // triakistetrahedron () #declare Rotation = seed (7735);  // triakisoctahedron () #declare Rotation = seed (5354);  // тетракишексаэдр () # объявить поворот = seed (1788);  // triakisicosahedron () #declare Rotation = seed (1044);  // пентакисдодекаэдр () # объявить вращение = 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#endThis_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 planesobject { 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;#endbackground { 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 }}

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

copyright status

copyrighted

copyright license

GNU Free Documentation License, version 1.2 or later

Creative Commons Attribution-ShareAlike 3.0 Unported

File history

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

The following pages on the English Wikipedia use this file (pages on other projects are not listed):
  • Alternation (geometry)
  • Atomism
  • Cube
  • List of uniform polyhedra by vertex figure
  • Octacube (sculpture)
  • Polyhedron
  • Regular polyhedron
  • Regular polytope
  • Sphericity
  • User:Cyp
  • User:Cyp/Poly.pov
  • User:Fropuff/Tables/Platonic solids
  • User:Mike40033/List of regular polytopes

Global file usage

The following other wikis use this file:

  • Usage on az.wikipedia.org
    • Kub
    • Düzgün çoxüzlülər
  • Usage on bg.wikipedia.org
    • Уикипедия:Файлове
    • Платоново тяло
  • Usage on ca.wikipedia.org
    • Políedre
  • Usage on cs.wikipedia.org
    • Platónské těleso
    • Mnohostěn
  • Usage on da.wikipedia.org
    • Terning
    • Platonisk legeme
    • Polyeder
  • Usage on de.wikipedia.org
    • Benutzer:Raphneck
    • Wikipedia:Löschkandidaten/17. Juli 2008
  • Usage on en.wikiversity.org
    • Distances/Vectors
  • Usage on eo.wikipedia.org
    • Listo de regulaj hiperpluredroj
    • Alternado (geometrio)
    • Platona solido
    • Kvazaŭregula romba kahelaro
    • Okedra simetrio
    • Regula pluredro
    • Triangula kajtopluredro
  • Usage on es.wikipedia.org
    • Usuario:Maestro Cúbico
  • Usage on et.wikipedia.org
    • Kuup
  • Usage on eu.wikipedia.org
    • Ertz (geometria)
    • Poliedro dual
    • Trapezoedro triangeluar
  • Usage on fi.wikipedia.org
    • Platonin kappale
    • Atomismi
  • Usage on fr.wikipedia.org
    • Théorème de Descartes-Euler
  • Usage on fr.wiktionary.org
    • sesedro
  • Usage on gl.wikipedia.org
    • Sólido platónico
  • Usage on he.wikipedia.org
    • מצולע
    • פורטל:מתמטיקה
    • קובייה
    • תריסרון משוכלל
    • ארבעון
    • פאון משוכלל
    • תמניון משוכלל
    • משולש שווה-צלעות
    • מצולע משוכלל
    • פורטל:מתמטיקה/הידעת?/קטעי הידעת
    • עשרימון משוכלל
    • תבנית:פאונים
    • פורטל:מתמטיקה/הידעת?/9
    • פורטל:יוון העתיקה/הידעת?/קטעי הידעת
    • פורטל:יוון העתיקה/הידעת?/2
    • משתמש:אמרי אביטן/טימיאס
  • Usage on he.wikibooks.org
    • מה זה אומר בעצם?/קפלר והכוכבים
    • מתמטיקה תיכונית/הנדסת המרחב/מנסרה
  • Usage on he.wiktionary.org
    • קביה
    • ארבעון

View more global usage of this file.