2022-12-15 21:59:56 +00:00
|
|
|
//
|
|
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
|
|
//
|
|
|
|
// This is a commercial product and requires a license to operate.
|
|
|
|
// A trial license can be obtained at https://unidoc.io
|
|
|
|
//
|
|
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
|
|
//
|
|
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
|
2023-11-11 11:29:03 +00:00
|
|
|
package graphic2d ;import (_b "image/color";_bg "math";);func EllipseToCubicBeziers (startX ,startY ,rx ,ry ,rot float64 ,large ,sweep bool ,endX ,endY float64 )[][4]Point {rx =_bg .Abs (rx );ry =_bg .Abs (ry );if rx < ry {rx ,ry =ry ,rx ;rot +=90.0;};
|
|
|
|
_d :=_gcb (rot *_bg .Pi /180.0);if _bg .Pi <=_d {_d -=_bg .Pi ;};_c ,_be ,_cc ,_af :=_cfc (startX ,startY ,rx ,ry ,_d ,large ,sweep ,endX ,endY );_ce :=_bg .Pi /2.0;_f :=int (_bg .Ceil (_bg .Abs (_af -_cc )/_ce ));_ce =_bg .Abs (_af -_cc )/float64 (_f );
|
|
|
|
_g :=_bg .Sin (_ce )*(_bg .Sqrt (4.0+3.0*_bg .Pow (_bg .Tan (_ce /2.0),2.0))-1.0)/3.0;if !sweep {_ce =-_ce ;};_ab :=Point {X :startX ,Y :startY };_e ,_ea :=_ceaf (rx ,ry ,_d ,sweep ,_cc );_bd :=Point {X :_e ,Y :_ea };_ec :=[][4]Point {};for _gf :=1;_gf < _f +1;
|
|
|
|
_gf ++{_bgc :=_cc +float64 (_gf )*_ce ;_eg ,_fd :=_fdc (rx ,ry ,_d ,_c ,_be ,_bgc );_ae :=Point {X :_eg ,Y :_fd };_aa ,_fe :=_ceaf (rx ,ry ,_d ,sweep ,_bgc );_bdb :=Point {X :_aa ,Y :_fe };_ed :=_ab .Add (_bd .Mul (_g ));_fb :=_ae .Sub (_bdb .Mul (_g ));
|
|
|
|
_ec =append (_ec ,[4]Point {_ab ,_ed ,_fb ,_ae });_bd =_bdb ;_ab =_ae ;};return _ec ;};var (Aliceblue =_b .RGBA {0xf0,0xf8,0xff,0xff};Antiquewhite =_b .RGBA {0xfa,0xeb,0xd7,0xff};Aqua =_b .RGBA {0x00,0xff,0xff,0xff};Aquamarine =_b .RGBA {0x7f,0xff,0xd4,0xff};
|
|
|
|
Azure =_b .RGBA {0xf0,0xff,0xff,0xff};Beige =_b .RGBA {0xf5,0xf5,0xdc,0xff};Bisque =_b .RGBA {0xff,0xe4,0xc4,0xff};Black =_b .RGBA {0x00,0x00,0x00,0xff};Blanchedalmond =_b .RGBA {0xff,0xeb,0xcd,0xff};Blue =_b .RGBA {0x00,0x00,0xff,0xff};Blueviolet =_b .RGBA {0x8a,0x2b,0xe2,0xff};
|
|
|
|
Brown =_b .RGBA {0xa5,0x2a,0x2a,0xff};Burlywood =_b .RGBA {0xde,0xb8,0x87,0xff};Cadetblue =_b .RGBA {0x5f,0x9e,0xa0,0xff};Chartreuse =_b .RGBA {0x7f,0xff,0x00,0xff};Chocolate =_b .RGBA {0xd2,0x69,0x1e,0xff};Coral =_b .RGBA {0xff,0x7f,0x50,0xff};Cornflowerblue =_b .RGBA {0x64,0x95,0xed,0xff};
|
|
|
|
Cornsilk =_b .RGBA {0xff,0xf8,0xdc,0xff};Crimson =_b .RGBA {0xdc,0x14,0x3c,0xff};Cyan =_b .RGBA {0x00,0xff,0xff,0xff};Darkblue =_b .RGBA {0x00,0x00,0x8b,0xff};Darkcyan =_b .RGBA {0x00,0x8b,0x8b,0xff};Darkgoldenrod =_b .RGBA {0xb8,0x86,0x0b,0xff};Darkgray =_b .RGBA {0xa9,0xa9,0xa9,0xff};
|
|
|
|
Darkgreen =_b .RGBA {0x00,0x64,0x00,0xff};Darkgrey =_b .RGBA {0xa9,0xa9,0xa9,0xff};Darkkhaki =_b .RGBA {0xbd,0xb7,0x6b,0xff};Darkmagenta =_b .RGBA {0x8b,0x00,0x8b,0xff};Darkolivegreen =_b .RGBA {0x55,0x6b,0x2f,0xff};Darkorange =_b .RGBA {0xff,0x8c,0x00,0xff};
|
|
|
|
Darkorchid =_b .RGBA {0x99,0x32,0xcc,0xff};Darkred =_b .RGBA {0x8b,0x00,0x00,0xff};Darksalmon =_b .RGBA {0xe9,0x96,0x7a,0xff};Darkseagreen =_b .RGBA {0x8f,0xbc,0x8f,0xff};Darkslateblue =_b .RGBA {0x48,0x3d,0x8b,0xff};Darkslategray =_b .RGBA {0x2f,0x4f,0x4f,0xff};
|
|
|
|
Darkslategrey =_b .RGBA {0x2f,0x4f,0x4f,0xff};Darkturquoise =_b .RGBA {0x00,0xce,0xd1,0xff};Darkviolet =_b .RGBA {0x94,0x00,0xd3,0xff};Deeppink =_b .RGBA {0xff,0x14,0x93,0xff};Deepskyblue =_b .RGBA {0x00,0xbf,0xff,0xff};Dimgray =_b .RGBA {0x69,0x69,0x69,0xff};
|
|
|
|
Dimgrey =_b .RGBA {0x69,0x69,0x69,0xff};Dodgerblue =_b .RGBA {0x1e,0x90,0xff,0xff};Firebrick =_b .RGBA {0xb2,0x22,0x22,0xff};Floralwhite =_b .RGBA {0xff,0xfa,0xf0,0xff};Forestgreen =_b .RGBA {0x22,0x8b,0x22,0xff};Fuchsia =_b .RGBA {0xff,0x00,0xff,0xff};
|
|
|
|
Gainsboro =_b .RGBA {0xdc,0xdc,0xdc,0xff};Ghostwhite =_b .RGBA {0xf8,0xf8,0xff,0xff};Gold =_b .RGBA {0xff,0xd7,0x00,0xff};Goldenrod =_b .RGBA {0xda,0xa5,0x20,0xff};Gray =_b .RGBA {0x80,0x80,0x80,0xff};Green =_b .RGBA {0x00,0x80,0x00,0xff};Greenyellow =_b .RGBA {0xad,0xff,0x2f,0xff};
|
|
|
|
Grey =_b .RGBA {0x80,0x80,0x80,0xff};Honeydew =_b .RGBA {0xf0,0xff,0xf0,0xff};Hotpink =_b .RGBA {0xff,0x69,0xb4,0xff};Indianred =_b .RGBA {0xcd,0x5c,0x5c,0xff};Indigo =_b .RGBA {0x4b,0x00,0x82,0xff};Ivory =_b .RGBA {0xff,0xff,0xf0,0xff};Khaki =_b .RGBA {0xf0,0xe6,0x8c,0xff};
|
|
|
|
Lavender =_b .RGBA {0xe6,0xe6,0xfa,0xff};Lavenderblush =_b .RGBA {0xff,0xf0,0xf5,0xff};Lawngreen =_b .RGBA {0x7c,0xfc,0x00,0xff};Lemonchiffon =_b .RGBA {0xff,0xfa,0xcd,0xff};Lightblue =_b .RGBA {0xad,0xd8,0xe6,0xff};Lightcoral =_b .RGBA {0xf0,0x80,0x80,0xff};
|
|
|
|
Lightcyan =_b .RGBA {0xe0,0xff,0xff,0xff};Lightgoldenrodyellow =_b .RGBA {0xfa,0xfa,0xd2,0xff};Lightgray =_b .RGBA {0xd3,0xd3,0xd3,0xff};Lightgreen =_b .RGBA {0x90,0xee,0x90,0xff};Lightgrey =_b .RGBA {0xd3,0xd3,0xd3,0xff};Lightpink =_b .RGBA {0xff,0xb6,0xc1,0xff};
|
|
|
|
Lightsalmon =_b .RGBA {0xff,0xa0,0x7a,0xff};Lightseagreen =_b .RGBA {0x20,0xb2,0xaa,0xff};Lightskyblue =_b .RGBA {0x87,0xce,0xfa,0xff};Lightslategray =_b .RGBA {0x77,0x88,0x99,0xff};Lightslategrey =_b .RGBA {0x77,0x88,0x99,0xff};Lightsteelblue =_b .RGBA {0xb0,0xc4,0xde,0xff};
|
|
|
|
Lightyellow =_b .RGBA {0xff,0xff,0xe0,0xff};Lime =_b .RGBA {0x00,0xff,0x00,0xff};Limegreen =_b .RGBA {0x32,0xcd,0x32,0xff};Linen =_b .RGBA {0xfa,0xf0,0xe6,0xff};Magenta =_b .RGBA {0xff,0x00,0xff,0xff};Maroon =_b .RGBA {0x80,0x00,0x00,0xff};Mediumaquamarine =_b .RGBA {0x66,0xcd,0xaa,0xff};
|
|
|
|
Mediumblue =_b .RGBA {0x00,0x00,0xcd,0xff};Mediumorchid =_b .RGBA {0xba,0x55,0xd3,0xff};Mediumpurple =_b .RGBA {0x93,0x70,0xdb,0xff};Mediumseagreen =_b .RGBA {0x3c,0xb3,0x71,0xff};Mediumslateblue =_b .RGBA {0x7b,0x68,0xee,0xff};Mediumspringgreen =_b .RGBA {0x00,0xfa,0x9a,0xff};
|
|
|
|
Mediumturquoise =_b .RGBA {0x48,0xd1,0xcc,0xff};Mediumvioletred =_b .RGBA {0xc7,0x15,0x85,0xff};Midnightblue =_b .RGBA {0x19,0x19,0x70,0xff};Mintcream =_b .RGBA {0xf5,0xff,0xfa,0xff};Mistyrose =_b .RGBA {0xff,0xe4,0xe1,0xff};Moccasin =_b .RGBA {0xff,0xe4,0xb5,0xff};
|
|
|
|
Navajowhite =_b .RGBA {0xff,0xde,0xad,0xff};Navy =_b .RGBA {0x00,0x00,0x80,0xff};Oldlace =_b .RGBA {0xfd,0xf5,0xe6,0xff};Olive =_b .RGBA {0x80,0x80,0x00,0xff};Olivedrab =_b .RGBA {0x6b,0x8e,0x23,0xff};Orange =_b .RGBA {0xff,0xa5,0x00,0xff};Orangered =_b .RGBA {0xff,0x45,0x00,0xff};
|
|
|
|
Orchid =_b .RGBA {0xda,0x70,0xd6,0xff};Palegoldenrod =_b .RGBA {0xee,0xe8,0xaa,0xff};Palegreen =_b .RGBA {0x98,0xfb,0x98,0xff};Paleturquoise =_b .RGBA {0xaf,0xee,0xee,0xff};Palevioletred =_b .RGBA {0xdb,0x70,0x93,0xff};Papayawhip =_b .RGBA {0xff,0xef,0xd5,0xff};
|
|
|
|
Peachpuff =_b .RGBA {0xff,0xda,0xb9,0xff};Peru =_b .RGBA {0xcd,0x85,0x3f,0xff};Pink =_b .RGBA {0xff,0xc0,0xcb,0xff};Plum =_b .RGBA {0xdd,0xa0,0xdd,0xff};Powderblue =_b .RGBA {0xb0,0xe0,0xe6,0xff};Purple =_b .RGBA {0x80,0x00,0x80,0xff};Red =_b .RGBA {0xff,0x00,0x00,0xff};
|
|
|
|
Rosybrown =_b .RGBA {0xbc,0x8f,0x8f,0xff};Royalblue =_b .RGBA {0x41,0x69,0xe1,0xff};Saddlebrown =_b .RGBA {0x8b,0x45,0x13,0xff};Salmon =_b .RGBA {0xfa,0x80,0x72,0xff};Sandybrown =_b .RGBA {0xf4,0xa4,0x60,0xff};Seagreen =_b .RGBA {0x2e,0x8b,0x57,0xff};Seashell =_b .RGBA {0xff,0xf5,0xee,0xff};
|
|
|
|
Sienna =_b .RGBA {0xa0,0x52,0x2d,0xff};Silver =_b .RGBA {0xc0,0xc0,0xc0,0xff};Skyblue =_b .RGBA {0x87,0xce,0xeb,0xff};Slateblue =_b .RGBA {0x6a,0x5a,0xcd,0xff};Slategray =_b .RGBA {0x70,0x80,0x90,0xff};Slategrey =_b .RGBA {0x70,0x80,0x90,0xff};Snow =_b .RGBA {0xff,0xfa,0xfa,0xff};
|
|
|
|
Springgreen =_b .RGBA {0x00,0xff,0x7f,0xff};Steelblue =_b .RGBA {0x46,0x82,0xb4,0xff};Tan =_b .RGBA {0xd2,0xb4,0x8c,0xff};Teal =_b .RGBA {0x00,0x80,0x80,0xff};Thistle =_b .RGBA {0xd8,0xbf,0xd8,0xff};Tomato =_b .RGBA {0xff,0x63,0x47,0xff};Turquoise =_b .RGBA {0x40,0xe0,0xd0,0xff};
|
|
|
|
Violet =_b .RGBA {0xee,0x82,0xee,0xff};Wheat =_b .RGBA {0xf5,0xde,0xb3,0xff};White =_b .RGBA {0xff,0xff,0xff,0xff};Whitesmoke =_b .RGBA {0xf5,0xf5,0xf5,0xff};Yellow =_b .RGBA {0xff,0xff,0x00,0xff};Yellowgreen =_b .RGBA {0x9a,0xcd,0x32,0xff};);func _ceaf (_dc ,_bfg ,_gc float64 ,_dcd bool ,_edgf float64 )(float64 ,float64 ){_aaee ,_cfg :=_bg .Sincos (_edgf );
|
|
|
|
_cb ,_cfd :=_bg .Sincos (_gc );_cg :=-_dc *_aaee *_cfd -_bfg *_cfg *_cb ;_dcc :=-_dc *_aaee *_cb +_bfg *_cfg *_cfd ;if !_dcd {return -_cg ,-_dcc ;};return _cg ,_dcc ;};type Point struct{X ,Y float64 ;};func (_bef Point )Mul (f float64 )Point {return Point {f *_bef .X ,f *_bef .Y }};
|
|
|
|
const _ceb =1e-10;func _cfc (_aag ,_bf ,_aae ,_bb ,_cd float64 ,_gg ,_abe bool ,_ga ,_edg float64 )(float64 ,float64 ,float64 ,float64 ){if _dcg (_aag ,_ga )&&_dcg (_bf ,_edg ){return _aag ,_bf ,0.0,0.0;};_gb ,_fda :=_bg .Sincos (_cd );_egf :=_fda *(_aag -_ga )/2.0+_gb *(_bf -_edg )/2.0;
|
|
|
|
_gfae :=-_gb *(_aag -_ga )/2.0+_fda *(_bf -_edg )/2.0;_fbd :=_egf *_egf /_aae /_aae +_gfae *_gfae /_bb /_bb ;if _fbd > 1.0{_aae *=_bg .Sqrt (_fbd );_bb *=_bg .Sqrt (_fbd );};_cff :=(_aae *_aae *_bb *_bb -_aae *_aae *_gfae *_gfae -_bb *_bb *_egf *_egf )/(_aae *_aae *_gfae *_gfae +_bb *_bb *_egf *_egf );
|
|
|
|
if _cff < 0.0{_cff =0.0;};_ac :=_bg .Sqrt (_cff );if _gg ==_abe {_ac =-_ac ;};_gaa :=_ac *_aae *_gfae /_bb ;_ba :=_ac *-_bb *_egf /_aae ;_gd :=_fda *_gaa -_gb *_ba +(_aag +_ga )/2.0;_aeb :=_gb *_gaa +_fda *_ba +(_bf +_edg )/2.0;_egb :=(_egf -_gaa )/_aae ;
|
|
|
|
_bbf :=(_gfae -_ba )/_bb ;_gdd :=-(_egf +_gaa )/_aae ;_cea :=-(_gfae +_ba )/_bb ;_egd :=_bg .Acos (_egb /_bg .Sqrt (_egb *_egb +_bbf *_bbf ));if _bbf < 0.0{_egd =-_egd ;};_egd =_gcb (_egd );_feb :=(_egb *_gdd +_bbf *_cea )/_bg .Sqrt ((_egb *_egb +_bbf *_bbf )*(_gdd *_gdd +_cea *_cea ));
|
|
|
|
_feb =_bg .Min (1.0,_bg .Max (-1.0,_feb ));_fa :=_bg .Acos (_feb );if _egb *_cea -_bbf *_gdd < 0.0{_fa =-_fa ;};if !_abe &&_fa > 0.0{_fa -=2.0*_bg .Pi ;}else if _abe &&_fa < 0.0{_fa +=2.0*_bg .Pi ;};return _gd ,_aeb ,_egd ,_egd +_fa ;};func _gcb (_ad float64 )float64 {_ad =_bg .Mod (_ad ,2.0*_bg .Pi );
|
|
|
|
if _ad < 0.0{_ad +=2.0*_bg .Pi ;};return _ad ;};func QuadraticToCubicBezier (startX ,startY ,x1 ,y1 ,x ,y float64 )(Point ,Point ){_ecd :=Point {X :startX ,Y :startY };_dg :=Point {X :x1 ,Y :y1 };_cgd :=Point {X :x ,Y :y };_fcb :=_ecd .Interpolate (_dg ,2.0/3.0);
|
|
|
|
_dca :=_cgd .Interpolate (_dg ,2.0/3.0);return _fcb ,_dca ;};func (_gfc Point )Sub (q Point )Point {return Point {_gfc .X -q .X ,_gfc .Y -q .Y }};var ColorMap =map[string ]_b .RGBA {"\u0061l\u0069\u0063\u0065\u0062\u006c\u0075e":_b .RGBA {0xf0,0xf8,0xff,0xff},"\u0061\u006e\u0074i\u0071\u0075\u0065\u0077\u0068\u0069\u0074\u0065":_b .RGBA {0xfa,0xeb,0xd7,0xff},"\u0061\u0071\u0075\u0061":_b .RGBA {0x00,0xff,0xff,0xff},"\u0061\u0071\u0075\u0061\u006d\u0061\u0072\u0069\u006e\u0065":_b .RGBA {0x7f,0xff,0xd4,0xff},"\u0061\u007a\u0075r\u0065":_b .RGBA {0xf0,0xff,0xff,0xff},"\u0062\u0065\u0069g\u0065":_b .RGBA {0xf5,0xf5,0xdc,0xff},"\u0062\u0069\u0073\u0071\u0075\u0065":_b .RGBA {0xff,0xe4,0xc4,0xff},"\u0062\u006c\u0061c\u006b":_b .RGBA {0x00,0x00,0x00,0xff},"\u0062\u006c\u0061\u006e\u0063\u0068\u0065\u0064\u0061l\u006d\u006f\u006e\u0064":_b .RGBA {0xff,0xeb,0xcd,0xff},"\u0062\u006c\u0075\u0065":_b .RGBA {0x00,0x00,0xff,0xff},"\u0062\u006c\u0075\u0065\u0076\u0069\u006f\u006c\u0065\u0074":_b .RGBA {0x8a,0x2b,0xe2,0xff},"\u0062\u0072\u006fw\u006e":_b .RGBA {0xa5,0x2a,0x2a,0xff},"\u0062u\u0072\u006c\u0079\u0077\u006f\u006fd":_b .RGBA {0xde,0xb8,0x87,0xff},"\u0063a\u0064\u0065\u0074\u0062\u006c\u0075e":_b .RGBA {0x5f,0x9e,0xa0,0xff},"\u0063\u0068\u0061\u0072\u0074\u0072\u0065\u0075\u0073\u0065":_b .RGBA {0x7f,0xff,0x00,0xff},"\u0063h\u006f\u0063\u006f\u006c\u0061\u0074e":_b .RGBA {0xd2,0x69,0x1e,0xff},"\u0063\u006f\u0072a\u006c":_b .RGBA {0xff,0x7f,0x50,0xff},"\u0063\u006f\u0072\u006e\u0066\u006c\u006f\u0077\u0065r\u0062\u006c\u0075\u0065":_b .RGBA {0x64,0x95,0xed,0xff},"\u0063\u006f\u0072\u006e\u0073\u0069\u006c\u006b":_b .RGBA {0xff,0xf8,0xdc,0xff},"\u0063r\u0069\u006d\u0073\u006f\u006e":_b .RGBA {0xdc,0x14,0x3c,0xff},"\u0063\u0079\u0061\u006e":_b .RGBA {0x00,0xff,0xff,0xff},"\u0064\u0061\u0072\u006b\u0062\u006c\u0075\u0065":_b .RGBA {0x00,0x00,0x8b,0xff},"\u0064\u0061\u0072\u006b\u0063\u0079\u0061\u006e":_b .RGBA {0x00,0x8b,0x8b,0xff},"\u0064\u0061\u0072\u006b\u0067\u006f\u006c\u0064\u0065\u006e\u0072\u006f\u0064":_b .RGBA {0xb8,0x86,0x0b,0xff},"\u0064\u0061\u0072\u006b\u0067\u0072\u0061\u0079":_b .RGBA {0xa9,0xa9,0xa9,0xff},"\u0064a\u0072\u006b\u0067\u0072\u0065\u0065n":_b .RGBA {0x00,0x64,0x00,0xff},"\u0064\u0061\u0072\u006b\u0067\u0072\u0065\u0079":_b .RGBA {0xa9,0xa9,0xa9,0xff},"\u0064a\u0072\u006b\u006b\u0068\u0061\u006bi":_b .RGBA {0xbd,0xb7,0x6b,0xff},"d\u0061\u0072\u006b\u006d\u0061\u0067\u0065\u006e\u0074\u0061":_b .RGBA {0x8b,0x00,0x8b,0xff},"\u0064\u0061\u0072\u006b\u006f\u006c\u0069\u0076\u0065g\u0072\u0065\u0065\u006e":_b .RGBA {0x55,0x6b,0x2f,0xff},"\u0064\u0061\u0072\u006b\u006f\u0072\u0061\u006e\u0067\u0065":_b .RGBA {0xff,0x8c,0x00,0xff},"\u0064\u0061\u0072\u006b\u006f\u0072\u0063\u0068\u0069\u0064":_b .RGBA {0x99,0x32,0xcc,0xff},"\u0064a\u0072\u006b\u0072\u0065\u0064":_b .RGBA {0x8b,0x00,0x00,0xff},"\u0064\u0061\u0072\u006b\u0073\u0061\u006c\u006d\u006f\u006e":_b .RGBA {0xe9,0x96,0x7a,0xff},"\u0064\u0061\u0072k\u0073\u0065\u0061\u0067\u0072\u0065\u0065\u006e":_b .RGBA {0x8f,0xbc,0x8f,0xff},"\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0062\u006c\u0075\u0065":_b .RGBA {0x48,0x3d,0x8b,0xff},"\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0067\u0072\u0061\u0079":_b .RGBA {0x2f,0x4f,0x4f,0xff},"\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0067\u0072\u0065\u0079":_b .RGBA {0x2f,0x4f,0x4f,0xff},"\u0064\u0061\u0072\u006b\u0074\u0075\u0072\u0071\u0075\u006f\u0069\u0073\u0065":_b .RGBA {0x00,0xce,0xd1,0xff},"\u0064\u0061\u0072\u006b\u0076\u0069\u006f\u006c\u0065\u0074":_b .RGBA {0x94,0x00,0xd3,0xff},"\u0064\u0065\u0065\u0070\u0070\u0069\u006e\u006b":_b .RGBA {0xff,0x14,0x93,0xff},"d\u0065\u0065\u0070\u0073\u006b\u0079\u0062\u006c\u0075\u0065":_b .RGBA {0x00,0xbf,0xff,0xff},"\u0064i\u006d\u0067\u0072\u0061\u0079":_b .RGBA {0x69,0x69,0x69,0xff},"\u0064i\u006d\u0067\u0072\u0065\u0079":_b .RGBA {0x69,0x69,0x69,0xff},"\u0064\u006f\u0064\u0067\u0065\u0072\u0062\u006c\u0075\u0065":_b .RGBA {0x1e,0x90,0xff,0xff},"\u0066i\u0072\u0065\u0062\u0072\u0069\u0063k":_b .RGBA {0xb2,0x22,0x22,0xff},"f\u006c\
|
|
|
|
func (_ef Point )Interpolate (q Point ,t float64 )Point {return Point {(1-t )*_ef .X +t *q .X ,(1-t )*_ef .Y +t *q .Y };};var Names =[]string {"\u0061l\u0069\u0063\u0065\u0062\u006c\u0075e","\u0061\u006e\u0074i\u0071\u0075\u0065\u0077\u0068\u0069\u0074\u0065","\u0061\u0071\u0075\u0061","\u0061\u0071\u0075\u0061\u006d\u0061\u0072\u0069\u006e\u0065","\u0061\u007a\u0075r\u0065","\u0062\u0065\u0069g\u0065","\u0062\u0069\u0073\u0071\u0075\u0065","\u0062\u006c\u0061c\u006b","\u0062\u006c\u0061\u006e\u0063\u0068\u0065\u0064\u0061l\u006d\u006f\u006e\u0064","\u0062\u006c\u0075\u0065","\u0062\u006c\u0075\u0065\u0076\u0069\u006f\u006c\u0065\u0074","\u0062\u0072\u006fw\u006e","\u0062u\u0072\u006c\u0079\u0077\u006f\u006fd","\u0063a\u0064\u0065\u0074\u0062\u006c\u0075e","\u0063\u0068\u0061\u0072\u0074\u0072\u0065\u0075\u0073\u0065","\u0063h\u006f\u0063\u006f\u006c\u0061\u0074e","\u0063\u006f\u0072a\u006c","\u0063\u006f\u0072\u006e\u0066\u006c\u006f\u0077\u0065r\u0062\u006c\u0075\u0065","\u0063\u006f\u0072\u006e\u0073\u0069\u006c\u006b","\u0063r\u0069\u006d\u0073\u006f\u006e","\u0063\u0079\u0061\u006e","\u0064\u0061\u0072\u006b\u0062\u006c\u0075\u0065","\u0064\u0061\u0072\u006b\u0063\u0079\u0061\u006e","\u0064\u0061\u0072\u006b\u0067\u006f\u006c\u0064\u0065\u006e\u0072\u006f\u0064","\u0064\u0061\u0072\u006b\u0067\u0072\u0061\u0079","\u0064a\u0072\u006b\u0067\u0072\u0065\u0065n","\u0064\u0061\u0072\u006b\u0067\u0072\u0065\u0079","\u0064a\u0072\u006b\u006b\u0068\u0061\u006bi","d\u0061\u0072\u006b\u006d\u0061\u0067\u0065\u006e\u0074\u0061","\u0064\u0061\u0072\u006b\u006f\u006c\u0069\u0076\u0065g\u0072\u0065\u0065\u006e","\u0064\u0061\u0072\u006b\u006f\u0072\u0061\u006e\u0067\u0065","\u0064\u0061\u0072\u006b\u006f\u0072\u0063\u0068\u0069\u0064","\u0064a\u0072\u006b\u0072\u0065\u0064","\u0064\u0061\u0072\u006b\u0073\u0061\u006c\u006d\u006f\u006e","\u0064\u0061\u0072k\u0073\u0065\u0061\u0067\u0072\u0065\u0065\u006e","\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0062\u006c\u0075\u0065","\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0067\u0072\u0061\u0079","\u0064\u0061\u0072\u006b\u0073\u006c\u0061\u0074\u0065\u0067\u0072\u0065\u0079","\u0064\u0061\u0072\u006b\u0074\u0075\u0072\u0071\u0075\u006f\u0069\u0073\u0065","\u0064\u0061\u0072\u006b\u0076\u0069\u006f\u006c\u0065\u0074","\u0064\u0065\u0065\u0070\u0070\u0069\u006e\u006b","d\u0065\u0065\u0070\u0073\u006b\u0079\u0062\u006c\u0075\u0065","\u0064i\u006d\u0067\u0072\u0061\u0079","\u0064i\u006d\u0067\u0072\u0065\u0079","\u0064\u006f\u0064\u0067\u0065\u0072\u0062\u006c\u0075\u0065","\u0066i\u0072\u0065\u0062\u0072\u0069\u0063k","f\u006c\u006f\u0072\u0061\u006c\u0077\u0068\u0069\u0074\u0065","f\u006f\u0072\u0065\u0073\u0074\u0067\u0072\u0065\u0065\u006e","\u0066u\u0063\u0068\u0073\u0069\u0061","\u0067a\u0069\u006e\u0073\u0062\u006f\u0072o","\u0067\u0068\u006f\u0073\u0074\u0077\u0068\u0069\u0074\u0065","\u0067\u006f\u006c\u0064","\u0067o\u006c\u0064\u0065\u006e\u0072\u006fd","\u0067\u0072\u0061\u0079","\u0067\u0072\u0065e\u006e","g\u0072\u0065\u0065\u006e\u0079\u0065\u006c\u006c\u006f\u0077","\u0067\u0072\u0065\u0079","\u0068\u006f\u006e\u0065\u0079\u0064\u0065\u0077","\u0068o\u0074\u0070\u0069\u006e\u006b","\u0069n\u0064\u0069\u0061\u006e\u0072\u0065d","\u0069\u006e\u0064\u0069\u0067\u006f","\u0069\u0076\u006fr\u0079","\u006b\u0068\u0061k\u0069","\u006c\u0061\u0076\u0065\u006e\u0064\u0065\u0072","\u006c\u0061\u0076\u0065\u006e\u0064\u0065\u0072\u0062\u006c\u0075\u0073\u0068","\u006ca\u0077\u006e\u0067\u0072\u0065\u0065n","\u006c\u0065\u006do\u006e\u0063\u0068\u0069\u0066\u0066\u006f\u006e","\u006ci\u0067\u0068\u0074\u0062\u006c\u0075e","\u006c\u0069\u0067\u0068\u0074\u0063\u006f\u0072\u0061\u006c","\u006ci\u0067\u0068\u0074\u0063\u0079\u0061n","l\u0069g\u0068\u0074\u0067\u006f\u006c\u0064\u0065\u006er\u006f\u0064\u0079\u0065ll\u006f\u0077","\u006ci\u0067\u0068\u0074\u0067\u0072\u0061y","\u006c\u0069\u0067\u0068\u0074\u0067\u0072\u0065\u0065\u006e","\u006ci\u0067\u0068\u0074\u0067\u0072\u0065y","\u006ci\u0067\u0068\u0074\u0070\u0069\u006ek","l\u0069\u0067\u0068\u0074\u0073\u0
|
|
|
|
func _dcg (_fea ,_dga float64 )bool {return _bg .Abs (_fea -_dga )<=_ceb };func _fdc (_bea ,_fc ,_gfa ,_cf ,_ede ,_cfb float64 )(float64 ,float64 ){_ff ,_ca :=_bg .Sincos (_cfb );_fbf ,_fbg :=_bg .Sincos (_gfa );_da :=_cf +_bea *_ca *_fbg -_fc *_ff *_fbf ;
|
|
|
|
_dd :=_ede +_bea *_ca *_fbf +_fc *_ff *_fbg ;return _da ,_dd ;};func (_cfce Point )Add (q Point )Point {return Point {_cfce .X +q .X ,_cfce .Y +q .Y }};
|