Example #1
0
#Step 1: Instantiate field with corner coordinates in clockwise or counterclockwise order
sample_field = Field(Vector(1, 6), Vector(6, 11.1), Vector(11.2, 6),
                     Vector(6, 1))

#---How to generate stratified random samples inside a field: ---

import matplotlib.pyplot as plt

stratified_random_samples = sample_field.get_stratified_random_samples(10,
                                                                       1,
                                                                       plt=plt)
# print 'Stratified random samples:'

plot_x = []
plot_y = []

for sample in stratified_random_samples:
    plot_x.append(sample.x)
    plot_y.append(sample.y)

path = Pathfinder.tsp_path(stratified_random_samples)
for i in range(len(path) - 1):
    plt.plot([path[i].x, path[i + 1].x], [path[i].y, path[i + 1].y], 'k', lw=2)

# improved_path = Pathfinder.improve_tour(path, len(path)*100)
# for j in range(len(improved_path) - 1):
# plt.plot([improved_path[j].x, improved_path[j + 1].x], [improved_path[j].y, improved_path[j + 1].y], 'k-', lw=3)

plt.plot(plot_x, plot_y, 'ro')
plt.show()
Example #2
0
#Step 1: Instantiate field with corner coordinates in clockwise or counterclockwise order
sample_field = Field(
	Vector(1,6),
	Vector(6,11.1),
	Vector(11.2,6),
	Vector(6,1))

#---How to generate stratified random samples inside a field: ---

import matplotlib.pyplot as plt
stratified_random_samples = sample_field.get_stratified_random_samples(10, 1, plt = plt)
# print 'Stratified random samples:'

plot_x = []
plot_y = []

for sample in stratified_random_samples:
	plot_x.append(sample.x)
	plot_y.append(sample.y)

path = Pathfinder.tsp_path(stratified_random_samples)
for i in range(len(path) - 1):
	plt.plot([path[i].x, path[i + 1].x], [path[i].y, path[i + 1].y], 'k', lw=2)

# improved_path = Pathfinder.improve_tour(path, len(path)*100)
# for j in range(len(improved_path) - 1):
	# plt.plot([improved_path[j].x, improved_path[j + 1].x], [improved_path[j].y, improved_path[j + 1].y], 'k-', lw=3)

plt.plot(plot_x, plot_y, 'ro')
plt.show()
Example #3
0
#Import the library
from morsel.entities import Vector
from morsel.quad_field import Field
from morsel.pathfinder import Pathfinder
import matplotlib.pyplot as plt
import networkx as nx


def print_samples(samples):
    for sample in samples:
        print sample.get_json_string()

sample_field = Field(
    Vector(1, 6),
    Vector(6, 11.1),
    Vector(11.2, 6),
    Vector(6, 1))

#---How to generate stratified random samples inside a field: ---
srs = sample_field.get_stratified_random_samples(10, 1, plt=plt)
Pathfinder.tsp_path(srs)
# G = Pathfinder.get_nn_roadmap(srs, 10)
# pos = nx.spring_layout(G)
# nx.draw_networkx_nodes(G, pos, node_size=7)
# nx.draw_networkx_edges(G, pos, width=2)
# plt.show()