Перейти на страницу файла на Викискладе

Файл:Euclidian and non euclidian geometry.png

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл (4000 × 1500 пкс, размер файла: 128 КБ, MIME-тип: image/png)

Shows three "blocks" with varying surfaces, whereon a point and som lines are "drawn" to demonstrate

  1. euclidian
  2. elliptical and
  3. hyperbolic geometry

To be exact, the hyperbolic surface was approximated using a chunk of the "inside" of a torus - this may not be perfectly accurate, but apparently it "looks right" in this illustration. :-)

Rendered using POV-Ray (see http://www.povray.org) and the scene description "code" below, then cropped and "numbered" using a graphics software package.

Povray source code
  /*
  ====================================================================
  Surfaces demonstrating euclidian, elliptical and hyperbolic geometry
  --------------------------------------------------------------------
  Created by Søren Peo Pedersen - see my user page at
  http://da.wikipedia.org/wiki/Bruger:Peo
  ====================================================================
  */
  
  // Macro for texture with background pattern, lines, and point "marker"
  #macro SurfaceDrawing (
    Point,        // Position vector: Location of white point
    RefLineMove,  // Transformation: Where to place the yellow reference line
    Lines         // Object that renders the blue line(s)
    )
  
      #local BasePattern=pigment {  // The underlying, dark grey checkerboard pattern
          checker
          color rgb 0.4
          color rgb 0.6
          scale <1,1000,1>
          }
  
      #local SP1 = pigment {    // Checkerboard pattern with yellow "reference line" added
          object {box {<-.07,-10,-10>,<.07,10,10> transform{RefLineMove}}
              pigment {BasePattern}
              pigment {color rgb <1,.8,.3>}
              }
          }    
  
      #local SP2 = pigment {    // Checkerborad + yellow line with user-defined (blue) lines added
          object {Lines
              pigment {SP1}
              pigment {color rgb <.6,.8,1>}
              }
          }    
  
      #local SP3 = pigment {    // Checkerboard + lines with whit point "marker" added
          object {
              sphere { Point, .2 }
              pigment {SP2}
              pigment {color rgb 1}
              }
          }
  
      pigment {   // Definition of pigment, confined to a box slightly smaller than the "blocks"
          boxed   // to make the lines and point only appear on the top of the blocks
          pigment_map {
              [0.0000 BasePattern scale .5 translate <0,-1,0>]
              [0.0001 BasePattern scale .5 translate <0,-1,0>]
              [0.0001 SP3 scale .5 translate <0,-1,0>]
              [1.0000 SP3 scale .5 translate <0,-1,0>]
              }
          scale <2,2,2> translate <0,2,0>
          }          
      finish {ambient .7 diffuse .3}
  #end  // End of macro
  
  plane {<0,1,0>,0      // White "tabletop" to receive shadows of the blocks (helps visualisation)
      pigment {color rgb 1}
      finish {ambient .8 diffuse .5}
      }
  
  box {<-2,0,-2>,<2,2,2>  // Demonstrating euclidean geometry
      texture {
          SurfaceDrawing(<-.3,2,0>,
              transform {rotate <0,35,0> translate <.3,0,0>},
              box {<-.07,-10,-10>,<.07,10,10> rotate <0,35,0> translate <-.3,0,0>}
              )
          }
      rotate <0,-20,0>
      translate <-6,0,0>
      }
  
  intersection {          // Demonstrating elliptical, or "Riemann", geometry
      box {<-2,0,-2>,<2,5,2>}
      sphere {<0,0,0>,2.8285}
      texture {
          SurfaceDrawing(<.65,2.45,1.25>,
              transform {rotate <0,5,0>  rotate <-45,35,0>},
              box {<-.07,-10,-10>,<.07,10,10> rotate <0,-4,0> rotate <-45,35,0>}
              )
          }
      rotate <0,-20,0>
      translate <0,0,0>
      }
  
  intersection {          // Demonstrating hyperbolic geometry
      box {<-2,0,-2>,<2,4,2>}
      torus {7.03,5 rotate <90,90,0> translate <0,4,0>}
      texture {
          SurfaceDrawing(<0,2.3,1>,
              transform {rotate <0,90,0> rotate <-40,0,0> translate <0,4,0>},
              merge {
                  box {<-.07,-10,-10>,<.07,10,10>
                      rotate <0,85,0> rotate <-30,0,0> translate <0,4,0>
                      }
                  box {<-.07,-10,-10>,<.07,10,10>
                      rotate <0,95,0> rotate <-30,0,0> translate <0,4,0>
                      }
                  }
              )
          }
      rotate <0,-20,0>
      translate <6,0,0>
      }
  
  camera {  // Viewpoint
      location <0,2100,-800>
      look_at <.5,0,0>
      angle .47
      }
  
  light_source {<-50,200,-100> color rgb 1.5} // Illumination
Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Этот признак лицензирования был добавлен к этому файлу как часть обновления лицензии GFDL.
Вы можете выбрать любую из этих лицензий.

Краткие подписи

(1) евклидова геометрия; (2) геометрия Римана; (3) геометрия Лобачевского

Элементы, изображённые на этом файле

изображённый объект

image/png

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий21:47, 5 июля 2015Миниатюра для версии от 21:47, 5 июля 20154000 × 1500 (128 КБ)CmdrjamesonCompressed with pngout. Reduced by 66kB (34% decrease).
19:13, 4 августа 2012Миниатюра для версии от 19:13, 4 августа 20124000 × 1500 (194 КБ)Mornredone at higher resolution
23:21, 7 апреля 2005Миниатюра для версии от 23:21, 7 апреля 2005790 × 310 (47 КБ)Peo~commonswikiShows three "blocks" with varying surfaces, whereon a point and som lines are "drawn" to demonstrate #euclidian #elliptical and #hyperbolic geometry Rendered using POV-Ray (see http://www.povray.org) and the scene description "code" below, then cropped an

Нет страниц, использующих этот файл.

Глобальное использование файла

Данный файл используется в следующих вики:

Метаданные