#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()
#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()
#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()