Esempio n. 1
0
def divide_edges(gph, divs=4):
    ret = []
    t_vals = (Interval() / divs)[1:]
    for spt, epts in gph.edges.items():
        for ept in epts:
            ret.extend([Point.interpolate(spt, ept, t) for t in t_vals])
    return ret


"""
SpatialGraph Inflation Routine
Constructs and successively divides a SpatialGraph, reconstructing its edges based on proximity at each step.
"""
point_cloud = [Point.random(Interval(0, 10)) for n in range(4)]
graph = SpatialGraph(point_cloud)
add_proximity_connections(graph)

count = 3

for n in range(count):
    inflated_graph = SpatialGraph(graph.nodes)
    for pt in divide_edges(graph):
        inflated_graph.add_node(pt)
    add_proximity_connections(inflated_graph)
    graph = inflated_graph

for spt, epts in graph.edges.items():
    outie.put([Segment(spt, ept) for ept in epts])

outie.draw()
Esempio n. 2
0
import decodes
from decodes.core import *
from decodes.extensions.graph import SpatialGraph

edges = [[Point(), Point(0, 1)], [Point(0, 1), Point(1, 1)],
         [Point(1, 1), Point()]]

gph = SpatialGraph([Point()])

for spt, ept in edges:
    gph.add_edge(spt, ept)

print gph
Esempio n. 3
0
import decodes
from decodes.core import *
from decodes.extensions.graph import SpatialGraph



edges = [
                [Point(),Point(0,1)],
                [Point(0,1),Point(1,1)],
                [Point(1,1),Point()]
            ]
                


gph = SpatialGraph([Point()])

for spt,ept in edges:
    gph.add_edge(spt,ept)



print gph
Esempio n. 4
0
    ret = []
    t_vals = (Interval() / divs)[1:]
    for spt, epts in gph.edges.items():
        for ept in epts:
            ret.extend([Point.interpolate(spt, ept, t) for t in t_vals])
    return ret


"""
SpatialGraph Inflation Routine
Constructs and successively divides a SpatialGraph, reconstructing its edges based on proximity at each step.
"""
point_cloud = [Point.random(Interval(0, 10)) for n in range(4)]
graph = SpatialGraph(point_cloud)
add_proximity_connections(graph)

count = 3

for n in range(count):
    inflated_graph = SpatialGraph(graph.nodes)
    for pt in divide_edges(graph):
        inflated_graph.add_node(pt)
    add_proximity_connections(inflated_graph)
    graph = inflated_graph


for spt, epts in graph.edges.items():
    outie.put([Segment(spt, ept) for ept in epts])

outie.draw()