public function ringSectorProvider()
 {
     $a1 = Angle::byDegrees(45);
     $a2 = Angle::byDegrees(135);
     $l1 = sin(\deg2rad(45)) * 100;
     $l2 = $l1 / 2;
     return array(array([[10 + $l1, 20 + $l1], [10 - $l1, 20 + $l1], [10 - $l2, 20 + $l2], [10 + $l2, 20 + $l2]], Points::ringSector(Point::create(10, 20), $a1, $a2, 100, 50)), array([[10 - $l1, 20 + $l1], [10 + $l1, 20 + $l1], [10 + $l2, 20 + $l2], [10 - $l2, 20 + $l2]], Points::ringSector(Point::create(10, 20), $a1, $a2, 100, 50, true)));
 }
 /**
  * @dataProvider skewYProvider
  */
 public function testSkewY($x, $y, $cx, $cy, $degrees, $expectedX, $expectedY)
 {
     $this->assertEqualCoordinates($expectedX, $expectedY, Point::create($x, $y)->skewY(Point::create($cx, $cy), Angle::byDegrees($degrees)));
 }