Файл:Beta-skeleton.svg

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Повна роздільність(SVG-файл, номінально 450 × 450 пікселів, розмір файлу: 78 КБ)

Wikimedia Commons logo Відомості про цей файл містяться на Вікісховищі — централізованому сховищі вільних файлів мультимедіа для використання у проектах Фонду Вікімедіа.

Опис файлу

Опис
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.
Час створення
Джерело Власна робота
Автор David Eppstein

Source code

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")

Ліцензування

Public domain Я, власник авторських прав на цю роботу, передаю роботу в суспільне надбання. Застосовується по всьому світу.
У деяких країнах це не може бути юридично можливо, в такому випадку:
Я даю кожному право на використання цієї роботи для будь-яких цілей, без будь-яких умов, якщо такі умови не вимагаються за законом.

Підписи

Додайте однорядкове пояснення, що саме репрезентує цей файл

Об'єкти, показані на цьому файлі

зображує

79 414 байт

450 піксель

450 піксель

Історія файлу

Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.

Дата/часМініатюраРозмір об'єктаКористувачКоментар
поточний03:58, 20 лютого 2010Мініатюра для версії від 03:58, 20 лютого 2010450 × 450 (78 КБ)David Eppstein{{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 β =&

Така сторінка використовує цей файл:

Глобальне використання файлу

Цей файл використовують такі інші вікі: