Jump to content

File:Double six.svg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia
    Original file (SVG file, nominally 635 × 612 pixels, file size: 14 KB)

    Summary

    Description
    English: Schläfli's double six configuration — twelve lines with five intersection points per line and two lines per intersection point, intersecting in the pattern of a crown graph — inscribed on a cube, following an illustration by Hilbert and Cohn-Vossen in Geometry and the Imagination.
    Date
    Source Own work
    Author David Eppstein
    Other versions
    SVG development
    InfoField
     The SVG code is valid.
     This trigonometry was created with Python.
     and with Adobe.

    Source code

    The basic geometry of this image was created with the following Python script (much of which was copied from the one used for Gray configuration.svg). The transparency effects were added afterwards, using Adobe Illustrator.

    from pyx import canvas,path,color
    from math import sqrt,tan,asin
     
    pov = (-22.7,7.1,9.3)
    x,y,z = 2,1,0
    radius = 0.12
    scale = 10.0
    g = 2.0
    h = 2.5
    
    vertexColor = [color.rgb.red]
    edgeColor = [color.rgb.black]
    cubeColor = [color.rgb.blue]
     
    def distance(p,q):
        return sqrt(sum([(p[i]-q[i])**2 for i in (x,y,z)]))
     
    def perspective(loc):
        dz = loc[z]-pov[z]
        return (loc[x]-pov[x])*scale/dz, (loc[y]-pov[y])*scale/dz
     
    def vertex(p):
        lx,ly = perspective(p)
        prad = scale*1.1*tan(asin(radius/(distance(p,pov))))
        c.fill(path.circle(lx,ly,prad),vertexColor)
     
    def edge(p,q):
        lx1,ly1 = perspective(p)
        lx2,ly2 = perspective(q)
        c.stroke(path.line(lx1,ly1,lx2,ly2),edgeColor)
    
    def cube(p,q):
        lx1,ly1 = perspective(p)
        lx2,ly2 = perspective(q)
        c.stroke(path.line(lx1,ly1,lx2,ly2),cubeColor)
    
    c = canvas.canvas()
    
    def transform(point,spin,flip,mirror,turn):
        x,y,z = point
        if mirror:
            x,y,z = y,x,z
        if turn:
            x,y,z = -x,-y,z
        if flip:
            x,y,z = -y,x,-z
        for i in range(spin):
            x,y,z = y,z,x
        return x,y,z
    
    points = set()
    lines = set()
    for s in (0,1,2):
        for f in (0,1):
            points.add(transform((0,0,g),s,f,0,0))
            for m in (0,1):
                for t in (0,1):
                    points.add(transform((g,g/h,g),s,f,m,t))
                    points.add(transform((g*h,g,g),s,f,m,t))
                lines.add((transform((g*h,g,g),s,f,m,0),
                           transform((-g*h,-g,g),s,f,m,0)))
    
    for a in (-2,2):
        for b in (-2,2):
            cube((a,b,-2),(a,b,2))
            cube((a,-2,b),(a,2,b))
            cube((-2,a,b),(2,a,b))
    
    for p,q in lines:
       edge(p,q)
     
    for p in points:
        vertex(p)
     
    c.writePDFfile("Double_six")
    

    Licensing

    Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
    In some countries this may not be legally possible; if so:
    I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

    Captions

    Add a one-line explanation of what this file represents

    Items portrayed in this file

    depicts

    31 July 2010

    13,930 byte

    image/svg+xml

    b9b3dd2b4d47ac5f2a529f6d2d67f78c6903b970

    File history

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

    Date/TimeThumbnailDimensionsUserComment
    current03:59, 3 January 2017Thumbnail for version as of 03:59, 3 January 2017635 × 612 (14 KB)Hedwig in WashingtonReverted to version as of 23:29, 31 July 2010 (UTC)
    23:29, 31 July 2010Thumbnail for version as of 23:29, 31 July 2010635 × 612 (14 KB)David Eppstein{{Information |Description={{en|1=Schläfli's double six configuration — twelve lines with five intersection points per line and two lines per intersection point, intersecting in the pattern of a crown graph — inscribed on a cube,

    The following 3 pages use this file:

    Global file usage

    The following other wikis use this file:

    Metadata