File:Gray configuration.svg

Summary

Description The Gray configuration, 27 points and 27 lines meeting three lines to a point and three points to a line, drawn as a perspective view of a three-dimensional 3x3x3 grid.
Date
Source Own work
Author David Eppstein

Source code

This image was created as a pdf file by the following Python code, then rescaled and converted to SVG.

from pyx import canvas,path,color
from math import sqrt,tan,asin

pov = (-20,6,5)
x,y,z = 2,1,0
radius = 0.05
scale = 10.0
vertexColor = [color.rgb.red]
edgeColor = [color.rgb.black]

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)

c = canvas.canvas()

for i in range(3):
    for j in range(3):
        edge((i,j,0),(i,j,2))
        edge((i,0,j),(i,2,j))
        edge((0,i,j),(2,i,j))

for i in range(3):
    for j in range(3):
        for k in range(3):
            vertex((i,j,k))

c.writePDFfile("Gray configuration")

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.
Category:Self-published work#Gray%20configuration.svgCategory:PD-self#Gray%20configuration.svg Category:Files by User:David Eppstein from en.wikipedia Category:Gray graph Category:Projective geometry Category:Octant (geometry) Category:Images with Python source code
Category:Files by User:David Eppstein from en.wikipedia Category:Gray graph Category:Images with Python source code Category:Octant (geometry) Category:PD-self Category:Pages using deprecated source tags Category:Projective geometry Category:Self-published work