Fil:Regular divisibility lattice.svg
Från testwiki
Hoppa till navigering
Hoppa till sök
Storleken för denna PNG-förhandsvisning av denna SVG-fil: 800 × 475 pixlar. Andra upplösningar: 320 × 190 pixlar | 640 × 380 pixlar | 1 024 × 608 pixlar | 1 280 × 760 pixlar | 2 560 × 1 519 pixlar | 1 363 × 809 pixlar.
Originalfil (SVG-fil, standardstorlek: 1 363 × 809 pixlar, filstorlek: 13 kbyte)
Den här filen är från Wikimedia Commons och kan användas av andra projekt. Beskrivningen på dess filbeskrivningssida där visas nedan.
Sammanfattning
| BeskrivningRegular divisibility lattice.svg | A Hasse diagram of divisibility relationships among regular numbers up to 400. As shown by the horizontal light red lines, the vertical position of each number is proportional to its logarithm. Inspired by similar diagrams in a paper by Kurenniemi [1]. |
| Datum | 14 mars 2007 (ursprungligt uppladdningsdatum) |
| Källa | Överförd från en.wikipedia till Commons. |
| Skapare | David Eppstein på engelska Wikipedia |
Licensiering
| Public domainPublic domainfalsefalse |
| Detta verk har gjorts tillgänglig som public domain av dess skapare, David Eppstein på engelska Wikipedia. Detta gäller globalt. I vissa länder kan detta inte vara juridiskt möjligt; i så fall: David Eppstein ger envar rätten att använda detta verk för alla ändamål, utan några villkor, förutom villkor som lagen ställer.Public domainPublic domainfalsefalse |
Source code
The Python source code for generating this image:
from math import log
limit = 400
radius = 17
margin = 4
xscale = yscale = 128
skew = 0.285
def A051037():
yield 1
seq = [1]
spiders = [(2,2,0,0),(3,3,0,1),(5,5,0,2)]
while True:
x,p,i,j = min(spiders)
if x != seq[-1]:
yield x
seq.append(x)
spiders[j] = (p*seq[i+1],p,i+1,j)
def nfactors(h,p):
nf = 0
while h % p == 0:
nf += 1
h //= p
return nf
seq = []
for h in A051037():
if h > limit:
break
seq.append((h,nfactors(h,2),nfactors(h,3),nfactors(h,5)))
leftmost = max([k for h,i,j,k in seq])
rightmost = max([j for h,i,j,k in seq])
leftwidth = int(0.5 + log(5) * leftmost * xscale + radius + margin)
rightwidth = int(0.5 + log(3) * rightmost * xscale + radius + margin)
width = leftwidth + rightwidth
height = int(0.5 + log(limit) * yscale + 2*(radius + margin))
def place(h,i,j,k):
# logical coordinates
x = j * log(3) - k * log(5) + i * skew
y = log(h)
# physical coordinates
x = (x*xscale) + leftwidth
y = (-y*yscale) + height - radius - margin
return (x,y)
print '''<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="%d" height="%d">''' % (width,height)
print ' <g style="fill:none;stroke:#ffaaaa;">'
l = 1
base = 1
while l <= limit:
y = -yscale*log(l) + height - radius - margin
print ' <path d="M0,%0.2fL%d,%0.2f"/>' % (y,width,y)
l += base
if l == 10*base:
base = l
print " </g>"
print ' <g style="fill:none;stroke-width:1.5;stroke:#0000cc;">'
def drawSegment(p,q):
x1,y1=p
x2,y2=q
print ' <path d="M%0.2f,%0.2fL%0.2f,%0.2f"/>' % (x1,y1,x2,y2)
for h,i,j,k in seq:
x,y = place(h,i,j,k)
if i > 0:
drawSegment(place(h//2,i-1,j,k),(x,y))
if j > 0:
drawSegment(place(h//3,i,j-1,k),(x,y))
if k > 0:
drawSegment(place(h//5,i,j,k-1),(x,y))
print " </g>"
print ' <g style="fill:#ffffff;stroke:#000000;">'
for h,i,j,k in seq:
x,y = place(h,i,j,k)
print ' <circle cx="%0.2f" cy="%0.2f" r="%d"/>' % (x,y,radius)
# pairs of first value with size: size of that value
fontsizes = {1:33, 5:30, 10:27, 20:24, 100:20, 200:18}
for h,i,j,k in seq:
x,y = place(h,i,j,k)
if h in fontsizes:
print " </g>"
print ' <g style="font-family:Times;font-size:%d;text-anchor:middle;">' % fontsizes[h]
lower = fontsizes[h] / 3.
print ' <text x="%0.2f" y="%0.2f">%d</text>' %(x,y+lower,h)
print " </g>"
print "</svg>"
Ursprunglig uppladdningslogg
Den ursprungliga beskrivningssidan fanns här. Alla följande användarnamn finns på en.wikipedia.
- 2007-03-14 05:08 David Eppstein 1363×809×0 (13167 bytes) A [[Hasse diagram]] of [[divisibility]] relationships among [[regular number]]s up to 400. Inspired by similar diagrams in a paper by Kurenniemi [http://www.beige.org/projects/dimi/CSDL2.pdf].
Bildtexter
Ingen bildtext har definierats
Objekt som porträtteras i den här filen
motiv
Filhistorik
Klicka på ett datum/klockslag för att se filen som den såg ut då.
| Datum/Tid | Miniatyrbild | Dimensioner | Användare | Kommentar | |
|---|---|---|---|---|---|
| nuvarande | 13 mars 2010 kl. 03.57 | 1 363 × 809 (13 kbyte) | wikimediacommons>David Eppstein | Fix fonts |
Filanvändning
Följande sida använder den här filen: