File:Relative neighborhood graph.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 450 × 450 pixels, file size: 53 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
English: The relative neighborhood graph of 100 random points in a square
Date
Source Own work
Author David Eppstein

Licensing[edit]

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.

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
exclusion = 0.2     # prevent points from being too close
scale = 5
beta1 = 1.1
beta2 = 0.9
theta1 = asin(1/beta1)
theta2 = pi - asin(beta2)

def dist2(p,q):
    return (p[0]-q[0])**2 + (p[1]-q[1])**2

points = []
while len(points) < 100:
    p = (random()*scale,random()*scale)
    if points:
        nn = min(dist2(p,q)**0.5 for q in points)
        if nn < exclusion:
            continue
    points.append(p)

def neighbors(p,q):
    for r in points:
        if max(dist2(p,r),dist2(q,r)) < dist2(p,q):
            return False
    return True

c = canvas.canvas()

def edge(p,q):
    c.stroke(path.line(p[0],p[1],q[0],q[1]),
             [color.rgb.black])

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 and neighbors(p,q):
            edge(p,q)

for p in points:
    point(p)

c.writePDFfile("Relative_neighborhood_graph")

File history

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

Date/TimeThumbnailDimensionsUserComment
current23:07, 15 April 2010Thumbnail for version as of 23:07, 15 April 2010450 × 450 (53 KB)David Eppstein (talk | contribs){{Information |Description={{en|1=The relative neighborhood graph of 100 random points in a square}} |Source={{own}} |Author=David Eppstein |Date=2010-04-15 |Permission= |other_versions= }} [[Ca

The following page uses this file:

File usage on other wikis

The following other wikis use this file: