Question 1


In [3]:
import numpy as np
import matplotlib.pyplot as plt

In [4]:
points = [(9,3,1),(2,4,1),(3,3,1),(4,1,1),(1,6,1),(3,9,0),(5,6,0),(6,4,0),(6,2,0),(3,7,0)]

In [13]:
t = plt.figure('roc1.jpg')
plt.plot([x[0] for x in points],[x[1] for x in points],'bo')
plt.plot([3,4],[5,6],'rv')
plt.ylabel('Y')
plt.xlabel('X')
plt.title('Roc1')
plt.show()

In [41]:
def GetInCirclePoints(distances,k=1):

In [82]:
def GetClosePoints(centerpoint,k=1):
    indx =0
    distances={}
    for point in points:
        #Calculate Eucludean distance
        distance = np.linalg.norm(np.array(centerpoint)-np.array((point[0],point[1])))
        #Store all points with the same distance under the same 
        if distance in distances.keys():
            distances[distance].append(indx)
        else:
            distances[distance] = []
            distances[distance].append(indx)
        indx+=1
    keys = distances.keys()
    keys.sort(key = lambda x:x,reverse=False)
    for key in keys:
        print key , distances[key]

In [83]:
#np.linalg.norm(np.array((5,2))-np.array((3,1)))
p1 = (3,5)
p2 = (4,6)

In [84]:
GetClosePoints(p1)


0 6.32455532034
1 1.41421356237
2 2.0
3 4.12310562562
4 2.2360679775
5 4.0
6 2.2360679775
7 3.16227766017
8 4.24264068712
9 2.0
1.41421356237 [1]
2.0 [2, 9]
2.2360679775 [4, 6]
3.16227766017 [7]
4.0 [5]
4.12310562562 [3]
4.24264068712 [8]
6.32455532034 [0]

In [ ]: