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

aa

parent a702ff4e
Branches
No related tags found
No related merge requests found
......@@ -119,9 +119,9 @@ class RpNodeInfoResource(Resource):
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'])
if cosA >= 1 or cosA <= 0 :
if cosA >= 1 or cosA <= -1 :
# 3번째 rpNode를 만들 수 없는 경우
print("3번째 rpNode를 만들 수 없습니다.(impossible cosA)")
print("3번째 rpNode를 만들 수 없습니다.(impossible cosA)",cosA)
response['operate'] = 1
return json.dumps(response)
......@@ -158,8 +158,9 @@ class RpNodeInfoResource(Resource):
})
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:
# 4번째 이상의 rpNode를 만들 수 없는 경우
print("4번째 이상의 rpNode를 만들 수 없습니다.")
......
......@@ -50,9 +50,11 @@ class Triangulation():
meet_result[0][0]=meet1[0][0]
meet_result[0][1]=meet1[0][1]
else:
print(line_position)
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])
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)
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])
......@@ -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'])
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']):
print("error")
print("error1")
return None, None
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']):
print("error")
print("error2")
return None, None
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']):
print("error")
print("error3")
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']):
......@@ -249,7 +251,7 @@ class Triangulation():
self.n[2]['x'],self.n[2]['y'],self.n[2]['distance'],
self.n[0]['x'],self.n[0]['y'],self.n[0]['distance'])
else:
print("error")
print("error4")
return None, None
return x, y
"""
......
......@@ -178,9 +178,9 @@ router.get('/aggregateByRPUUID/:id', function(req, res, next) {
'$match': {
'rpuuid': output.rpuuid,
'updateTime': {
'$gt': lastUpdateTime - 600
'$gt': lastUpdateTime
},
distance: {'$lt': 1}
distance: {'$lt': 10, '$gt' : 0.1}
}
}, {
'$group': {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment