Skip to content
Snippets Groups Projects
Commit 0d9a26d2 authored by Server (Shared Users)'s avatar Server (Shared Users)
Browse files

aa

parent a702ff4e
No related branches found
No related tags found
No related merge requests found
...@@ -119,9 +119,9 @@ class RpNodeInfoResource(Resource): ...@@ -119,9 +119,9 @@ class RpNodeInfoResource(Resource):
return json.dumps(response) return json.dumps(response)
cosA = (math.pow(dis['b'], 2) + math.pow(dis['c'], 2) - math.pow(dis['a'], 2)) / (2 * dis['b'] * dis['c']) cosA = (math.pow(dis['b'], 2) + math.pow(dis['c'], 2) - math.pow(dis['a'], 2)) / (2 * dis['b'] * dis['c'])
if cosA >= 1 or cosA <= 0 : if cosA >= 1 or cosA <= -1 :
# 3번째 rpNode를 만들 수 없는 경우 # 3번째 rpNode를 만들 수 없는 경우
print("3번째 rpNode를 만들 수 없습니다.(impossible cosA)") print("3번째 rpNode를 만들 수 없습니다.(impossible cosA)",cosA)
response['operate'] = 1 response['operate'] = 1
return json.dumps(response) return json.dumps(response)
...@@ -158,8 +158,9 @@ class RpNodeInfoResource(Resource): ...@@ -158,8 +158,9 @@ class RpNodeInfoResource(Resource):
}) })
triangulationInst = triangulation.Triangulation(nodeList[:3]) triangulationInst = triangulation.Triangulation(nodeList[:3])
x, y = triangulation.doTriangulation() print("test : ", nodeList[:3])
x, y = triangulationInst.doTriangulation()
print("x: ",x,"y : ",y)
if x == None: if x == None:
# 4번째 이상의 rpNode를 만들 수 없는 경우 # 4번째 이상의 rpNode를 만들 수 없는 경우
print("4번째 이상의 rpNode를 만들 수 없습니다.") print("4번째 이상의 rpNode를 만들 수 없습니다.")
......
...@@ -50,9 +50,11 @@ class Triangulation(): ...@@ -50,9 +50,11 @@ class Triangulation():
meet_result[0][0]=meet1[0][0] meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1] meet_result[0][1]=meet1[0][1]
else: else:
print(line_position)
a=1+(line_position[0][0]/line_position[0][1])*(line_position[0][0]/line_position[0][1]) a=1+(line_position[0][0]/line_position[0][1])*(line_position[0][0]/line_position[0][1])
b=(-2*a1)+((-2*line_position[0][0]*line_position[0][2]) / (line_position[0][1]*line_position[0][1]))+(2*line_position[0][0]*b1/line_position[0][1]) b=(-2*a1)+((-2*line_position[0][0]*line_position[0][2]) / (line_position[0][1]*line_position[0][1]))+(2*line_position[0][0]*b1/line_position[0][1])
c=(line_position[0][2]/line_position[0][1])*(line_position[0][2]/line_position[0][1]) + (-2*line_position[0][2]*b1/line_position[0][1]) + b1*b1 - r1*r1 + a1*a1 c=(line_position[0][2]/line_position[0][1])*(line_position[0][2]/line_position[0][1]) + (-2*line_position[0][2]*b1/line_position[0][1]) + b1*b1 - r1*r1 + a1*a1
print("a : "+str(a)+"b : "+str(b)+"c : "+str(c)+"b^2-4ac : " + str(b*b-4*a*c))
meet1[0][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a) meet1[0][0]=(-b+math.sqrt(b*b-4*a*c))/(2*a)
meet2[0][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a) meet2[0][0]=(-b-math.sqrt(b*b-4*a*c))/(2*a)
meet1[0][1]=(-1*line_position[0][0]*meet1[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1]) meet1[0][1]=(-1*line_position[0][0]*meet1[0][0]/line_position[0][1])+(line_position[0][2]/line_position[0][1])
...@@ -221,15 +223,15 @@ class Triangulation(): ...@@ -221,15 +223,15 @@ class Triangulation():
c=self.cal_distance(self.n[1]['x'],self.n[1]['y'],self.n[2]['x'],self.n[2]['y']) c=self.cal_distance(self.n[1]['x'],self.n[1]['y'],self.n[2]['x'],self.n[2]['y'])
if(list[2]==self.n[0]['distance']): if(list[2]==self.n[0]['distance']):
if(self.n[1]['distance']+a<=self.n[0]['distance'] or self.n[2]['distance']+b<=self.n[0]['distance']): if(self.n[1]['distance']+a<=self.n[0]['distance'] or self.n[2]['distance']+b<=self.n[0]['distance']):
print("error") print("error1")
return None, None return None, None
elif(list[2]==self.n[1]['distance']): elif(list[2]==self.n[1]['distance']):
if(self.n[0]['distance']+a<=self.n[1]['distance'] or self.n[2]['distance']+c<=self.n[1]['distance']): if(self.n[0]['distance']+a<=self.n[1]['distance'] or self.n[2]['distance']+c<=self.n[1]['distance']):
print("error") print("error2")
return None, None return None, None
elif(list[2]==self.n[2]['distance']): elif(list[2]==self.n[2]['distance']):
if(self.n[0]['distance']+b<=self.n[2]['distance'] or self.n[1]['distance']+c<=self.n[2]['distance']): if(self.n[0]['distance']+b<=self.n[2]['distance'] or self.n[1]['distance']+c<=self.n[2]['distance']):
print("error") print("error3")
return None, None return None, None
if(a<=self.n[0]['distance']+self.n[1]['distance'] and b<=self.n[0]['distance']+self.n[2]['distance'] and c<=self.n[1]['distance']+self.n[2]['distance']): if(a<=self.n[0]['distance']+self.n[1]['distance'] and b<=self.n[0]['distance']+self.n[2]['distance'] and c<=self.n[1]['distance']+self.n[2]['distance']):
...@@ -249,7 +251,7 @@ class Triangulation(): ...@@ -249,7 +251,7 @@ class Triangulation():
self.n[2]['x'],self.n[2]['y'],self.n[2]['distance'], self.n[2]['x'],self.n[2]['y'],self.n[2]['distance'],
self.n[0]['x'],self.n[0]['y'],self.n[0]['distance']) self.n[0]['x'],self.n[0]['y'],self.n[0]['distance'])
else: else:
print("error") print("error4")
return None, None return None, None
return x, y return x, y
""" """
......
...@@ -178,9 +178,9 @@ router.get('/aggregateByRPUUID/:id', function(req, res, next) { ...@@ -178,9 +178,9 @@ router.get('/aggregateByRPUUID/:id', function(req, res, next) {
'$match': { '$match': {
'rpuuid': output.rpuuid, 'rpuuid': output.rpuuid,
'updateTime': { 'updateTime': {
'$gt': lastUpdateTime - 600 '$gt': lastUpdateTime
}, },
distance: {'$lt': 1} distance: {'$lt': 10, '$gt' : 0.1}
} }
}, { }, {
'$group': { '$group': {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment