Flutter 第六课:Flutter动画Tween和绘制CustomPainter
第一步:建设2个dart文件
rose_data.dart文件里是动画的执行的坐标点
import 'package:flutter/material.dart';class RoseData { static final List<Offset> flowerPoints = [ Offset(182.0, 136.3), Offset(182.7, 135.3), Offset(183.0, 135.3), Offset(183.3, 135.3), Offset(183.7, 135.3), Offset(184.0, 135.0), Offset(184.3, 135.0), Offset(184.3, 134.7), Offset(184.7, 134.7), Offset(184.7, 134.3), Offset(185.0, 134.3), Offset(185.0, 134.0), Offset(185.3, 134.0), Offset(185.7, 134.0), Offset(185.7, 133.7), Offset(186.0, 133.3), Offset(186.0, 133.0), Offset(186.0, 132.7), Offset(186.0, 132.3), Offset(186.0, 131.7), Offset(186.0, 131.0), Offset(186.0, 130.7), Offset(186.3, 130.7), Offset(186.3, 130.3), Offset(186.7, 129.7), Offset(186.7, 129.3), Offset(186.7, 129.0), Offset(186.7, 128.7), Offset(186.7, 128.0), Offset(187.0, 127.7), Offset(187.3, 127.3), Offset(187.7, 126.7), Offset(187.7, 126.3), Offset(187.7, 126.0), Offset(187.0, 125.3), Offset(187.0, 124.7), Offset(186.7, 123.7), Offset(186.7, 123.0), Offset(186.7, 122.7), Offset(186.7, 122.3), Offset(186.7, 122.0), Offset(186.7, 121.7), Offset(186.3, 121.7), Offset(186.0, 121.7), Offset(185.7, 121.3), Offset(185.3, 121.3), Offset(185.0, 121.3), Offset(184.7, 121.0), Offset(184.3, 120.7), Offset(184.0, 120.7), Offset(184.0, 120.3), Offset(183.7, 120.3), Offset(183.3, 120.3), Offset(183.0, 120.3), Offset(182.7, 120.3), Offset(182.3, 120.0), Offset(181.7, 120.0), Offset(181.3, 120.0), Offset(180.7, 120.0), Offset(180.3, 120.0), Offset(180.0, 119.7), Offset(179.7, 119.7), Offset(179.3, 119.7), Offset(179.0, 119.7), Offset(178.7, 119.7), Offset(178.3, 119.7), Offset(178.0, 119.7), Offset(177.7, 119.7), Offset(177.3, 119.7), Offset(177.0, 119.7), Offset(176.7, 119.7), Offset(176.0, 119.7), Offset(175.7, 119.7), Offset(175.3, 120.0), Offset(174.7, 120.0), Offset(174.7, 120.3), Offset(174.3, 120.3), Offset(174.0, 120.7), Offset(173.7, 120.7), Offset(173.3, 120.7), Offset(173.3, 121.0), Offset(173.3, 121.3), Offset(172.7, 121.7), Offset(172.3, 121.7), Offset(172.0, 121.7), Offset(171.3, 122.0), Offset(170.7, 122.3), Offset(170.0, 122.7), Offset(169.3, 123.0), Offset(169.0, 123.3), Offset(168.3, 123.3), Offset(168.0, 123.7), Offset(167.7, 123.7), Offset(167.7, 124.0), Offset(167.3, 124.0), Offset(167.0, 124.3), Offset(166.7, 124.3), Offset(166.0, 124.7), Offset(165.3, 125.0), Offset(164.7, 125.3), Offset(164.3, 125.7), Offset(163.7, 125.7), Offset(163.0, 126.0), Offset(162.3, 127.0), Offset(162.0, 127.0), Offset(161.7, 127.3), Offset(161.3, 127.7), Offset(161.3, 128.0), Offset(161.3, 128.3), Offset(161.3, 128.7), Offset(161.3, 129.0), Offset(161.3, 129.3), Offset(161.3, 129.7), Offset(161.3, 130.0), Offset(161.3, 130.3), Offset(161.3, 130.7), Offset(161.3, 131.0), Offset(161.3, 131.7), Offset(161.3, 132.3), Offset(161.3, 133.3), Offset(161.3, 134.0), Offset(161.3, 134.7), Offset(161.3, 135.3), Offset(161.3, 136.0), Offset(161.3, 136.3), Offset(161.3, 136.7), Offset(161.3, 137.0), Offset(161.3, 137.3), Offset(161.3, 137.7), Offset(161.3, 138.0), Offset(161.3, 138.3), Offset(161.3, 138.7), Offset(161.3, 139.0), Offset(161.3, 139.3), Offset(161.3, 140.0), Offset(161.3, 140.7), Offset(161.3, 141.0), Offset(161.3, 141.7), Offset(161.3, 142.0), Offset(161.3, 142.3), Offset(161.7, 142.7), Offset(161.7, 143.0), Offset(162.0, 143.3), Offset(162.0, 143.7), Offset(162.3, 143.7), Offset(162.7, 144.0), Offset(162.7, 144.3), Offset(163.0, 144.3), Offset(163.3, 144.3), Offset(163.3, 144.7), Offset(163.7, 144.7), Offset(163.7, 145.0), Offset(164.0, 145.3), Offset(164.7, 145.3), Offset(165.0, 145.7), Offset(165.3, 146.0), Offset(165.3, 146.3), Offset(165.7, 146.3), Offset(165.7, 146.7), Offset(166.0, 146.7), Offset(166.3, 146.7), Offset(166.7, 146.7), Offset(167.0, 147.0), Offset(167.3, 147.0), Offset(168.0, 147.3), Offset(168.3, 147.3), Offset(168.7, 147.3), Offset(169.0, 147.3), Offset(169.3, 147.3), Offset(169.7, 147.3), Offset(170.0, 147.3), Offset(170.3, 147.3), Offset(170.7, 147.3), Offset(171.0, 147.3), Offset(171.3, 147.3), Offset(171.7, 147.3), Offset(172.0, 147.3), Offset(172.3, 147.3), Offset(172.7, 147.3), Offset(173.0, 147.3), Offset(173.3, 147.3), Offset(173.7, 147.7), Offset(174.0, 147.7), Offset(174.3, 147.7), Offset(174.7, 147.7), Offset(175.0, 147.7), Offset(175.3, 147.7), Offset(175.7, 147.7), Offset(176.3, 147.7), Offset(177.0, 147.7), Offset(177.3, 147.7), Offset(177.7, 147.7), Offset(178.0, 147.7), Offset(178.3, 147.7), Offset(178.7, 147.7), Offset(179.0, 147.7), Offset(180.0, 147.7), Offset(180.7, 147.7), Offset(182.0, 147.7), Offset(182.7, 147.7), Offset(183.3, 147.7), Offset(184.0, 147.7), Offset(184.3, 147.7), Offset(184.7, 147.7), Offset(185.0, 147.7), Offset(185.3, 147.7), Offset(185.7, 147.7), Offset(186.0, 147.7), Offset(186.3, 147.7), Offset(186.7, 147.7), Offset(187.0, 147.7), Offset(187.3, 147.7), Offset(187.7, 147.7), Offset(188.0, 147.7), Offset(188.3, 147.7), Offset(188.7, 147.7), Offset(189.0, 147.7), Offset(189.3, 147.7), Offset(189.3, 147.3), Offset(189.7, 147.3), Offset(190.0, 147.3), Offset(190.3, 147.3), Offset(190.3, 147.0), Offset(190.7, 147.0), Offset(191.0, 147.0), Offset(191.3, 147.0), Offset(191.7, 146.7), Offset(192.0, 146.7), Offset(192.3, 146.3), Offset(192.7, 146.3), Offset(193.0, 146.3), Offset(193.0, 146.0), Offset(193.3, 146.0), Offset(193.7, 145.7), Offset(194.3, 145.3), Offset(195.0, 145.0), Offset(195.3, 145.0), Offset(195.3, 144.7), Offset(196.0, 144.7), Offset(196.3, 144.3), Offset(196.3, 144.0), Offset(196.7, 144.0), Offset(197.0, 144.0), Offset(197.3, 143.7), Offset(197.7, 143.3), Offset(198.0, 143.0), Offset(198.7, 143.0), Offset(199.3, 142.3), Offset(199.7, 142.0), Offset(200.3, 142.0), Offset(200.7, 142.0), Offset(200.7, 141.7), Offset(201.0, 141.7), Offset(201.3, 141.3), Offset(201.7, 141.0), Offset(202.0, 141.0), Offset(202.0, 140.7), Offset(202.3, 140.7), Offset(202.7, 140.7), Offset(203.0, 140.3), Offset(203.3, 140.3), Offset(203.7, 140.0), Offset(204.0, 140.0), Offset(204.0, 139.7), Offset(204.0, 139.3), Offset(204.0, 139.0), Offset(204.0, 138.7), Offset(204.0, 138.3), Offset(204.3, 138.0), Offset(204.7, 138.0), Offset(205.0, 137.7), Offset(205.3, 137.3), Offset(205.3, 137.0), Offset(205.3, 136.7), Offset(205.3, 136.3), Offset(205.7, 135.7), Offset(206.0, 135.3), Offset(206.3, 135.0), Offset(206.3, 134.7), Offset(206.7, 134.7), Offset(206.7, 134.3), Offset(206.7, 134.0), Offset(206.7, 133.7), Offset(206.7, 133.3), Offset(206.7, 133.0), Offset(207.0, 132.3), Offset(207.0, 132.0), Offset(207.0, 131.7), Offset(207.0, 131.3), Offset(207.0, 130.7), Offset(207.0, 130.0), Offset(207.0, 129.3), Offset(207.0, 128.3), Offset(207.0, 127.7), Offset(207.0, 127.0), Offset(207.0, 126.7), Offset(207.0, 126.3), Offset(207.0, 126.0), Offset(207.0, 125.7), Offset(207.0, 125.3), Offset(207.0, 125.0), Offset(207.0, 124.3), Offset(206.7, 124.0), Offset(206.3, 123.3), Offset(206.0, 122.7), Offset(206.0, 122.3), Offset(205.7, 122.0), Offset(205.3, 121.7), Offset(205.3, 121.3), Offset(205.0, 121.3), Offset(205.0, 121.0), Offset(204.7, 121.0), Offset(204.3, 121.0), Offset(204.3, 120.7), Offset(204.0, 120.7), Offset(203.3, 120.3), Offset(202.7, 119.7), Offset(202.7, 119.3), Offset(202.3, 119.3), Offset(202.0, 119.3), Offset(201.7, 119.3), Offset(201.7, 119.0), Offset(201.0, 119.0), Offset(200.0, 118.3), Offset(199.7, 118.3), Offset(199.3, 118.0), Offset(199.0, 117.7), Offset(198.7, 117.3), Offset(198.3, 117.3), Offset(198.3, 117.0), Offset(198.0, 117.0), Offset(197.7, 117.0), Offset(197.3, 117.0), Offset(197.0, 116.7), Offset(196.7, 116.3), Offset(195.3, 116.0), Offset(194.7, 115.3), Offset(194.3, 115.3), Offset(194.0, 115.3), Offset(194.0, 115.0), Offset(193.0, 115.0), Offset(192.3, 115.0), Offset(191.3, 114.3), Offset(189.7, 114.0), Offset(189.0, 113.7), Offset(188.7, 113.3), Offset(188.3, 113.3), Offset(188.0, 113.3), Offset(188.0, 113.0), Offset(187.0, 113.0), Offset(186.0, 112.7), Offset(185.0, 112.3), Offset(184.0, 112.0), Offset(183.7, 111.7), Offset(183.3, 111.7), Offset(183.0, 111.7), Offset(181.7, 111.7), Offset(180.0, 111.3), Offset(179.0, 111.0), Offset(178.3, 111.0), Offset(178.3, 110.7), Offset(178.0, 110.7), Offset(177.7, 110.7), Offset(176.7, 110.7), Offset(175.3, 110.7), Offset(174.3, 110.7), Offset(173.3, 110.3), Offset(173.0, 110.3), Offset(172.7, 110.3), Offset(172.0, 110.3), Offset(171.7, 110.3), Offset(170.3, 110.3), Offset(169.3, 110.3), Offset(168.7, 110.3), Offset(168.0, 110.3), Offset(167.0, 110.3), Offset(166.3, 110.3), Offset(165.7, 110.3), Offset(164.7, 110.3), Offset(163.3, 110.7), Offset(162.3, 111.0), Offset(161.3, 111.0), Offset(160.0, 111.3), Offset(159.0, 111.3), Offset(157.0, 111.7), Offset(155.7, 111.7), Offset(155.3, 112.0), Offset(155.0, 112.0), Offset(155.0, 112.3), Offset(154.7, 112.3), Offset(153.7, 112.7), Offset(152.7, 113.3), Offset(151.0, 114.0), Offset(149.7, 114.3), Offset(149.0, 114.7), Offset(149.0, 115.0), Offset(148.7, 115.0), Offset(148.0, 115.7), Offset(147.3, 116.3), Offset(146.7, 117.0), Offset(146.3, 117.3), Offset(146.3, 117.7), Offset(146.3, 118.0), Offset(146.3, 118.3), Offset(146.3, 118.7), Offset(145.7, 119.3), Offset(145.3, 120.0), Offset(144.3, 121.3), Offset(144.3, 122.0), Offset(144.3, 122.7), Offset(144.3, 123.0), Offset(143.7, 125.0), Offset(143.0, 126.7), Offset(142.0, 129.3), Offset(141.3, 130.3), Offset(141.3, 130.7), Offset(141.0, 131.3), Offset(141.0, 131.7), Offset(141.0, 132.0), Offset(141.0, 132.3), Offset(141.0, 132.7), Offset(141.0, 133.7), Offset(140.7, 135.7), Offset(140.7, 137.0), Offset(140.7, 138.0), Offset(140.7, 138.3), Offset(140.7, 138.7), Offset(140.7, 139.0), Offset(140.7, 139.3), Offset(140.7, 139.7), Offset(140.7, 140.3), Offset(140.7, 142.0), Offset(140.7, 142.7), Offset(140.7, 143.7), Offset(141.0, 143.7), Offset(141.3, 143.7), Offset(141.7, 144.3), Offset(142.0, 144.7), Offset(142.3, 145.3), Offset(142.7, 146.3), Offset(143.3, 147.0), Offset(143.7, 148.0), Offset(144.0, 148.0), Offset(144.3, 148.7), Offset(145.0, 149.7), Offset(145.7, 150.0), Offset(145.7, 150.7), Offset(146.0, 151.3), Offset(146.3, 151.7), Offset(146.7, 152.3), Offset(147.3, 153.0), Offset(147.7, 153.7), Offset(148.3, 154.7), Offset(148.7, 155.0), Offset(149.0, 155.3), Offset(150.3, 156.3), Offset(151.0, 157.0), Offset(151.7, 157.7), Offset(152.0, 157.7), Offset(152.3, 158.3), Offset(153.7, 159.3), Offset(154.7, 160.0), Offset(154.7, 160.7), Offset(155.3, 160.7), Offset(156.7, 161.0), Offset(157.7, 161.7), Offset(159.0, 162.0), Offset(159.7, 162.3), Offset(160.0, 162.3), Offset(161.0, 162.7), Offset(162.0, 162.7), Offset(163.0, 162.7), Offset(164.0, 163.3), Offset(165.0, 163.3), Offset(165.3, 163.3), Offset(166.3, 163.7), Offset(167.0, 163.7), Offset(167.3, 163.7), Offset(167.7, 164.0), Offset(168.3, 164.3), Offset(169.0, 164.3), Offset(170.0, 164.7), Offset(170.3, 164.7), Offset(171.3, 164.7), Offset(171.7, 164.7), Offset(173.0, 164.7), Offset(174.3, 164.7), Offset(175.3, 164.7), Offset(176.3, 164.7), Offset(177.3, 164.7), Offset(178.7, 164.7), Offset(180.0, 164.7), Offset(181.0, 165.0), Offset(181.7, 165.0), Offset(182.3, 165.0), Offset(182.7, 165.0), Offset(183.3, 165.0), Offset(184.3, 165.3), Offset(186.0, 165.3), Offset(186.7, 165.3), Offset(187.7, 165.3), Offset(188.7, 165.3), Offset(189.0, 165.3), Offset(190.0, 165.3), Offset(191.0, 165.3), Offset(191.7, 165.3), Offset(192.7, 165.3), Offset(194.0, 165.3), Offset(194.7, 165.0), Offset(195.3, 164.7), Offset(196.0, 164.7), Offset(196.7, 164.3), Offset(197.7, 164.0), Offset(198.3, 163.7), Offset(199.3, 163.3), Offset(199.7, 163.3), Offset(200.7, 163.0), Offset(202.0, 162.7), Offset(203.0, 162.7), Offset(204.7, 162.0), Offset(206.0, 161.3), Offset(207.3, 161.0), Offset(208.0, 160.7), Offset(209.0, 160.3), Offset(209.3, 160.0), Offset(210.3, 160.0), Offset(211.0, 159.7), Offset(211.3, 159.3), Offset(212.3, 159.0), Offset(213.0, 158.7), Offset(213.7, 158.0), Offset(214.3, 158.0), Offset(215.0, 158.0), Offset(215.3, 157.7), Offset(216.3, 157.0), Offset(217.0, 156.7), Offset(218.0, 156.3), Offset(218.7, 156.0), Offset(220.0, 155.7), Offset(221.7, 155.0), Offset(223.3, 154.7), Offset(224.3, 154.0), Offset(225.3, 153.7), Offset(226.0, 153.3), Offset(227.0, 153.3), Offset(227.3, 153.0), Offset(228.3, 152.7), Offset(229.0, 152.3), Offset(229.3, 152.0), Offset(229.7, 152.0), Offset(230.7, 150.7), Offset(231.3, 150.3), Offset(231.7, 150.0), Offset(231.7, 149.7), Offset(232.0, 149.3), Offset(232.7, 149.0), Offset(233.0, 148.3), Offset(233.3, 148.0), Offset(233.3, 147.7), Offset(233.3, 147.3), Offset(234.0, 147.0), Offset(234.3, 146.0), Offset(234.7, 145.0), Offset(235.0, 145.0), Offset(235.0, 144.7), Offset(235.0, 144.3), Offset(235.3, 143.3), Offset(236.0, 143.0), Offset(236.0, 142.3), Offset(236.0, 142.0), Offset(236.0, 141.7), Offset(236.3, 140.3), Offset(236.7, 139.7), Offset(236.7, 139.3), Offset(236.7, 139.0), Offset(236.7, 138.7), Offset(237.0, 137.3), Offset(237.3, 136.0), Offset(237.3, 135.7), Offset(237.3, 135.3), Offset(237.3, 133.7), Offset(237.3, 132.7), Offset(237.3, 132.3), Offset(237.3, 132.0), Offset(237.3, 130.7), Offset(237.3, 129.3), Offset(237.3, 129.0), Offset(237.3, 128.3), Offset(237.3, 127.7), Offset(237.3, 126.7), Offset(237.3, 126.0), Offset(237.3, 125.7), Offset(237.3, 125.0), Offset(237.3, 124.0), Offset(237.3, 123.0), Offset(237.3, 122.7), Offset(236.7, 121.7), Offset(236.3, 120.7), Offset(235.7, 120.0), Offset(235.7, 119.7), Offset(235.3, 119.3), Offset(234.3, 118.3), Offset(233.3, 117.0), Offset(233.3, 116.3), Offset(233.0, 116.3), Offset(232.7, 116.3), Offset(232.3, 116.3), Offset(232.3, 116.0), Offset(231.7, 115.0), Offset(231.0, 114.7), Offset(230.3, 114.0), Offset(230.3, 113.7), Offset(230.0, 113.7), Offset(229.7, 113.3), Offset(229.0, 113.0), Offset(228.3, 112.3), Offset(228.0, 112.0), Offset(227.3, 111.7), Offset(226.7, 111.3), Offset(226.0, 111.3), Offset(225.3, 111.3), Offset(225.0, 111.0), Offset(224.7, 111.0), Offset(223.7, 110.7), Offset(223.3, 110.3), Offset(222.7, 110.3), Offset(222.0, 110.3), Offset(221.3, 109.7), Offset(220.7, 109.7), Offset(219.7, 109.7), Offset(218.3, 109.3), Offset(217.7, 108.7), Offset(216.7, 108.3), Offset(216.0, 108.0), Offset(215.7, 108.0), Offset(215.0, 107.7), Offset(214.3, 107.7), Offset(214.0, 107.7), Offset(213.3, 107.3), Offset(213.0, 107.0), Offset(212.3, 106.7), Offset(212.0, 106.7), Offset(211.0, 106.3), Offset(210.7, 106.3), Offset(210.0, 106.0), Offset(209.3, 105.7), Offset(208.7, 105.7), Offset(208.3, 105.7), Offset(207.7, 105.7), Offset(207.0, 105.7), Offset(206.0, 105.7), Offset(204.7, 105.3), Offset(204.3, 105.3), Offset(203.3, 105.3), Offset(202.3, 105.0), Offset(200.7, 105.0), Offset(199.7, 104.7), Offset(198.3, 104.7), Offset(196.3, 104.3), Offset(195.0, 104.0), Offset(194.0, 104.0), Offset(193.3, 103.3), Offset(192.7, 103.3), Offset(192.0, 103.0), Offset(191.3, 102.7), Offset(190.7, 102.7), Offset(190.3, 102.7), Offset(190.0, 102.3), Offset(189.3, 102.3), Offset(189.0, 102.3), Offset(188.3, 102.3), Offset(187.3, 102.0), Offset(186.7, 102.0), Offset(186.0, 102.0), Offset(185.7, 102.0), Offset(184.7, 101.7), Offset(184.0, 101.7), Offset(183.0, 101.7), Offset(182.0, 101.7), Offset(181.0, 101.7), Offset(180.0, 101.3), Offset(178.7, 101.3), Offset(177.7, 101.3), Offset(176.0, 101.3), Offset(174.3, 101.3), Offset(173.0, 101.3), Offset(171.7, 101.3), Offset(170.7, 101.3), Offset(169.7, 101.3), Offset(168.0, 101.3), Offset(167.3, 101.3), Offset(166.7, 101.3), Offset(165.3, 101.3), Offset(164.0, 101.3), Offset(163.0, 101.3), Offset(161.7, 101.3), Offset(161.0, 101.3), Offset(160.7, 101.3), Offset(160.3, 101.3), Offset(159.0, 101.3), Offset(157.7, 102.0), Offset(156.7, 102.3), Offset(156.0, 102.7), Offset(155.7, 102.7), Offset(155.3, 103.0), Offset(154.7, 103.3), Offset(153.3, 104.0), Offset(153.0, 104.7), Offset(152.0, 104.7), Offset(151.3, 105.3), Offset(151.0, 105.3), Offset(151.0, 105.7), Offset(150.3, 106.3), Offset(149.3, 106.7), Offset(147.7, 107.7), Offset(146.3, 109.0), Offset(145.7, 109.7), Offset(145.7, 110.0), Offset(145.0, 110.0), Offset(143.7, 111.0), Offset(142.7, 111.7), Offset(141.0, 113.0), Offset(140.3, 113.7), Offset(140.0, 114.3), Offset(139.7, 114.7), Offset(139.3, 115.0), Offset(138.0, 115.7), Offset(136.7, 116.7), Offset(135.7, 118.0), Offset(135.0, 118.7), Offset(135.0, 119.0), Offset(134.7, 119.3), Offset(134.3, 119.7), Offset(133.0, 120.3), Offset(131.0, 122.3), Offset(130.0, 123.3), Offset(129.3, 124.0), Offset(129.0, 125.0), Offset(128.7, 125.0), Offset(128.7, 125.3), Offset(127.7, 126.3), Offset(127.0, 126.7), Offset(125.7, 128.7), Offset(124.7, 129.3), Offset(124.3, 130.3), Offset(124.3, 130.7), Offset(124.3, 131.0), Offset(124.3, 131.3), Offset(124.0, 132.7), Offset(123.7, 133.7), Offset(123.0, 135.3), Offset(122.7, 136.0), Offset(122.7, 137.0), Offset(122.7, 137.3), Offset(122.7, 137.7), Offset(122.7, 138.3), Offset(122.7, 138.7), Offset(122.0, 141.3), Offset(121.3, 143.0), Offset(121.3, 144.0), Offset(121.0, 144.7), Offset(121.0, 145.0), Offset(120.7, 146.0), Offset(120.3, 147.3), Offset(119.3, 150.0), Offset(119.0, 151.7), Offset(118.7, 152.3), Offset(118.3, 152.7), Offset(118.3, 153.0), Offset(118.3, 154.7), Offset(118.3, 156.3), Offset(117.7, 159.0), Offset(117.7, 160.0), Offset(117.3, 161.0), Offset(117.3, 161.3), Offset(117.3, 163.3), Offset(117.3, 166.0), Offset(117.3, 167.3), Offset(117.3, 167.7), Offset(117.3, 168.7), Offset(117.3, 169.3), Offset(117.0, 170.0), Offset(116.7, 170.3), Offset(116.3, 170.3), Offset(116.3, 170.7), Offset(116.3, 171.3), Offset(115.7, 172.0), Offset(115.7, 172.7), Offset(115.7, 173.0), Offset(115.3, 173.3), Offset(114.7, 174.7), Offset(114.0, 176.0), Offset(114.0, 176.3), Offset(113.7, 177.0), Offset(113.7, 176.7), Offset(113.7, 176.3), Offset(113.7, 175.7), Offset(113.7, 175.3), Offset(113.0, 174.7), Offset(113.0, 174.0), Offset(113.0, 173.7), Offset(113.0, 173.0), Offset(113.0, 172.7), Offset(112.7, 172.7), Offset(112.3, 172.3), Offset(112.3, 172.0), Offset(112.0, 171.7), Offset(112.0, 171.3), Offset(112.0, 171.0), Offset(112.0, 170.7), Offset(111.7, 170.7), Offset(111.7, 170.3), Offset(111.7, 170.0), Offset(111.7, 169.7), Offset(111.7, 169.3), Offset(111.7, 169.0), Offset(111.7, 168.7), Offset(111.7, 168.3), Offset(111.3, 168.3), Offset(111.0, 168.0), Offset(111.0, 168.3), Offset(111.0, 168.7), Offset(111.0, 169.0), Offset(111.0, 169.7), Offset(111.0, 170.0), Offset(111.0, 170.7), Offset(111.0, 171.0), Offset(111.0, 172.0), Offset(111.0, 172.3), Offset(111.0, 173.3), Offset(111.0, 173.7), Offset(111.0, 174.7), Offset(111.0, 175.0), Offset(111.0, 175.3), Offset(111.0, 176.0), Offset(111.0, 176.3), Offset(111.0, 177.0), Offset(111.0, 177.3), Offset(111.0, 177.7), Offset(111.0, 178.0), Offset(111.0, 178.3), Offset(111.0, 178.7), Offset(111.0, 179.0), Offset(111.0, 179.7), Offset(111.0, 180.0), Offset(111.0, 180.3), Offset(111.0, 181.0), Offset(110.7, 181.3), Offset(110.7, 181.7), Offset(110.7, 182.0), Offset(110.7, 182.3), Offset(110.3, 183.0), Offset(110.3, 183.7), Offset(110.3, 184.3), Offset(110.0, 184.7), Offset(110.0, 185.3), Offset(110.0, 186.0), Offset(109.7, 186.7), Offset(109.3, 187.3), Offset(109.3, 188.0), Offset(109.0, 189.0), Offset(109.0, 189.3), Offset(109.0, 190.0), Offset(108.7, 190.3), Offset(108.7, 190.7), Offset(108.7, 191.3), Offset(108.7, 191.7), Offset(108.7, 192.7), Offset(108.7, 193.3), Offset(108.7, 194.0), Offset(108.7, 195.0), Offset(108.7, 195.7), Offset(108.7, 196.7), Offset(108.7, 198.0), Offset(108.7, 198.3), Offset(108.7, 199.0), Offset(108.7, 200.7), Offset(108.7, 201.7), Offset(108.7, 202.7), Offset(108.7, 204.3), Offset(108.7, 205.7), Offset(108.7, 206.7), Offset(108.7, 207.3), Offset(108.7, 208.3), Offset(108.7, 209.7), Offset(108.7, 210.0), Offset(108.7, 210.3), Offset(108.7, 211.3), Offset(109.0, 212.0), Offset(109.0, 212.7), Offset(109.3, 213.3), Offset(109.3, 214.3), Offset(109.7, 215.0), Offset(110.0, 216.0), Offset(110.3, 217.3), Offset(110.7, 218.3), Offset(110.7, 219.0), Offset(111.0, 220.0), Offset(111.0, 221.0), Offset(111.3, 222.0), Offset(111.3, 223.0), Offset(111.7, 223.7), Offset(111.7, 224.3), Offset(112.0, 225.0), Offset(112.0, 225.3), Offset(112.0, 226.3), Offset(112.0, 226.7), Offset(112.3, 227.3), Offset(112.7, 228.3), Offset(112.7, 228.7), Offset(112.7, 229.3), Offset(112.7, 230.3), Offset(113.0, 231.3), Offset(113.0, 232.7), Offset(113.3, 233.3), Offset(113.7, 235.0), Offset(114.0, 236.0), Offset(114.3, 237.3), Offset(114.7, 238.3), Offset(115.0, 239.0), Offset(115.0, 240.0), Offset(115.0, 240.3), Offset(115.3, 241.0), Offset(115.7, 241.3), Offset(116.0, 242.0), Offset(116.7, 242.7), Offset(116.7, 243.3), Offset(116.7, 243.7), Offset(117.3, 244.7), Offset(117.7, 245.0), Offset(118.3, 245.7), Offset(118.3, 246.3), Offset(118.7, 246.7), Offset(119.3, 247.7), Offset(119.7, 248.3), Offset(120.0, 249.0), Offset(120.3, 250.0), Offset(120.7, 250.3), Offset(121.3, 251.3), Offset(121.3, 251.7), Offset(121.7, 252.3), Offset(122.0, 253.0), Offset(122.3, 253.3), Offset(122.7, 254.3), Offset(123.0, 254.7), Offset(123.3, 255.0), Offset(123.7, 255.7), Offset(124.0, 256.3), Offset(124.3, 256.7), Offset(124.3, 257.0), Offset(124.7, 257.7), Offset(125.3, 258.0), Offset(125.7, 258.7), Offset(126.3, 259.3), Offset(127.0, 260.3), Offset(127.7, 261.0), Offset(128.0, 262.0), Offset(129.0, 263.0), Offset(129.7, 264.0), Offset(130.7, 265.0), Offset(131.0, 265.3), Offset(132.0, 266.3), Offset(132.3, 267.0), Offset(132.7, 267.3), Offset(133.0, 267.7), Offset(133.3, 267.7), Offset(133.7, 268.0), Offset(133.7, 268.3), Offset(134.0, 268.7), Offset(134.3, 269.0), Offset(134.7, 269.7), Offset(135.3, 270.3), Offset(136.0, 271.0), Offset(136.3, 271.7), Offset(137.3, 272.3), Offset(137.7, 272.7), Offset(138.3, 273.3), Offset(139.3, 274.3), Offset(140.3, 275.0), Offset(141.0, 276.0), Offset(142.0, 276.7), Offset(143.0, 277.7), Offset(143.7, 278.3), Offset(144.7, 279.0), Offset(145.3, 279.7), Offset(145.7, 279.7), Offset(146.3, 280.7), Offset(146.7, 281.0), Offset(147.3, 281.3), Offset(148.0, 282.0), Offset(148.3, 282.7), Offset(148.7, 282.7), Offset(149.3, 283.0), Offset(149.3, 283.7), Offset(150.3, 284.0), Offset(151.0, 284.7), Offset(151.7, 285.3), Offset(152.7, 285.7), Offset(153.0, 286.3), Offset(153.7, 286.7), Offset(154.3, 287.3), Offset(155.0, 287.7), Offset(155.3, 288.0), Offset(155.7, 288.3), Offset(156.3, 288.7), Offset(156.7, 289.0), Offset(157.0, 289.7), Offset(157.7, 290.0), Offset(158.0, 290.3), Offset(158.7, 291.0), Offset(159.3, 291.3), Offset(160.0, 291.7), Offset(160.3, 292.3), Offset(161.0, 292.7), Offset(161.7, 293.3), Offset(162.0, 293.7), Offset(163.0, 294.3), Offset(163.7, 295.3), Offset(164.7, 295.7), Offset(165.3, 296.3), Offset(166.0, 297.0), Offset(166.7, 297.0), Offset(167.3, 297.7), Offset(168.0, 298.0), Offset(168.3, 298.0), Offset(168.7, 298.3), Offset(169.3, 298.3), Offset(169.7, 299.0), Offset(170.0, 299.0), Offset(170.7, 299.3), Offset(171.0, 299.7), Offset(171.7, 300.0), Offset(172.3, 300.0), Offset(173.0, 300.0), Offset(174.0, 300.3), Offset(174.7, 300.7), Offset(175.3, 301.0), Offset(176.0, 301.0), Offset(176.7, 301.3), Offset(177.7, 301.7), Offset(178.3, 301.7), Offset(179.0, 301.7), Offset(179.3, 301.7), Offset(180.0, 301.7), Offset(181.0, 302.0), Offset(181.3, 302.0), Offset(182.0, 302.0), Offset(182.7, 302.0), Offset(183.0, 302.0), Offset(183.3, 302.0), Offset(183.7, 302.0), Offset(184.3, 302.0), Offset(184.7, 302.0), Offset(185.3, 302.0), Offset(186.0, 302.0), Offset(186.0, 301.7), Offset(186.3, 301.7), Offset(187.0, 301.0), Offset(187.3, 300.3), Offset(187.7, 300.3), Offset(188.3, 299.7), Offset(188.7, 299.3), Offset(189.0, 299.0), Offset(189.3, 298.3), Offset(190.3, 298.0), Offset(190.7, 297.3), Offset(191.0, 297.0), Offset(191.3, 296.7), Offset(192.0, 296.3), Offset(192.3, 296.0), Offset(193.0, 295.3), Offset(193.7, 294.7), Offset(194.0, 294.3), Offset(194.3, 294.0), Offset(194.7, 293.7), Offset(195.0, 293.0), Offset(195.7, 293.0), Offset(196.3, 292.7), Offset(196.7, 292.0), Offset(197.7, 291.3), Offset(198.3, 291.0), Offset(199.3, 290.3), Offset(200.0, 290.0), Offset(200.7, 289.7), Offset(201.7, 289.3), Offset(202.0, 289.0), Offset(203.3, 288.3), Offset(204.0, 288.0), Offset(204.3, 287.3), Offset(205.0, 287.0), Offset(205.7, 287.0), Offset(206.0, 286.3), Offset(206.7, 285.7), Offset(207.3, 285.3), Offset(208.0, 284.7), Offset(208.7, 284.0), Offset(209.3, 283.7), Offset(209.3, 283.0), Offset(210.0, 282.3), Offset(210.7, 282.0), Offset(211.0, 281.0), Offset(211.7, 280.3), Offset(212.3, 279.7), Offset(212.7, 279.3), Offset(213.3, 278.3), Offset(213.7, 278.3), Offset(214.0, 277.7), Offset(214.3, 277.3), Offset(214.7, 277.0), Offset(215.0, 276.3), Offset(215.3, 276.3), Offset(216.0, 275.7), Offset(216.3, 275.0), Offset(217.0, 274.7), Offset(217.3, 274.3), Offset(217.7, 273.7), Offset(218.0, 273.3), Offset(218.3, 273.0), Offset(218.7, 272.7), Offset(218.7, 272.3), Offset(219.3, 271.7), Offset(220.0, 271.3), Offset(220.3, 270.3), Offset(221.0, 270.0), Offset(221.7, 269.3), Offset(222.3, 268.3), Offset(222.7, 268.0), Offset(223.0, 267.3), Offset(223.3, 267.0), Offset(224.0, 266.0), Offset(224.3, 265.7), Offset(225.0, 264.7), Offset(225.3, 264.0), Offset(225.7, 263.3), Offset(226.0, 263.0), Offset(226.3, 262.3), Offset(226.7, 262.0), Offset(227.0, 261.3), Offset(227.3, 260.7), Offset(228.0, 260.0), Offset(228.3, 259.3), Offset(228.7, 258.3), Offset(229.3, 257.3), Offset(229.7, 256.7), Offset(230.3, 255.3), Offset(230.7, 254.7), Offset(230.7, 254.3), Offset(231.3, 254.0), Offset(231.3, 253.0), Offset(232.0, 252.0), Offset(232.3, 251.0), Offset(232.7, 250.7), Offset(233.0, 249.3), Offset(233.3, 248.7), Offset(233.3, 248.0), Offset(233.7, 247.3), Offset(234.0, 246.7), Offset(234.7, 246.0), Offset(234.7, 244.7), Offset(235.0, 243.7), Offset(235.3, 242.7), Offset(235.7, 241.7), Offset(236.0, 241.3), Offset(236.7, 240.0), Offset(236.7, 239.3), Offset(237.3, 237.7), Offset(238.0, 237.0), Offset(238.3, 235.7), Offset(239.0, 235.0), Offset(239.7, 234.0), Offset(240.0, 232.7), Offset(240.3, 231.3), Offset(241.0, 230.7), Offset(241.3, 229.7), Offset(242.0, 228.3), Offset(242.3, 227.7), Offset(243.0, 226.7), Offset(243.0, 226.0), Offset(243.3, 225.7), Offset(243.3, 225.0), Offset(243.7, 224.7), Offset(243.7, 224.3), Offset(244.0, 223.3), Offset(244.7, 222.3), Offset(245.3, 221.0), Offset(245.7, 220.3), Offset(245.7, 219.7), Offset(245.7, 219.3), Offset(245.7, 219.0), Offset(245.7, 218.7), Offset(245.7, 217.3), Offset(245.7, 215.3), Offset(246.0, 214.3), Offset(246.0, 213.0), Offset(246.0, 212.7), Offset(246.0, 212.0), Offset(246.0, 211.0), Offset(246.0, 210.3), Offset(246.0, 209.7), Offset(246.0, 209.3), Offset(246.0, 208.3), Offset(246.0, 206.3), Offset(246.0, 203.7), Offset(246.0, 202.3), Offset(246.0, 201.3), Offset(246.0, 201.0), Offset(246.0, 200.7), Offset(246.0, 199.3), Offset(246.0, 198.3), Offset(246.0, 197.0), Offset(246.0, 196.0), Offset(246.0, 195.0), Offset(246.0, 194.0), Offset(246.0, 193.0), Offset(246.0, 191.7), Offset(246.0, 190.7), Offset(245.7, 189.3), Offset(245.7, 188.3), Offset(245.7, 187.0), Offset(245.7, 186.0), Offset(245.7, 185.0), Offset(245.3, 184.3), Offset(245.3, 183.7), Offset(245.0, 182.0), Offset(244.7, 181.0), Offset(244.7, 179.3), Offset(244.3, 178.7), Offset(244.0, 177.3), Offset(243.7, 176.3), Offset(243.3, 174.7), Offset(243.3, 173.3), Offset(242.7, 172.0), Offset(242.3, 171.3), Offset(242.3, 170.7), Offset(242.0, 169.7), Offset(242.0, 168.3), Offset(241.7, 167.0), Offset(241.0, 165.3), Offset(241.0, 164.3), Offset(240.3, 163.7), Offset(240.0, 163.0), Offset(239.7, 162.3), Offset(239.7, 161.7), Offset(239.3, 160.7), Offset(239.3, 160.3), Offset(239.3, 159.0), Offset(239.0, 158.0), Offset(238.7, 157.3), Offset(238.7, 156.7), Offset(238.7, 156.0), Offset(238.3, 154.7), Offset(238.3, 153.7), Offset(238.0, 152.0), Offset(238.0, 150.7), Offset(237.7, 150.7), Offset(237.7, 150.0), Offset(237.7, 149.7), Offset(237.3, 149.0), Offset(236.7, 147.0), Offset(236.0, 145.7), Offset(236.0, 145.0), Offset(235.7, 144.7), Offset(235.0, 144.7), Offset(234.7, 144.7), Offset(234.3, 144.7), Offset(234.3, 145.0), Offset(234.3, 145.3), Offset(234.3, 145.7), Offset(234.3, 146.3), Offset(234.3, 147.0), Offset(234.3, 147.7), Offset(234.3, 148.0), Offset(234.3, 148.3), Offset(234.3, 148.7), Offset(234.3, 149.0), Offset(234.3, 149.3), Offset(234.3, 149.7), Offset(234.3, 150.0), Offset(234.3, 150.3), Offset(234.3, 150.7), Offset(234.3, 151.0), Offset(234.3, 151.3), Offset(234.3, 151.7), Offset(234.3, 152.0), Offset(234.3, 152.7), Offset(234.3, 153.0), Offset(234.0, 153.3), Offset(234.0, 154.0), Offset(234.0, 154.7), Offset(233.7, 155.0), Offset(233.7, 155.3), Offset(233.3, 155.7), Offset(233.3, 156.3), Offset(233.0, 156.7), Offset(232.7, 157.3), Offset(232.7, 157.7), Offset(232.3, 158.0), Offset(232.3, 158.3), Offset(232.3, 159.0), Offset(232.0, 159.3), Offset(231.7, 160.0), Offset(231.3, 160.3), Offset(231.3, 160.7), Offset(231.0, 161.0), Offset(230.7, 161.7), Offset(230.7, 162.0), Offset(230.3, 162.7), Offset(230.3, 163.0), Offset(230.0, 163.7), Offset(229.7, 164.7), Offset(229.3, 165.0), Offset(229.0, 165.7), Offset(228.7, 166.7), Offset(228.3, 166.7), Offset(228.3, 167.7), Offset(228.0, 168.3), Offset(227.3, 169.3), Offset(227.0, 170.0), Offset(226.7, 170.3), Offset(226.7, 171.0), Offset(226.3, 171.7), Offset(226.0, 171.7), Offset(225.7, 172.3), Offset(225.3, 173.0), Offset(224.7, 173.7), Offset(224.7, 174.3), Offset(224.3, 175.0), Offset(223.7, 175.7), Offset(223.3, 176.7), Offset(223.0, 177.0), Offset(222.7, 177.7), Offset(222.3, 178.3), Offset(222.0, 178.7), Offset(221.7, 179.0), Offset(221.3, 179.7), Offset(221.3, 180.0), Offset(221.0, 180.3), Offset(220.7, 181.0), Offset(220.3, 181.3), Offset(220.0, 181.7), Offset(219.7, 182.0), Offset(219.3, 182.3), Offset(219.3, 182.7), Offset(219.0, 183.0), Offset(218.7, 183.3), Offset(218.3, 184.0), Offset(218.0, 184.3), Offset(217.3, 185.0), Offset(217.0, 185.3), Offset(217.0, 186.0), Offset(216.3, 186.7), Offset(215.7, 187.3), Offset(215.3, 188.0), Offset(214.7, 188.3), Offset(214.3, 189.0), Offset(214.0, 189.7), Offset(213.7, 190.0), Offset(213.0, 191.0), Offset(212.3, 191.7), Offset(211.7, 192.0), Offset(211.3, 192.7), Offset(210.3, 194.0), Offset(209.7, 195.0), Offset(209.0, 196.0), Offset(208.3, 196.7), Offset(207.3, 197.3), Offset(206.7, 198.3), Offset(206.0, 198.7), Offset(205.0, 199.7), Offset(204.0, 200.3), Offset(203.0, 201.0), Offset(202.3, 201.0), Offset(201.7, 201.3), Offset(201.0, 201.7), Offset(200.7, 202.3), Offset(199.7, 202.7), Offset(199.3, 202.7), Offset(198.3, 203.0), Offset(197.7, 203.3), Offset(197.3, 203.7), Offset(196.3, 204.0), Offset(196.0, 204.3), Offset(195.7, 204.3), Offset(195.0, 204.3), Offset(194.0, 204.7), Offset(193.3, 204.7), Offset(193.0, 205.0), Offset(192.7, 205.0), Offset(192.3, 205.3), Offset(192.0, 205.3), Offset(191.3, 205.7), Offset(191.0, 206.0), Offset(190.7, 206.0), Offset(190.3, 206.3), Offset(190.0, 206.7), Offset(189.3, 207.3), Offset(189.0, 207.3), Offset(188.3, 208.0), Offset(187.7, 208.7), Offset(187.3, 209.0), Offset(186.3, 209.3), Offset(185.7, 210.0), Offset(185.0, 210.7), Offset(184.0, 211.0), Offset(183.0, 211.7), Offset(182.7, 212.3), Offset(181.7, 212.7), Offset(181.0, 213.3), Offset(180.3, 213.7), Offset(179.7, 214.0), Offset(179.3, 214.7), Offset(178.7, 215.0), Offset(178.0, 215.3), Offset(177.3, 216.0), Offset(177.0, 216.3), Offset(176.0, 217.0), Offset(176.0, 217.3), Offset(175.3, 217.3), Offset(174.7, 217.7), Offset(174.7, 218.0), Offset(174.0, 218.3), Offset(173.3, 218.7), Offset(173.0, 219.0), Offset(173.0, 219.7), Offset(172.0, 220.3), Offset(171.3, 220.7), Offset(171.0, 221.3), Offset(170.3, 222.0), Offset(169.7, 222.3), Offset(169.3, 222.7), Offset(169.3, 223.0), Offset(169.0, 223.3), Offset(168.7, 223.7), Offset(168.0, 224.3), Offset(167.7, 224.7), Offset(167.7, 225.0), Offset(167.3, 225.0), Offset(166.7, 225.7), Offset(166.3, 226.3), Offset(166.0, 226.7), Offset(165.7, 227.3), Offset(165.0, 227.7), Offset(165.0, 228.0), Offset(164.7, 228.0), Offset(164.7, 228.7), Offset(164.3, 229.0), Offset(164.0, 229.3), Offset(164.0, 229.7), Offset(164.0, 230.0), Offset(163.7, 230.3), Offset(163.3, 231.0), Offset(163.3, 231.3), Offset(163.0, 231.7), Offset(162.7, 232.3), Offset(162.7, 232.7), Offset(162.3, 233.3), Offset(162.0, 234.0), Offset(161.7, 234.7), Offset(161.3, 235.3), Offset(160.7, 236.0), Offset(160.7, 237.0), Offset(160.3, 238.0), Offset(160.0, 238.3), Offset(159.7, 239.7), Offset(159.3, 240.3), Offset(159.0, 241.0), Offset(158.7, 242.0), Offset(158.7, 243.0), Offset(158.7, 243.7), Offset(158.3, 244.7), Offset(158.3, 245.3), Offset(158.3, 246.3), Offset(158.3, 247.3), Offset(158.3, 247.7), Offset(158.3, 248.7), Offset(158.3, 249.7), Offset(158.3, 250.3), Offset(158.3, 250.7), Offset(158.3, 251.3), Offset(158.3, 251.7), Offset(158.3, 252.3), Offset(158.3, 252.7), Offset(158.3, 253.3), Offset(158.3, 254.0), Offset(158.3, 254.3), Offset(158.3, 255.0), Offset(158.3, 255.3), Offset(158.7, 256.3), Offset(158.7, 257.0), Offset(158.7, 257.7), Offset(158.7, 258.3), Offset(158.7, 258.7), Offset(158.7, 259.3), Offset(159.0, 259.7), Offset(159.3, 260.7), Offset(159.3, 261.0), Offset(159.3, 261.3), Offset(159.7, 262.0), Offset(160.0, 262.3), Offset(160.0, 263.0), Offset(160.0, 263.7), Offset(160.0, 264.0), Offset(160.0, 264.7), Offset(160.3, 265.7), Offset(160.3, 266.3), Offset(160.7, 266.7), Offset(160.7, 267.7), Offset(161.0, 268.3), Offset(161.0, 269.0), Offset(161.3, 269.7), Offset(161.7, 270.3), Offset(161.7, 271.0), Offset(161.7, 271.7), Offset(161.7, 272.3), Offset(161.7, 272.7), Offset(161.7, 273.0), Offset(161.7, 274.0), Offset(162.0, 274.0), Offset(162.0, 275.0), Offset(162.3, 275.7), Offset(162.3, 276.0), Offset(162.7, 276.7), Offset(162.7, 277.0), Offset(163.0, 277.0), Offset(163.0, 277.7), Offset(163.3, 278.3), Offset(163.3, 278.7), Offset(163.3, 279.3), Offset(163.3, 280.0), Offset(163.7, 280.3), Offset(164.0, 280.7), Offset(164.0, 281.7), Offset(164.7, 282.0), Offset(165.0, 282.3), Offset(165.0, 283.0), Offset(165.3, 283.7), Offset(166.0, 284.7), Offset(166.3, 285.0), Offset(166.7, 285.3), Offset(167.0, 286.3), Offset(167.3, 286.7), Offset(168.0, 287.3), Offset(168.3, 288.0), Offset(168.7, 288.7), Offset(169.0, 289.0), Offset(169.7, 289.7), Offset(170.0, 289.7), Offset(170.0, 290.3), Offset(170.3, 290.3), Offset(170.7, 290.3), Offset(171.0, 291.0), Offset(171.0, 291.3), Offset(171.3, 291.7), Offset(171.7, 292.0), Offset(172.0, 292.0), Offset(172.0, 292.3), Offset(172.3, 292.3), Offset(172.7, 292.7), Offset(173.0, 293.0), Offset(173.0, 293.3), Offset(173.3, 294.0), Offset(173.7, 294.0), Offset(173.7, 294.3), Offset(174.0, 294.7), Offset(174.3, 294.7), Offset(174.7, 295.0), Offset(175.0, 295.3), Offset(175.3, 295.3), Offset(175.3, 295.7), Offset(175.7, 296.0), Offset(176.0, 296.0), Offset(176.3, 296.3), Offset(176.3, 296.7), Offset(176.7, 297.0), Offset(177.0, 297.7), Offset(177.3, 297.7), Offset(178.0, 298.3), Offset(178.3, 299.0), Offset(178.7, 299.0), Offset(179.0, 299.3), Offset(179.0, 299.7), Offset(179.3, 300.0), Offset(179.7, 300.3), Offset(180.0, 300.0), Offset(180.0, 299.7), Offset(180.0, 299.3), Offset(180.0, 299.0), Offset(180.0, 298.7), Offset(180.0, 298.0), Offset(180.3, 297.7), Offset(180.3, 297.0), Offset(180.3, 296.3), Offset(180.7, 295.7), Offset(180.7, 294.7), Offset(181.0, 294.0), Offset(181.0, 293.7), Offset(181.7, 292.7), Offset(182.0, 292.0), Offset(182.3, 291.3), Offset(182.3, 290.7), Offset(182.3, 290.3), Offset(183.0, 289.3), Offset(183.3, 288.7), Offset(183.7, 287.7), Offset(184.0, 287.0), Offset(184.0, 286.7), Offset(184.0, 285.7), Offset(184.3, 285.0), Offset(184.7, 284.7), Offset(184.7, 284.3), Offset(185.0, 284.0), Offset(185.0, 283.3), Offset(185.3, 282.3), Offset(185.3, 282.0), Offset(185.7, 281.0), Offset(185.7, 280.3), Offset(185.7, 280.0), Offset(186.0, 279.0), Offset(186.3, 278.3), Offset(186.3, 278.0), Offset(186.7, 277.7), Offset(186.7, 277.0), Offset(187.0, 276.7), Offset(187.0, 276.0), Offset(187.0, 275.3), Offset(187.0, 274.7), Offset(187.0, 274.0), Offset(187.0, 273.3), Offset(187.3, 273.0), Offset(187.3, 272.3), Offset(187.3, 271.7), Offset(187.3, 271.0), Offset(187.3, 270.7), Offset(187.7, 270.0), Offset(187.7, 269.7), Offset(187.7, 268.3), Offset(187.7, 267.7), Offset(187.7, 266.3), Offset(187.7, 266.0), Offset(187.7, 265.0), Offset(187.7, 264.3), Offset(187.7, 263.7), Offset(187.7, 263.0), Offset(187.7, 262.7), Offset(187.7, 262.0), Offset(187.7, 261.0), Offset(187.7, 259.7), Offset(187.7, 259.0), Offset(187.7, 258.3), Offset(187.7, 257.7), Offset(187.7, 257.3), Offset(187.7, 256.7), Offset(187.7, 256.0), Offset(187.7, 255.7), Offset(187.7, 255.3), Offset(187.7, 254.7), Offset(187.7, 254.0), Offset(187.7, 253.7), Offset(187.7, 253.0), Offset(187.3, 252.7), Offset(187.0, 252.0), Offset(187.0, 251.3), Offset(187.0, 251.0), Offset(186.7, 250.7), Offset(186.7, 250.3), Offset(186.7, 250.0), Offset(186.3, 249.3), Offset(186.0, 248.7), Offset(185.7, 248.3), Offset(185.7, 247.7), Offset(185.3, 247.0), Offset(184.7, 246.3), Offset(184.3, 245.3), Offset(184.0, 244.7), Offset(184.0, 244.3), Offset(183.7, 244.0), Offset(183.3, 243.7), Offset(183.0, 243.3), Offset(182.3, 242.7), Offset(182.3, 242.0), Offset(182.0, 241.3), Offset(181.7, 241.3), Offset(181.3, 241.0), Offset(181.0, 240.0), Offset(180.7, 239.7), Offset(180.3, 239.0), Offset(180.0, 238.3), Offset(179.3, 237.7), Offset(178.3, 236.3), Offset(178.3, 235.3), Offset(177.7, 234.7), Offset(177.0, 234.0), Offset(176.7, 233.3), Offset(176.3, 233.0), Offset(176.0, 232.3), Offset(175.3, 231.3), Offset(175.0, 231.0), Offset(175.0, 230.3), Offset(174.7, 230.0), Offset(174.3, 229.7), Offset(174.0, 229.3), Offset(173.3, 228.3), Offset(173.0, 228.0), Offset(172.0, 227.0), Offset(171.7, 226.3), Offset(171.3, 226.3), Offset(170.3, 225.3), Offset(169.7, 224.3), Offset(169.3, 224.0), Offset(168.7, 223.7), Offset(168.3, 223.3), Offset(168.0, 222.7), Offset(167.7, 222.7), Offset(167.3, 222.3), Offset(166.7, 222.0), Offset(166.3, 221.7), Offset(165.7, 221.3), Offset(165.0, 221.0), Offset(164.3, 220.7), Offset(164.0, 220.0), Offset(163.3, 220.0), Offset(163.0, 219.7), Offset(162.3, 219.3), Offset(161.3, 219.0), Offset(160.7, 218.3), Offset(159.7, 218.0), Offset(159.0, 217.7), Offset(158.7, 217.7), Offset(157.7, 217.3), Offset(157.0, 217.0), Offset(156.3, 216.7), Offset(156.0, 216.3), Offset(155.3, 216.3), Offset(154.7, 216.0), Offset(154.3, 215.7), Offset(153.3, 215.0), Offset(152.7, 214.7), Offset(152.3, 214.7), Offset(151.7, 214.3), Offset(151.3, 213.7), Offset(150.7, 213.0), Offset(150.0, 212.7), Offset(149.0, 212.0), Offset(149.0, 211.7), Offset(148.3, 211.3), Offset(147.7, 211.0), Offset(147.0, 210.7), Offset(146.7, 210.3), Offset(145.7, 210.0), Offset(145.3, 209.3), Offset(144.7, 209.3), Offset(144.0, 209.0), Offset(143.3, 208.3), Offset(143.0, 208.0), Offset(142.7, 207.7), Offset(142.0, 207.7), Offset(141.7, 207.3), Offset(140.7, 206.7), Offset(140.0, 206.3), Offset(139.7, 206.0), Offset(139.0, 205.7), Offset(138.3, 205.3), Offset(137.7, 205.3), Offset(137.3, 205.0), Offset(136.7, 204.7), Offset(136.0, 204.3), Offset(135.3, 204.0), Offset(134.7, 203.7), Offset(134.0, 203.3), Offset(133.3, 203.0), Offset(132.7, 202.3), Offset(131.7, 202.3), Offset(131.3, 202.0), Offset(130.3, 201.7), Offset(129.7, 201.0), Offset(128.7, 200.7), Offset(128.0, 200.0), Offset(127.7, 200.0), Offset(127.0, 199.7), Offset(126.3, 198.7), Offset(125.7, 198.3), Offset(125.3, 197.7), Offset(125.0, 197.3), Offset(124.3, 196.7), Offset(124.0, 196.3), Offset(123.7, 196.3), Offset(123.3, 195.7), Offset(123.3, 195.3), Offset(123.0, 195.3), Offset(123.0, 195.0), Offset(122.7, 194.7), Offset(122.7, 193.7), Offset(122.0, 192.7), Offset(121.3, 191.7), Offset(120.7, 190.7), Offset(120.3, 190.0), Offset(120.0, 189.7), Offset(119.7, 189.0), Offset(119.3, 188.7), Offset(119.0, 188.0), Offset(118.7, 187.7), Offset(118.3, 187.0), Offset(117.7, 186.7), Offset(117.3, 186.0), Offset(117.3, 185.7), Offset(117.0, 185.3), Offset(116.7, 185.3), Offset(116.7, 185.0), Offset(116.0, 184.3), Offset(115.3, 183.3), Offset(115.3, 182.7), Offset(115.0, 182.0), Offset(115.0, 181.7), Offset(115.0, 181.7), Offset(115.0, 181.7), Offset(179.3, 301.7), Offset(237.7, 144.7), ]; static final List<Offset> branchPoints = [ Offset(179.3, 300.3), Offset(182.0, 338.3), Offset(182.0, 339.0), Offset(182.0, 339.7), Offset(182.7, 347.3), Offset(183.3, 348.3), Offset(183.3, 349.0), Offset(183.3, 349.7), Offset(183.3, 350.3), Offset(183.7, 351.0), Offset(183.7, 351.7), Offset(183.7, 352.3), Offset(183.7, 353.0), Offset(183.7, 353.3), Offset(184.0, 354.0), Offset(184.0, 354.3), Offset(184.0, 355.0), Offset(184.0, 355.7), Offset(184.0, 356.0), Offset(184.0, 356.7), Offset(184.0, 357.3), Offset(184.0, 358.0), Offset(184.3, 358.7), Offset(184.3, 359.3), Offset(184.3, 360.0), Offset(184.7, 360.7), Offset(184.7, 361.3), Offset(184.7, 362.0), Offset(185.0, 362.7), Offset(185.0, 363.3), Offset(185.7, 364.3), Offset(185.7, 365.3), Offset(186.0, 366.0), Offset(186.0, 366.7), Offset(186.3, 367.7), Offset(186.3, 368.3), Offset(186.7, 369.0), Offset(186.7, 370.3), Offset(187.0, 371.0), Offset(187.3, 372.0), Offset(187.7, 373.3), Offset(187.7, 374.3), Offset(188.0, 375.7), Offset(188.7, 377.3), Offset(189.3, 380.3), Offset(190.3, 381.7), Offset(190.7, 383.3), Offset(191.0, 385.0), Offset(192.0, 386.3), Offset(192.3, 388.0), Offset(192.7, 389.3), Offset(193.3, 390.3), Offset(194.0, 391.7), Offset(194.3, 393.3), Offset(194.7, 394.7), Offset(195.3, 395.7), Offset(196.0, 397.3), Offset(196.3, 399.3), Offset(197.0, 400.3), Offset(197.7, 402.3), Offset(198.7, 404.0), Offset(199.0, 405.7), Offset(199.3, 407.0), Offset(199.7, 408.7), Offset(200.3, 410.0), Offset(200.7, 411.0), Offset(201.0, 412.3), Offset(201.3, 413.3), Offset(201.7, 414.7), Offset(202.0, 416.0), Offset(202.7, 417.0), Offset(203.0, 418.3), Offset(203.3, 419.3), Offset(203.7, 420.7), Offset(204.0, 422.3), Offset(204.7, 423.3), Offset(205.0, 424.7), Offset(205.0, 426.3), Offset(205.3, 427.7), Offset(205.3, 428.7), Offset(205.7, 430.0), Offset(205.7, 431.0), Offset(206.0, 433.0), Offset(206.0, 434.0), Offset(206.0, 436.0), Offset(206.7, 437.0), Offset(206.7, 438.3), Offset(207.0, 439.0), Offset(207.0, 440.0), Offset(207.0, 441.3), Offset(207.3, 442.0), Offset(207.3, 442.7), Offset(207.3, 443.7), Offset(207.3, 444.0), Offset(207.7, 444.7), Offset(207.7, 445.3), Offset(207.7, 445.7), Offset(208.0, 446.3), Offset(208.0, 447.0), Offset(208.0, 447.7), Offset(208.0, 448.0), Offset(208.0, 448.7), Offset(208.3, 449.3), Offset(209.0, 450.7), Offset(209.3, 452.0), Offset(209.7, 453.7), Offset(210.0, 454.3), Offset(210.3, 455.0), Offset(210.7, 456.3), Offset(210.7, 457.0), Offset(211.0, 458.0), Offset(211.3, 458.7), Offset(212.0, 460.7), Offset(212.7, 462.3), Offset(213.0, 463.0), Offset(213.7, 463.7), Offset(214.3, 465.3), Offset(215.7, 466.7), Offset(216.0, 467.3), Offset(217.3, 468.3), Offset(218.3, 469.0), Offset(220.0, 470.3), Offset(223.0, 472.3), Offset(226.0, 474.3), Offset(228.3, 475.3), Offset(230.7, 477.0), Offset(231.3, 477.7), Offset(233.7, 478.7), Offset(235.0, 479.7), Offset(237.3, 481.0), Offset(239.3, 482.3), Offset(240.3, 483.0), Offset(241.7, 483.7), Offset(244.0, 485.7), Offset(246.3, 486.7), Offset(247.0, 487.3), Offset(249.0, 488.0), Offset(251.3, 489.7), Offset(252.0, 490.0), Offset(252.7, 490.3), Offset(254.0, 491.0), Offset(255.7, 491.7), Offset(257.3, 492.3), Offset(258.0, 492.7), Offset(259.0, 493.3), Offset(260.3, 494.0), Offset(261.3, 494.7), Offset(262.3, 495.3), Offset(263.7, 496.0), Offset(265.0, 496.7), Offset(265.7, 497.3), Offset(266.3, 497.7), Offset(268.0, 499.0), Offset(270.0, 500.7), Offset(272.0, 502.3), Offset(275.3, 505.0), Offset(277.3, 507.0), Offset(280.3, 509.3), Offset(282.0, 511.0), Offset(283.0, 511.7), Offset(283.3, 512.0), Offset(283.7, 512.0), Offset(283.0, 512.0), Offset(283.0, 512.0), ]; static final List<Offset> leafBranchPoints1 = [ Offset(183.0, 327.3), Offset(250.3, 319.3), ]; static final List<Offset> leafPoints1 = [ Offset(203.3, 324.0), Offset(205.0, 323.3), Offset(205.0, 323.0), Offset(205.0, 322.7), Offset(205.3, 322.3), Offset(205.7, 322.3), Offset(206.0, 322.0), Offset(206.3, 322.0), Offset(206.7, 321.7), Offset(207.0, 321.3), Offset(207.0, 321.0), Offset(207.0, 320.7), Offset(207.7, 320.7), Offset(208.7, 319.3), Offset(210.0, 317.3), Offset(210.7, 316.7), Offset(211.7, 315.3), Offset(212.7, 314.3), Offset(213.3, 313.3), Offset(214.0, 313.0), Offset(214.3, 313.0), Offset(214.7, 313.0), Offset(215.0, 312.7), Offset(215.3, 312.3), Offset(215.7, 312.0), Offset(216.0, 311.7), Offset(216.7, 311.0), Offset(217.7, 310.3), Offset(218.0, 310.0), Offset(218.3, 310.0), Offset(219.0, 309.7), Offset(220.0, 309.3), Offset(220.3, 309.0), Offset(220.7, 309.0), Offset(221.0, 308.7), Offset(221.3, 308.3), Offset(222.0, 308.0), Offset(222.7, 307.3), Offset(223.3, 307.3), Offset(224.0, 306.7), Offset(224.3, 306.3), Offset(225.0, 306.0), Offset(225.7, 305.7), Offset(226.0, 305.7), Offset(226.3, 305.3), Offset(226.7, 305.3), Offset(227.3, 305.0), Offset(228.0, 304.7), Offset(228.7, 304.3), Offset(229.3, 304.0), Offset(230.0, 304.0), Offset(230.7, 303.7), Offset(231.3, 303.3), Offset(231.7, 303.3), Offset(232.0, 303.0), Offset(232.3, 303.0), Offset(232.7, 303.0), Offset(233.0, 303.0), Offset(233.3, 303.0), Offset(233.7, 303.0), Offset(234.0, 302.7), Offset(234.7, 302.7), Offset(235.3, 302.3), Offset(236.7, 302.3), Offset(237.3, 302.0), Offset(238.3, 301.7), Offset(239.0, 301.7), Offset(240.3, 301.3), Offset(241.0, 301.3), Offset(241.7, 301.0), Offset(242.3, 301.0), Offset(243.0, 300.7), Offset(243.7, 300.7), Offset(244.3, 300.3), Offset(245.0, 300.3), Offset(245.7, 300.3), Offset(246.3, 300.0), Offset(247.0, 300.0), Offset(247.7, 300.0), Offset(248.3, 300.0), Offset(248.7, 299.7), Offset(249.3, 299.7), Offset(249.7, 299.7), Offset(250.0, 299.7), Offset(250.3, 299.7), Offset(250.3, 299.3), Offset(250.7, 299.3), Offset(251.0, 299.3), Offset(251.3, 299.3), Offset(251.7, 299.3), Offset(252.3, 299.0), Offset(253.0, 299.0), Offset(254.3, 299.0), Offset(255.0, 299.0), Offset(255.7, 299.0), Offset(256.3, 298.7), Offset(257.0, 298.7), Offset(257.3, 298.7), Offset(257.7, 298.7), Offset(258.0, 298.7), Offset(258.3, 298.7), Offset(258.7, 298.7), Offset(259.0, 298.7), Offset(259.7, 298.7), Offset(260.7, 298.7), Offset(262.7, 298.7), Offset(263.7, 298.7), Offset(264.7, 298.7), Offset(265.3, 298.7), Offset(266.0, 298.7), Offset(266.3, 298.7), Offset(266.7, 298.7), Offset(267.0, 298.7), Offset(267.7, 299.0), Offset(268.0, 299.3), Offset(270.3, 300.0), Offset(271.7, 300.3), Offset(273.3, 300.7), Offset(274.3, 300.7), Offset(274.3, 301.0), Offset(275.0, 301.3), Offset(276.7, 301.7), Offset(278.3, 302.3), Offset(278.7, 302.3), Offset(279.3, 302.7), Offset(279.7, 302.7), Offset(279.7, 303.0), Offset(280.0, 303.0), Offset(281.3, 303.7), Offset(283.3, 304.7), Offset(284.3, 305.0), Offset(285.0, 305.3), Offset(285.3, 305.3), Offset(286.0, 306.0), Offset(287.3, 307.0), Offset(288.7, 307.7), Offset(289.3, 307.7), Offset(289.7, 308.0), Offset(290.0, 308.0), Offset(290.0, 308.3), Offset(290.3, 308.7), Offset(291.7, 309.3), Offset(292.7, 310.3), Offset(293.0, 310.7), Offset(293.0, 311.0), Offset(293.0, 311.3), Offset(293.0, 311.7), Offset(293.0, 312.0), Offset(292.7, 312.0), Offset(292.3, 312.3), Offset(292.0, 312.7), Offset(292.0, 313.0), Offset(291.7, 313.3), Offset(290.3, 314.3), Offset(288.7, 316.0), Offset(288.0, 317.0), Offset(287.3, 317.7), Offset(286.7, 317.7), Offset(286.0, 319.0), Offset(285.7, 320.0), Offset(285.3, 320.0), Offset(285.3, 320.3), Offset(284.7, 320.7), Offset(283.7, 321.0), Offset(282.0, 323.3), Offset(280.3, 325.3), Offset(279.3, 326.0), Offset(279.3, 326.7), Offset(279.0, 327.3), Offset(278.7, 327.3), Offset(278.3, 327.3), Offset(276.0, 328.3), Offset(274.0, 329.7), Offset(273.0, 330.3), Offset(272.3, 330.3), Offset(272.0, 330.7), Offset(271.7, 330.7), Offset(270.7, 331.0), Offset(268.7, 331.7), Offset(266.3, 333.0), Offset(263.7, 333.7), Offset(262.3, 334.0), Offset(262.0, 334.0), Offset(261.7, 334.0), Offset(259.0, 334.3), Offset(257.3, 334.7), Offset(254.7, 335.3), Offset(253.3, 335.7), Offset(253.0, 335.7), Offset(252.7, 335.7), Offset(252.3, 335.7), Offset(252.0, 335.7), Offset(251.7, 335.7), Offset(250.3, 336.0), Offset(247.3, 336.7), Offset(244.3, 337.0), Offset(242.3, 337.3), Offset(241.3, 337.3), Offset(241.0, 337.3), Offset(240.7, 337.3), Offset(240.3, 337.3), Offset(238.7, 337.3), Offset(236.3, 337.3), Offset(234.0, 337.7), Offset(232.7, 337.7), Offset(232.0, 337.7), Offset(231.7, 337.7), Offset(231.3, 337.7), Offset(228.7, 337.7), Offset(225.0, 337.7), Offset(223.3, 337.7), Offset(220.7, 337.3), Offset(218.7, 336.7), Offset(217.0, 336.0), Offset(215.7, 335.7), Offset(215.0, 335.7), Offset(214.7, 335.3), Offset(214.3, 335.0), Offset(214.3, 334.7), Offset(214.0, 334.3), Offset(213.3, 334.0), Offset(213.0, 333.3), Offset(212.7, 333.0), Offset(212.3, 332.7), Offset(211.0, 332.0), Offset(209.0, 330.7), Offset(207.3, 330.0), Offset(206.7, 329.3), Offset(206.3, 329.3), Offset(206.0, 329.0), Offset(205.0, 328.3), Offset(202.3, 326.7), Offset(201.0, 325.3), ]; static final List<Offset> leafBranchPoints2 = [ Offset(192.7, 389.3), Offset(142.3, 397.0) ]; static final List<Offset> leafPoints2 = [ Offset(192.7, 390.7), Offset(186.0, 388.0), Offset(185.7, 387.7), Offset(185.3, 387.3), Offset(184.7, 387.0), Offset(184.3, 386.3), Offset(184.0, 386.0), Offset(183.3, 385.7), Offset(183.0, 385.3), Offset(182.7, 385.0), Offset(182.3, 385.0), Offset(182.3, 384.7), Offset(182.0, 384.7), Offset(181.7, 384.3), Offset(181.3, 384.0), Offset(181.0, 384.0), Offset(180.3, 383.0), Offset(180.0, 383.0), Offset(179.3, 382.7), Offset(179.0, 382.3), Offset(178.7, 382.3), Offset(178.3, 382.0), Offset(178.3, 381.7), Offset(178.0, 381.7), Offset(177.7, 381.7), Offset(177.3, 381.7), Offset(177.0, 381.3), Offset(176.7, 381.0), Offset(176.0, 380.7), Offset(175.7, 380.7), Offset(175.0, 380.3), Offset(174.7, 380.3), Offset(174.0, 380.3), Offset(173.3, 379.7), Offset(173.0, 379.7), Offset(172.3, 379.3), Offset(171.7, 379.3), Offset(171.3, 379.3), Offset(170.7, 379.0), Offset(170.0, 379.0), Offset(169.3, 379.0), Offset(168.7, 378.7), Offset(168.3, 378.7), Offset(167.7, 378.7), Offset(167.0, 378.3), Offset(166.7, 378.3), Offset(166.0, 378.3), Offset(165.7, 378.3), Offset(165.3, 378.3), Offset(165.0, 378.3), Offset(164.7, 378.0), Offset(164.3, 378.0), Offset(164.0, 377.7), Offset(163.7, 377.7), Offset(163.0, 377.3), Offset(162.7, 377.3), Offset(162.7, 377.0), Offset(162.3, 377.0), Offset(162.0, 377.0), Offset(161.7, 376.7), Offset(161.0, 376.7), Offset(160.7, 376.7), Offset(160.3, 376.3), Offset(160.0, 376.3), Offset(159.7, 376.0), Offset(159.3, 376.0), Offset(159.0, 376.0), Offset(158.7, 376.0), Offset(158.3, 376.0), Offset(157.7, 376.0), Offset(157.3, 376.0), Offset(156.7, 376.0), Offset(156.3, 376.0), Offset(155.7, 376.0), Offset(155.0, 376.0), Offset(154.3, 376.0), Offset(153.3, 376.0), Offset(152.0, 376.0), Offset(151.3, 376.0), Offset(150.3, 376.0), Offset(149.7, 376.0), Offset(149.0, 376.0), Offset(148.3, 376.0), Offset(148.0, 376.0), Offset(147.3, 376.0), Offset(147.0, 376.0), Offset(146.7, 376.0), Offset(146.0, 376.0), Offset(145.7, 376.0), Offset(145.0, 376.0), Offset(144.7, 376.0), Offset(144.0, 376.0), Offset(143.3, 376.0), Offset(142.7, 376.0), Offset(142.0, 376.0), Offset(141.3, 376.0), Offset(140.7, 376.3), Offset(140.0, 376.3), Offset(139.3, 376.7), Offset(138.7, 376.7), Offset(138.0, 376.7), Offset(137.3, 377.0), Offset(137.0, 377.0), Offset(136.3, 377.0), Offset(135.0, 377.3), Offset(134.3, 377.3), Offset(133.7, 377.7), Offset(133.0, 378.0), Offset(131.7, 378.3), Offset(130.3, 378.7), Offset(129.0, 379.0), Offset(128.7, 379.3), Offset(128.0, 379.3), Offset(127.0, 379.7), Offset(126.0, 379.7), Offset(125.3, 379.7), Offset(124.7, 380.0), Offset(124.0, 380.0), Offset(123.7, 380.0), Offset(123.7, 380.3), Offset(123.3, 380.3), Offset(123.0, 380.3), Offset(122.7, 380.7), Offset(122.3, 380.7), Offset(122.0, 380.7), Offset(121.7, 381.0), Offset(121.3, 381.0), Offset(121.3, 381.3), Offset(121.0, 381.3), Offset(120.7, 381.3), Offset(120.0, 381.7), Offset(119.7, 382.0), Offset(119.0, 382.3), Offset(118.3, 382.7), Offset(117.7, 383.0), Offset(116.7, 383.7), Offset(116.0, 384.0), Offset(115.7, 384.3), Offset(115.3, 384.7), Offset(115.0, 385.0), Offset(114.7, 385.3), Offset(114.3, 385.3), Offset(114.3, 385.7), Offset(114.0, 385.7), Offset(113.0, 386.0), Offset(113.0, 386.3), Offset(112.7, 386.3), Offset(112.3, 386.7), Offset(112.3, 387.0), Offset(112.0, 387.0), Offset(112.0, 387.3), Offset(111.7, 387.3), Offset(111.3, 387.3), Offset(111.0, 387.7), Offset(110.7, 388.0), Offset(110.0, 388.3), Offset(110.0, 388.7), Offset(109.7, 389.0), Offset(109.3, 389.3), Offset(109.0, 389.3), Offset(108.7, 389.7), Offset(108.7, 390.0), Offset(108.3, 390.3), Offset(108.3, 390.7), Offset(108.3, 391.0), Offset(108.3, 391.3), Offset(108.0, 391.7), Offset(107.3, 392.0), Offset(107.0, 392.7), Offset(106.3, 393.3), Offset(106.0, 394.0), Offset(105.3, 395.0), Offset(104.7, 395.7), Offset(104.0, 396.3), Offset(103.7, 397.0), Offset(103.3, 397.7), Offset(103.0, 398.0), Offset(103.0, 398.3), Offset(102.7, 398.7), Offset(102.7, 399.0), Offset(102.3, 399.0), Offset(102.3, 399.3), Offset(102.0, 399.3), Offset(101.3, 399.7), Offset(101.0, 400.0), Offset(101.0, 400.3), Offset(100.7, 400.3), Offset(100.3, 400.3), Offset(100.0, 400.7), Offset(100.3, 400.7), Offset(100.7, 400.7), Offset(101.0, 400.7), Offset(101.3, 400.7), Offset(101.7, 401.0), Offset(101.7, 401.3), Offset(102.0, 401.3), Offset(102.3, 401.7), Offset(102.7, 401.7), Offset(103.0, 402.0), Offset(103.3, 402.0), Offset(103.3, 402.3), Offset(103.3, 402.7), Offset(103.7, 402.7), Offset(103.7, 403.0), Offset(104.0, 403.0), Offset(104.3, 403.0), Offset(104.3, 403.3), Offset(104.7, 403.3), Offset(104.7, 403.7), Offset(105.0, 404.3), Offset(105.7, 404.7), Offset(106.0, 405.0), Offset(106.3, 405.3), Offset(106.7, 405.7), Offset(106.7, 406.0), Offset(107.7, 406.3), Offset(108.3, 406.7), Offset(108.3, 407.0), Offset(108.7, 407.0), Offset(109.7, 407.7), Offset(110.0, 407.7), Offset(111.0, 408.3), Offset(112.7, 409.3), Offset(114.0, 409.7), Offset(115.0, 410.3), Offset(115.7, 411.0), Offset(116.3, 411.0), Offset(117.3, 411.0), Offset(118.7, 411.7), Offset(120.0, 411.7), Offset(120.0, 412.0), Offset(120.7, 412.0), Offset(121.3, 412.3), Offset(121.7, 412.3), Offset(122.7, 412.3), Offset(123.3, 412.3), Offset(124.3, 412.3), Offset(125.3, 412.7), Offset(125.7, 412.7), Offset(126.3, 412.7), Offset(126.7, 412.7), Offset(128.0, 412.7), Offset(129.3, 413.3), Offset(130.3, 413.3), Offset(131.7, 413.7), Offset(132.7, 414.0), Offset(133.3, 414.3), Offset(134.3, 414.3), Offset(134.7, 414.3), Offset(135.3, 414.7), Offset(137.3, 415.0), Offset(139.3, 415.3), Offset(141.3, 415.7), Offset(142.7, 416.0), Offset(143.3, 416.0), Offset(143.7, 416.0), Offset(144.7, 416.0), Offset(146.7, 416.0), Offset(148.0, 416.0), Offset(149.3, 416.0), Offset(150.7, 416.0), Offset(151.3, 416.0), Offset(151.7, 416.0), Offset(152.7, 416.0), Offset(154.3, 416.0), Offset(155.7, 416.0), Offset(156.3, 416.0), Offset(157.7, 416.0), Offset(159.0, 416.0), Offset(159.7, 416.0), Offset(160.3, 416.0), Offset(160.3, 415.7), Offset(160.7, 415.3), Offset(161.7, 414.7), Offset(164.3, 413.7), Offset(165.7, 412.7), Offset(166.7, 412.0), Offset(167.0, 412.0), Offset(167.3, 412.0), Offset(167.7, 411.7), Offset(168.7, 410.7), Offset(169.7, 409.7), Offset(171.7, 408.0), Offset(173.0, 407.0), Offset(173.7, 406.7), Offset(174.0, 406.3), Offset(174.7, 405.7), Offset(175.3, 405.0), Offset(175.7, 404.7), Offset(175.7, 404.3), Offset(176.0, 404.0), Offset(176.7, 403.3), Offset(177.7, 402.3), Offset(179.0, 401.3), Offset(180.0, 400.3), Offset(180.3, 399.7), Offset(181.0, 399.7), Offset(181.3, 399.3), Offset(182.0, 399.0), Offset(182.7, 398.3), Offset(183.0, 398.0), Offset(183.0, 397.7), Offset(183.7, 397.3), Offset(185.0, 396.3), Offset(187.0, 395.0), Offset(188.3, 394.0), Offset(189.0, 394.0), Offset(189.0, 393.3), Offset(189.0, 393.0), Offset(189.0, 392.3), Offset(189.0, 392.0), Offset(192.7, 390.7), ];}
rose_flower.dart文件下是具体的界面和逻辑
import 'dart:math';import 'dart:ui';import 'package:flutter/material.dart';import 'package:flutter_first/flower/rose_data.dart';class RoseFlower extends StatefulWidget { const RoseFlower({Key? key}) : super(key: key); @override State<RoseFlower> createState() => _RoseFlowerState();}class _RoseFlowerState extends State<RoseFlower> with SingleTickerProviderStateMixin { late AnimationController _controller; late Animation<num> _animation; //花的门路 List<Offset> _flowerPaths = []; //分支门路 List<Offset> _branchPaths = []; List<Offset> _leafBranchPoints1 = []; List<Offset> _leafPoints1 = []; List<Offset> _leafBranchPoints2 = []; List<Offset> _leafPoints2 = []; @override void initState() { super.initState(); _controller = AnimationController( //界面扩大告诉触发器 vsync TickerProvider 用户在应用时能够抉择TickerProviderStateMixin或SingleTickerProviderStateMixin duration: Duration(seconds: 5), vsync: this) ..addListener(() { setState(() { int currAnimationValue = _animation.value.floor(); int flowerPointsNum = RoseData.flowerPoints.length; int branchPointsNum = RoseData.branchPoints.length; int leafBranchPoints1Num = RoseData.leafBranchPoints1.length; int leafPoints1Num = RoseData.leafPoints1.length; int leafBranchPoints2Num = RoseData.leafBranchPoints2.length; int leafPoints2Num = RoseData.leafPoints2.length; if (currAnimationValue < flowerPointsNum) { //只有花 _flowerPaths = RoseData.flowerPoints.sublist(0, currAnimationValue); } else if (currAnimationValue > flowerPointsNum && currAnimationValue < flowerPointsNum + branchPointsNum) { //花和枝干 _flowerPaths = RoseData.flowerPoints; _branchPaths = RoseData.branchPoints .sublist(0, _animation.value.floor() - flowerPointsNum); } else if (currAnimationValue > flowerPointsNum + branchPointsNum && currAnimationValue < flowerPointsNum + branchPointsNum + leafBranchPoints1Num) { _flowerPaths = RoseData.flowerPoints; _branchPaths = RoseData.branchPoints; _leafBranchPoints1 = RoseData.leafBranchPoints1.sublist( 0, currAnimationValue - flowerPointsNum - branchPointsNum); } else if (_animation.value.floor() > flowerPointsNum + branchPointsNum + leafBranchPoints1Num && currAnimationValue < flowerPointsNum + branchPointsNum + leafBranchPoints1Num + leafPoints1Num) { _flowerPaths = RoseData.flowerPoints; _branchPaths = RoseData.branchPoints; _leafBranchPoints1 = RoseData.leafBranchPoints1; _leafPoints1 = RoseData.leafPoints1.sublist( 0, currAnimationValue - flowerPointsNum - branchPointsNum - leafBranchPoints1Num); } else if (currAnimationValue > flowerPointsNum + branchPointsNum + leafBranchPoints1Num + leafPoints1Num && currAnimationValue < flowerPointsNum + branchPointsNum + leafBranchPoints1Num + leafPoints1Num + leafBranchPoints2Num) { _flowerPaths = RoseData.flowerPoints; _branchPaths = RoseData.branchPoints; _leafBranchPoints1 = RoseData.leafBranchPoints1; _leafPoints1 = RoseData.leafPoints1; _leafBranchPoints2 = RoseData.leafBranchPoints2.sublist( 0, currAnimationValue - flowerPointsNum - branchPointsNum - leafBranchPoints1Num - leafPoints1Num); } else if (currAnimationValue > flowerPointsNum + branchPointsNum + leafBranchPoints1Num + leafPoints1Num + leafBranchPoints2Num) { _flowerPaths = RoseData.flowerPoints; _branchPaths = RoseData.branchPoints; _leafBranchPoints1 = RoseData.leafBranchPoints1; _leafPoints1 = RoseData.leafPoints1; _leafBranchPoints2 = RoseData.leafBranchPoints2; _leafPoints2 = RoseData.leafPoints2.sublist( 0, currAnimationValue - flowerPointsNum - branchPointsNum - leafBranchPoints1Num - leafPoints1Num - leafBranchPoints2Num); } }); }); _animation = Tween( begin: 0.0, end: RoseData.flowerPoints.length + RoseData.branchPoints.length + RoseData.leafBranchPoints1.length + RoseData.leafPoints1.length + RoseData.leafBranchPoints2.length + RoseData.leafPoints2.length) .animate(_controller); } @override Widget build(BuildContext context) { return _buildRose(); } Widget _buildRose() { return Column( children: <Widget>[ Expanded( child: SingleChildScrollView( child: Container( width: 400, height: 700, child: CustomPaint( painter: RosePaint(_flowerPaths, _branchPaths, _leafBranchPoints1, _leafPoints1, _leafBranchPoints2, _leafPoints2), ), ), )), RaisedButton( child: Text("开始"), onPressed: () { _controller.forward(); }) ], ); }}class RosePaint extends CustomPainter { final List<Offset> flowerPaths; final List<Offset> branchPaths; final List<Offset> leafBranchPoints1; final List<Offset> leafPoints1; final List<Offset> leafBranchPoints2; final List<Offset> leafPoints2; RosePaint(this.flowerPaths, this.branchPaths, this.leafBranchPoints1, this.leafPoints1, this.leafBranchPoints2, this.leafPoints2); Paint _paint = Paint()..strokeWidth = 1.0; Color _strokeColor = Colors.grey..withOpacity(.4); //花 Color _flowerColor = Color(0xFFF84120); //树叶 Color _leafColor = Color(0xFF2C651C); @override void paint(Canvas canvas, Size size) { _drawFlower(canvas, size); _drawBranch(canvas, size); _drawLeaf1(canvas, size); _drawLeaf2(canvas, size); } @override bool shouldRepaint(CustomPainter oldDelegate) { return true; }// 绘制花骨朵 _drawFlower(Canvas canvas, Size size) { //将花变为红色 if (flowerPaths.length >= RoseData.flowerPoints.length) { var path = Path(); for (int i = 0; i < flowerPaths.length; i++) { if (i == 0) { path.moveTo(flowerPaths[i].dx, flowerPaths[i].dy); } else { path.lineTo(flowerPaths[i].dx, flowerPaths[i].dy); } } _paint.style = PaintingStyle.fill; _paint.color = _flowerColor; canvas.drawPath(path, _paint); } //绘制线 _paint.style = PaintingStyle.stroke; _paint.color = _strokeColor; //去掉最初2个点,最初2个点为了绘制红色 var points = flowerPaths.sublist(0, max(0, flowerPaths.length - 2)); canvas.drawPoints(PointMode.polygon, points, _paint); } //绘制花干 _drawBranch(Canvas canvas, Size size) { if (branchPaths.length <= 0) { return; } _paint.style = PaintingStyle.stroke; _paint.color = _strokeColor; canvas.drawPoints(PointMode.polygon, branchPaths, _paint); } _drawLeaf1(Canvas canvas, Size size) { //如果开始绘制枝干,则将花变成红色 if (leafPoints1.length >= RoseData.leafPoints1.length) { var path = Path(); for (int i = 0; i < leafPoints1.length; i++) { if (i == 0) { path.moveTo(leafPoints1[i].dx, leafPoints1[i].dy); } else { path.lineTo(leafPoints1[i].dx, leafPoints1[i].dy); } } _paint.style = PaintingStyle.fill; _paint.color = _leafColor; canvas.drawPath(path, _paint); } _paint.style = PaintingStyle.stroke; _paint.color = _strokeColor; canvas.drawPoints(PointMode.polygon, leafBranchPoints1, _paint); canvas.drawPoints(PointMode.polygon, leafPoints1, _paint); } //绘制另一个花叶 _drawLeaf2(Canvas canvas, Size size) { //如果开始绘制枝干,则将花变为红色 if (leafPoints2.length >= RoseData.leafPoints2.length) { var path = Path(); for (int i = 0; i < leafPoints2.length; i++) { if (i == 0) { path.moveTo(leafPoints2[i].dx, leafPoints2[i].dy); } else { path.lineTo(leafPoints2[i].dx, leafPoints2[i].dy); } } _paint.style = PaintingStyle.fill; _paint.color = _leafColor; canvas.drawPath(path, _paint); } _paint.style = PaintingStyle.stroke; _paint.color = _strokeColor; canvas.drawPoints(PointMode.polygon, leafBranchPoints2, _paint); canvas.drawPoints(PointMode.polygon, leafPoints2, _paint); }}class FlutterPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { /// 初始化画笔 var paint = Paint() ..strokeWidth = 25.0 ..color = Colors.red; /// 通过canvas画一条直线 /// 这里能够依据须要绘制圆形,矩形等等 canvas.drawCircle(Offset(100, 100), 100, paint); canvas.drawLine(Offset(300, 300), Offset(400, 400), paint); } @override bool shouldRepaint(CustomPainter oldDelegate) { return true; }}
_buildRose()是构建界面
RosePaint的类是用来绘制的
_drawFlower(canvas, size);//绘制花 _drawBranch(canvas, size);//绘制枝干 _drawLeaf1(canvas, size);//绘制叶 _drawLeaf2(canvas, size);//绘制叶