File:Beta-skeleton.svg
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this PNG preview of this SVG file: 450 × 450 pixels. Other resolutions: 240 × 240 pixels | 480 × 480 pixels | 768 × 768 pixels | 1,024 × 1,024 pixels | 2,048 × 2,048 pixels.
Original file (SVG file, nominally 450 × 450 pixels, file size: 78 KB)
File information
Structured data
Captions
Summary
[edit]DescriptionBeta-skeleton.svg |
English: Two β-skeletons of a set of 100 random points in a square. The heavy dark edges are the β-skeleton for β = 1.1, while the light dashed blue edges are the additional edges for β = 0.9. |
Date | |
Source | Own work |
Author | David Eppstein |
Source code
[edit]This image was created with the following Python source code and then recolored and converted to SVG in Adobe Illustrator.
from pyx import canvas,path,color
from math import *
from random import seed,random
seed(12345)
npoints = 100
radius = 0.05
scale = 5
beta1 = 1.1
beta2 = 0.9
theta1 = asin(1/beta1)
theta2 = pi - asin(beta2)
points = [(random()*scale,random()*scale) for i in range(npoints)]
def dot(p,q,r):
return sum((p[i]-r[i])*(q[i]-r[i]) for i in [0,1])
def sharp(p,q):
theta = None
for r in points:
if r not in [p,q]:
prq = acos(dot(p,q,r) / (dot(p,p,r)*dot(q,q,r))**0.5)
theta = max(theta,prq)
return theta
c = canvas.canvas()
def edge1(p,q):
c.stroke(path.line(p[0],p[1],q[0],q[1]),
[color.rgb.black])
def edge2(p,q):
c.stroke(path.line(p[0],p[1],q[0],q[1]),
[color.rgb.blue])
def point(p):
c.fill(path.circle(p[0],p[1],radius),[color.rgb.red])
for p in points:
for q in points:
if p < q:
theta = sharp(p,q)
if theta < theta1:
edge1(p,q)
elif theta < theta2:
edge2(p,q)
for p in points:
point(p)
c.writePDFfile("Beta-skeleton")
Licensing
[edit]Public domainPublic domainfalsefalse |
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. |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 03:58, 20 February 2010 | 450 × 450 (78 KB) | David Eppstein (talk | contribs) | {{Information |Description={{en|1=Two β-skeletons of a set of 100 random points in a square. The heavy black edges are the β-skeleton for β = 1.1, while the light dashed blue edges are the additional edges for β =& |
You cannot overwrite this file.
File usage on Commons
The following page uses this file:
File usage on other wikis
The following other wikis use this file:
- Usage on en.wikipedia.org
- Usage on fa.wikipedia.org
- Usage on ru.wikipedia.org
- Usage on uk.wikipedia.org