示例#1
0
    def test_find_parameter_t_diagonal(self):
        curve = BezierCurve(start_point=np.array([0, 0]),
                            control_point=np.array([50, 50]),
                            end_point=np.array([100, 100]))

        for t in [0.2, 0.4, 0.6, 0.8]:
            self.assertAlmostEqual(
                curve.find_parameter_t(t * np.sqrt(2) * 100), t, 3)
示例#2
0
    def test_find_parameter_t_integration(self):
        curve = BezierCurve(start_point=np.array([10, 30]),
                            end_point=np.array([40, 60]),
                            control_point=np.array([100, 20]))

        for t in [0.2, 0.4, 0.6, 0.8]:
            start_t = 0.1
            end_t = 0.1 + t
            self.assertAlmostEqual(curve.find_parameter_t(
                curve.estimate_curve_length(start_t=start_t, end_t=end_t),
                start_t=start_t),
                                   end_t,
                                   places=3)