51 for (
int i = 0; i < 7; ++i) {
55 for (
int i = 0; i < 7; ++i) {
61 static const float chopTs[] = {
62 0, 3/83.f, 3/79.f, 3/73.f, 3/71.f, 3/67.f, 3/61.f, 3/59.f, 3/53.f, 3/47.f, 3/43.f, 3/41.f,
63 3/37.f, 3/31.f, 3/29.f, 3/23.f, 3/19.f, 3/17.f, 3/13.f, 3/11.f, 3/7.f, 3/5.f, 1,
65 float ones[] = {1,1,1,1,1};
69 static_assert(std::size(chopTs) % 2 == 1);
70 static_assert(std::size(ones) % 2 == 1);
73 for (
int iterIdx = 0; iterIdx < 5; ++iterIdx) {
77 SkPoint allChops[4 + std::size(chopTs)*3];
80 for (
float chopT : chopTs) {
117 SkPoint oneChops[4 + std::size(ones)*3];
122 for (
size_t index = 3; index < std::size(oneChops); ++index) {
694 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
696 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 1.065055f, 1.065055f },
697 { 2.500000f, 2.500000f },
698 { 5.461981f, 5.461981f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
701 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
703 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 2.500000f, 2.500000f },
704 { 5.000000f, 5.000000f },
705 { 7.500000f, 7.500000f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
708 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
710 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 6.467375f, 6.467375f },
711 { 9.000000f, 9.000000f },
712 { 9.616623f, 9.616623f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
715 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
717 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 10.000000f, 10.000000f },
718 { 10.000000f, 10.000000f },
719 { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
723 {{ 1, 1 }, { 5, 2 }, { 7, 4 }, { 8, 7 }},
725 {{ 1.000000f, 1.000000f }, { 2.055050f, 1.263763f }, { 2.970959f, 1.597096f },
726 { 3.766077f, 2.000000f },
727 { 5.985480f, 3.124621f }, { 7.263762f, 4.791288f }, { 8.000000f, 7.000000f }}
730 {{ 1, 1 }, { 5, 2 }, { 7, 4 }, { 8, 7 }},
732 {{ 1.000000f, 1.000000f }, { 4.033223f, 1.758306f }, { 5.916391f, 3.091639f },
733 { 7.085550f, 5.000000f },
734 { 7.458195f, 5.608251f }, { 7.758306f, 6.274917f }, { 8.000000f, 7.000000f }}
738 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
740 {{ 2.000000f, 7.000000f }, { 2.162856f, 6.185719f }, { 2.378757f, 5.530570f },
741 { 2.647702f, 5.000000f },
742 { 4.030182f, 2.272668f }, { 6.814281f, 2.837144f }, { 11.000000f, 2.000000f }}
745 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
747 {{ 2.000000f, 7.000000f }, { 2.500000f, 4.500000f }, { 3.500000f, 3.500000f },
748 { 5.000000f, 3.000000f },
749 { 6.500000f, 2.500000f }, { 8.500000f, 2.500000f }, { 11.000000f, 2.000000f }}
752 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
754 {{ 2.000000f, 7.000000f }, { 2.750000f, 3.250000f }, { 4.625000f, 2.875000f },
755 { 7.625000f, 2.500000f },
756 { 8.625000f, 2.375000f }, { 9.750000f, 2.250000f }, { 11.000000f, 2.000000f }}
763 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
765 {{ 11.000000f, 2.000000f }, { 6.814281f, 2.837144f }, { 4.030182f, 2.272668f },
766 { 2.647702f, 5.000000f },
767 { 2.378757f, 5.530570f }, { 2.162856f, 6.185719f }, { 2.000000f, 7.000000f }}
770 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
772 {{ 11.000000f, 2.000000f }, { 8.500000f, 2.500000f }, { 6.500000f, 2.500000f },
773 { 5.000000f, 3.000000f },
774 { 3.500000f, 3.500000f }, { 2.500000f, 4.500000f }, { 2.000000f, 7.000000f }}
777 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
779 {{ 11.000000f, 2.000000f }, { 9.750000f, 2.250000f }, { 8.625000f, 2.375000f },
780 { 7.625000f, 2.500000f },
781 { 4.625000f, 2.875000f }, { 2.750000f, 3.250000f }, { 2.000000f, 7.000000f }}
785 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
787 {{ -2.000000f,100.000000f }, { -1.930979f, 96.548965f }, { -1.864341f, 93.217033f },
788 { -1.795892f, 90.000000f },
789 { 0.119096f, -0.002382f }, { 3.451032f, -0.069021f }, {100.000000f, -2.000000f }}
792 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
794 {{ -2.000000f,100.000000f }, { -0.937505f, 46.875271f }, { -0.439458f, 21.972910f },
795 { 14.787060f, 10.000000f },
796 { 28.222368f, -0.564447f }, { 53.124729f, -1.062495f }, {100.000000f, -2.000000f }}
799 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
801 {{ -2.000000f,100.000000f }, { -0.426983f, 21.349131f }, { -0.091157f, 4.557854f },
802 { 48.633648f, 0.000000f },
803 { 61.859592f, -1.237192f }, { 78.650871f, -1.573017f }, {100.000000f, -2.000000f }}
807 {{-250.121582f, -1180.09509f}, {10.007843f, -1180.09509f},
808 {20.015685f, -786.041259f}, {40.0313721f, 2.0664072f}},
810 {{-250.121582f, -1180.095093f}, {9.780392f, -1180.095093f}, {19.997992f, -786.730042f},
811 {39.978889f, 0.000000f},
812 {39.996376f, 0.688501f}, {40.013870f, 1.377304f}, {40.031372f, 2.066407f}}
853 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
855 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 1.065055f, 1.065055f },
856 { 2.500000f, 2.500000f },
857 { 5.461981f, 5.461981f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
860 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
862 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 2.500000f, 2.500000f },
863 { 5.000000f, 5.000000f },
864 { 7.500000f, 7.500000f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
867 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
869 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 6.467375f, 6.467375f },
870 { 9.000000f, 9.000000f },
871 { 9.616623f, 9.616623f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
874 {{ 0, 0 }, { 0, 0 }, { 10, 10 }, { 10, 10 }},
876 {{ 0.000000f, 0.000000f }, { 0.000000f, 0.000000f }, { 10.000000f, 10.000000f },
877 { 10.000000f, 10.000000f },
878 { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }, { 10.000000f, 10.000000f }}
882 {{ 1, 1 }, { 5, 2 }, { 7, 4 }, { 8, 7 }},
884 {{ 1.000000f, 1.000000f }, { 1.348275f, 1.087069f }, { 1.681389f, 1.181719f },
885 { 2.000000f, 1.283949f },
886 { 5.340694f, 2.355856f }, { 7.087069f, 4.261207f }, { 8.000000f, 7.000000f }}
889 {{ 1, 1 }, { 5, 2 }, { 7, 4 }, { 8, 7 }},
891 {{ 1.000000f, 1.000000f }, { 2.650396f, 1.412599f }, { 3.960316f, 1.995436f },
892 { 5.000000f, 2.748511f },
893 { 6.480158f, 3.820634f }, { 7.412599f, 5.237797f }, { 8.000000f, 7.000000f }}
897 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
899 {{ 2.000000f, 7.000000f }, { 2.500000f, 4.500000f }, { 3.500000f, 3.500000f },
900 { 5.000000f, 3.000000f },
901 { 6.500000f, 2.500000f }, { 8.500000f, 2.500000f }, { 11.000000f, 2.000000f }}
904 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
906 {{ 2.000000f, 7.000000f }, { 2.228714f, 5.856432f }, { 2.562047f, 5.026724f },
907 { 3.000000f, 4.415163f },
908 { 4.476901f, 2.352807f }, { 7.143568f, 2.771286f }, { 11.000000f, 2.000000f }}
911 {{ 2, 7 }, { 3, 2 }, { 6, 3 }, { 11, 2 }},
913 {{ 2.000000f, 7.000000f }, { 2.131881f, 6.340593f }, { 2.298548f, 5.785543f },
914 { 2.500000f, 5.316498f },
915 { 3.826073f, 2.228977f }, { 6.659407f, 2.868119f }, { 11.000000f, 2.000000f }}
922 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
924 {{ 11.000000f, 2.000000f }, { 8.500000f, 2.500000f }, { 6.500000f, 2.500000f },
925 { 5.000000f, 3.000000f },
926 { 3.500000f, 3.500000f }, { 2.500000f, 4.500000f }, { 2.000000f, 7.000000f }}
929 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
931 {{ 11.000000f, 2.000000f }, { 7.143568f, 2.771286f }, { 4.476901f, 2.352807f },
932 { 3.000000f, 4.415163f },
933 { 2.562047f, 5.026724f }, { 2.228714f, 5.856432f }, { 2.000000f, 7.000000f }}
936 {{ 11, 2 }, { 6, 3 }, { 3, 2 }, { 2, 7 }},
938 {{ 11.000000f, 2.000000f }, { 6.659407f, 2.868119f }, { 3.826073f, 2.228977f },
939 { 2.500000f, 5.316498f },
940 { 2.298548f, 5.785543f }, { 2.131881f, 6.340593f }, { 2.000000f, 7.000000f }}
944 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
946 {{ -2.000000f,100.000000f }, { -0.069021f, 3.451032f }, { -0.002382f, 0.119096f },
947 { 90.000000f, -1.795892f },
948 { 93.217033f, -1.864341f }, { 96.548965f, -1.930979f }, {100.000000f, -2.000000f }}
951 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
953 {{ -2.000000f,100.000000f }, { -1.062495f, 53.124729f }, { -0.564447f, 28.222368f },
954 { 10.000000f, 14.787060f },
955 { 21.972910f, -0.439458f }, { 46.875271f, -0.937505f }, {100.000000f, -2.000000f }}
958 {{ -2, 100 }, { 0, 0 }, { 0, 0 }, { 100, -2 }},
960 {{ -2.000000f,100.000000f }, { -1.573017f, 78.650871f }, { -1.237192f, 61.859592f },
961 { 0.000000f, 48.633648f },
962 { 4.557854f, -0.091157f }, { 21.349131f, -0.426983f }, {100.000000f, -2.000000f }}