예제 #1
0
    def analyzeCircles(self, C1X, C1Y, C2X, C2Y, C3X, C3Y, minRSSIPoint):
        C = Calculator()
        nearSet1X = []
        nearSet1Y = []
        nearSet1Z = []
        nearSet2X = []
        nearSet2Y = []
        nearSet2Z = []
        distances = []
        d = []
        for x1, y1 in zip(C1X, C1Y):
            for x2, y2 in zip(C2X, C2Y):
                if (abs(x1 - x2) < 0.25) and (abs(y1 - y2) < 0.25):
                    nearSet1X.append(x1)
                    nearSet1Y.append(y1)
                    nearSet1Z.append(200)
                    distance = C.calculateEuclideanDistance(
                        minRSSIPoint, [x1, y1])
                    distances.append([x1, y1, distance])
                    d.append(distance)

        for x1, y1 in zip(C1X, C1Y):
            for x3, y3 in zip(C3X, C3Y):
                if (abs(x1 - x3) < 0.25) and (abs(y1 - y3) < 0.25):
                    nearSet2X.append(x3)
                    nearSet2Y.append(y3)
                    nearSet2Z.append(200)
                    distance = C.calculateEuclideanDistance(
                        minRSSIPoint, [x3, y3])
                    distances.append([x3, y3, distance])
                    d.append(distance)

        nearSet1X.extend(nearSet2X)
        nearSet1Y.extend(nearSet2Y)
        nearSet1Z.extend(nearSet2Z)

        try:
            minDistanceIndex = d.index(min(d))
            APCoordinates = distances[minDistanceIndex]
        except ValueError:
            APCoordinates = [0, 0, 0]

        return [nearSet1X, nearSet1Y, nearSet1Z, APCoordinates]
예제 #2
0
def calculateDistanceMatrix(X_Mid_Points, Y_Mid_Points, Pose_X, Pose_Y):
    Distance_Matrix = []
    C = Calculator()
    for X, Y in zip(X_Mid_Points, Y_Mid_Points):
        DistanceFromOneGridToAllPoints = []
        for x, y in zip(Pose_X, Pose_Y):
            DistanceFromOneGridToAllPoints.append(
                C.calculateEuclideanDistance([X, Y], [x, y]))
        Distance_Matrix.append(DistanceFromOneGridToAllPoints)
    return Distance_Matrix
예제 #3
0
	def calculateDistanceFromCenterPointsToEachPoseReturningXYs(self):
		Distance_Matrix = []
		(Xs, Ys, Zs, XYs, XYZs) = self.middlePointsInTheGrid()
		global XY
		C = Calculator()
		for pointA in XYs:
			GridPointDistance = []
			for pointB in XY:
				GridPointDistance.append(C.calculateEuclideanDistance(pointA, pointB))
			Distance_Matrix.append(GridPointDistance)
		return Distance_Matrix, Xs, Ys