예제 #1
0
@window.event
def on_init():
    gl.glEnable(gl.GL_DEPTH_TEST)

@window.event
def on_key_press(key, modifiers):
    if key == app.window.key.SPACE:
        transform.reset()


transform = PanZoom(OrthographicProjection(Position()))
triangles = TriangleCollection("agg", transform=transform, color='shared')
paths = PathCollection("agg", transform=transform, color='shared')
paths["linewidth"] = 10

P = star()
I = triangulate(P)

n = 64
for i in range(n):
    c = i/float(n)
    d = i
    x,y = np.random.uniform(0,800,2)
    s = 25
    triangles.append(P*s+(x,y,d), I, color=(0,0,0,.5))
    paths.append(P*s+(x,y,(d-1)), closed=True, color=(0,0,0,1))

window.attach(paths["transform"])
window.attach(paths["viewport"])
app.run()
@window.event
def on_init():
    gl.glEnable(gl.GL_DEPTH_TEST)

@window.event
def on_key_press(key, modifiers):
    if key == app.window.key.SPACE:
        transform.reset()


transform = PanZoom(OrthographicProjection(Position()))
triangles = TriangleCollection("agg", transform=transform, color='shared')
paths = PathCollection("agg", transform=transform, color='shared')
paths["linewidth"] = 10

P = star()
I = triangulate(P)

n = 64
for i in range(n):
    c = i/float(n)
    d = i
    x,y = np.random.uniform(0,800,2)
    s = 25
    triangles.append(P*s+(x,y,d), I, color=(0,0,0,.5))
    paths.append(P*s+(x,y,(d-1)), closed=True, color=(0,0,0,1))

window.attach(paths["transform"])
window.attach(paths["viewport"])
app.run()
예제 #3
0
points /= np.linalg.norm(points, axis=1)[:, np.newaxis]

# Voronoi cells
sv = SphericalVoronoi(points, 2, (0, 0, 0))
sv.sort_vertices_of_regions()

for region in sv.regions:
    z = np.random.uniform(0, 1)

    V = (1.0 + 0.1 * z) * sv.vertices[region]
    color = (0.75 + 0.25 * z, 0.25 + 0.75 * z, 0.25 + 0.75 * z, 1)

    I = np.zeros((len(V) - 2, 3))
    I[:, 1] = 1 + np.arange(len(I))
    I[:, 2] = 1 + I[:, 1]
    cells.append(V, I.ravel(), color=color)
    outlines.append(V, color=(0, 0, 0, 1), closed=True)

    V_ = []
    for v1, v2 in zip(V[:-1], V[1:]):
        V_.extend(((0, 0, 0), v1, v2))
    V_.extend(((0, 0, 0), V[-1], V[0]))

    V_ = np.array(V_)
    I = np.arange(len(V_))
    cells.append(V_, I, color=color)
    outlines.append(V_, color=(0, 0, 0, 1), closed=True)


window.attach(outlines["transform"])
window.attach(outlines["viewport"])
points /= np.linalg.norm(points, axis=1)[:, np.newaxis]

# Voronoi cells
sv = SphericalVoronoi(points, 2, (0, 0, 0))
sv.sort_vertices_of_regions()

for region in sv.regions:
    z = np.random.uniform(0, 1)

    V = (1.0 + 0.1 * z) * sv.vertices[region]
    color = (.75 + .25 * z, .25 + .75 * z, .25 + .75 * z, 1)

    I = np.zeros((len(V) - 2, 3))
    I[:, 1] = 1 + np.arange(len(I))
    I[:, 2] = 1 + I[:, 1]
    cells.append(V, I.ravel(), color=color)
    outlines.append(V, color=(0, 0, 0, 1), closed=True)

    V_ = []
    for v1, v2 in zip(V[:-1], V[1:]):
        V_.extend(((0, 0, 0), v1, v2))
    V_.extend(((0, 0, 0), V[-1], V[0]))

    V_ = np.array(V_)
    I = np.arange(len(V_))
    cells.append(V_, I, color=color)
    outlines.append(V_, color=(0, 0, 0, 1), closed=True)

window.attach(outlines["transform"])
window.attach(outlines["viewport"])
app.run()