currPoint = [ currPoint[0] + ctrlPtsDeltaX * distRatio, currPoint[1] + ctrlPtsDeltaY * distRatio ] samples.append( self.offset_point(currPoint, ctrlPtsDeltaX, ctrlPtsDeltaY, ptOffsetRatios[prevCtrlPtInd])) currDist = nextDist nextDist += step_size samples.append( self.offset_point( self.points[len(self.points) - 1], self.points[len(self.points) - 1][0] - self.points[len(self.points) - 2][0], self.points[len(self.points) - 1][1] - self.points[len(self.points) - 2][1], ptOffsetRatios[len(ptOffsetRatios) - 1])) samples = np.asarray(samples) return samples, calculate_yaw(samples) if __name__ == '__main__': bz = Line( [[1, 2], [10.5, 4.5], [5, 6], [23.5, 15.5], [20, 2], [30.5, 5.5]], True) samples, yaw_samples = bz.sample_points() #print samples, yaw_samples points_with_yaw_plot(bz.name, bz.points, samples, yaw_samples)
step_size, total_steps = self.sample_rate() t = np.linspace(0.0, 1.0, total_steps) x, y = self.ellipse(step_size) samples = np.array((x, y)).T yaw_samples = calculate_yaw(samples) return samples, yaw_samples if __name__ == '__main__': rot_angles = [0, 90, 180, 270] for rot_angle in rot_angles: es = Ellipse([[0, 0], [1, 2], [3, 1]], rot_angle, 0, 360) samples, yaw_samples = es.sample_points() points_with_yaw_plot(es.name, es.points, samples, yaw_samples) for rot_angle in rot_angles: for angle in rot_angles: es = Ellipse([[0, 0], [1, 2], [3, 1]], rot_angle, angle, (angle + 90)) samples, yaw_samples = es.sample_points() points_with_yaw_plot(es.name, es.points, samples, yaw_samples) for rot_angle in rot_angles: cl = Ellipse([[1, 1], [1, 2], [2, 1]], rot_angle, 0, 360) samples, yaw_samples = cl.sample_points() points_with_yaw_plot(cl.name, cl.points, samples, yaw_samples) for rot_angle in rot_angles: for angle in rot_angles: