def test_extremes(self): q = CubicBezier( Point(65,59), Point(194,90), Point(220,260), Point(70,261) ) # console.log(Bezier(65,59, 194,90, 220,260, 70,261).extrema()) r = q.findExtremes() self.assertEqual(len(r), 1) self.assertAlmostEqual(r[0], 0.5275787707261016) r = q.findExtremes(inflections = True) self.assertEqual(len(r), 2) self.assertAlmostEqual(r[0], 0.4512987012987013) self.assertAlmostEqual(r[1], 0.5275787707261016)
def test_addextremes(self): q = CubicBezier(Point(42, 135), Point(129, 242), Point(167, 77), Point(65, 59)) ex = q.findExtremes() self.assertEqual(len(ex), 2) path = BezierPath() path.closed = False path.activeRepresentation = SegmentRepresentation(path, [q]) path.addExtremes() path.balance() segs = path.asSegments() self.assertEqual(len(segs), 3)