Êþº¾4° = 3 3  3 H H     H ! " # H$ %& 3'¿ð ( H) H* ) *@À@+ !,?à?é™™™™™š>°Æ÷ µí>äøµˆãhñ -. /0 H1 H2@ W3 45 36 378 69 6: 6;< 6=> H7 /? 7 @A 3B CD EF 3G 3H WIJ HK L WM 3N O PQ?PbMÒñ©ü PR S WTU VW 6XY@!ûTD- PZ[ H\ 3]^_` a Hb cd d?ð“t¼j?ð1&éxÕ?ð Iº^5? e f?Ô/vœðà Wg Wh i@ 3jkcenterLProGAL/geom3d/Point;radiusDnormalLProGAL/geom3d/Vector;/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom3d/Circle; StackMapTable5JC(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)VthroughB(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Vp0p1p2v0v1 getCenter()LProGAL/geom3d/Point; getRadius()DgetNormalVector()LProGAL/geom3d/Vector; getNormal setCenter(LProGAL/geom3d/Point;)VpgetPointgetPlane()LProGAL/geom3d/Plane;getClosestPoint,(LProGAL/geom3d/Point;)LProGAL/geom3d/Point;prgetFarthestPointgetClosestDistance(LProGAL/geom3d/Circle;)Dcbuvra2ca2cacbcaucavnacanacbnaunavrb2cb2cbucbva0a1a2a3a4a5a6a7a8a9c[DfLProGAL/Function;rootgetEquilateralCircleB(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Circle;ababtoString()Ljava/lang/String;(I)Ljava/lang/String;decI toConsole()V(I)VgetIntersection.(LProGAL/geom3d/Circle;)[LProGAL/geom3d/Point;fractionalphadiffintersectionPoints[LProGAL/geom3d/Point;distsumÕgetFirstIntersectionS(LProGAL/geom3d/Line;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;ococosBetacrsinBetabetalineLProGAL/geom3d/Line;diropr2cooco2pco2cosAlphalgetDistanceSquared(LProGAL/geom3d/Point;)DNPC secondTerm getDistanceU(LProGAL/geom3d/Circle;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;r2d2rd2distP2getFurthestDistance_centersI(LProGAL/geom3d/Circle;LProGAL/geom3d/Circle;)LProGAL/geom3d/LineSegment;c1c2y2x2p21p22y1x1p11p12d11_21d12_21d11_22d12_22getFurthestPoint_bruteForceB(LProGAL/geom3d/Circle;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;pct divisionsxyrangemaxTmaxDistgetFurthestDistance_bruteForcet2t1maxT1maxT2 SourceFile Circle.java }Í wx yz m• {| në opProGAL/geom3d/Vector }q rs t• uv wxProGAL/geom3d/Plane }y zž {ë| }z š‘ ~v ë €ProGAL/Function }‚ ƒ„… †“ ‡ˆ ‰Š ‹Œ “ProGAL/geom3d/Circle }~ ÇÉjava/lang/StringBuilderCircle[center=%s,radius=% Ž Ž f,normal=%s] ÇÈjava/lang/Object ‘’“ ”• ÌΖ —˜™ š› ‘ ’“ œŒProGAL/geom3d/Point x žv ŸŒ ”•  ¡l îë â| ¢v £¤beta = ¥ ¦Œ Ž§java/lang/Math ¨žalpha = ©ž êë cosAlpha =  cosBeta = ªv ©x «•ProGAL/geom3d/LineSegment }¬ ­s ®Œ ¯Œ s ProGAL/geom3d/ShapeProGAL/geom3d/Line normalizedistancegetCircumCenterV(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Vcross.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;getOrthonormal scaleToLength(D)LProGAL/geom3d/Vector;add-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V projectPointdistanceSquaredProGAL/math/ConstantsEPSILONmultiplydot(LProGAL/geom3d/Vector;)D([D)VProGAL/math/RootFindingbrent*(LProGAL/Function;DDDDI)Ljava/lang/Double;java/lang/Double doubleValue getMidpointA(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;vectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;sqrt(D)Dlengthappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;valueOf(D)Ljava/lang/Double;java/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)VabsaddThisscaleToLengthThisacosrotateIn/(LProGAL/geom3d/Vector;D)LProGAL/geom3d/Vector; divideThisatan2(DD)DProGAL/math/FunctionstoDeg(D)Ljava/lang/StringBuilder;orthogonalProjectionsubtract multiplyThis normalizeThis(DDD)V crossThiscossin!3=vwxyz{|}~Ž*·*+µ*(µÆ *¶µ±€ *‚ƒwxyz{|„ÿ…†‡}ˆs*·*+µ*+,¶µ*-¶µ±€!" #$%*‚ƒwx‰x{|}Š¹E*·*+,-¸µ**´+¶µ»Y*´+· :»Y*´,· :*¶ ¶µ±€()*+(,6-D.>E‚ƒE‹xEŒxEx(Ž|6|‘/*´°€` ‚ƒ’“/*´¯€b ‚ƒ”•/*´°€d ‚ƒ–•/*´°€e ‚ƒ—˜:*+µ±€g‚ƒ™xš‘@*´*´¶ *´¶ ¶ °€k ‚ƒ›œ:»Y*´*´·°€p ‚ƒž—C»Y*´*´·+¶M*´,¶²˜*¶°*´»Y*´,· *´¶ ¶ °€wx(y C‚ƒC™x/Ÿx„ü(† žI»Y*´*´·+¶M*´,¶²˜*¶°*´»Y*´,· *´¶ ¶¶ °€€(‚ I‚ƒI™x5Ÿx„ü(†¡¢W 6‡+´¶ M+´,¶ N*´*´k9*´*´¶9*´+´¶9*´,¶9 *´-¶9 *´*´¶9*´+´¶9*´,¶9*´-¶9+´+´k9+´+´¶9+´,¶9+´-¶9cckgggkg9kkk9 +´k ggkgk9"+´k ggkgk9$wkk9&wkk9(*´k9*ccckg9,+´k gk9.+´k gk90¼:2200k**k(kg,k0kc**k$kg,,kc**kkgR2,k.k**k"kgk.k0k**k kgkcR2**k(k00kgk..k**k&kgkc,,k**kkgkcR2,k.k**k"kgk.k0k**k kgkgR200k**k(kg,k0kg**k$kc,,kc**kkgR»!Y2·":33#%')è¸+¶,944¯€Š"†‡ˆ‰)Š6‹@ŒJWŽdnx‘ƒ’“š”¤•Á–ϗ蘙 š›!œ5EžUŸZ Ž¡¿¢û£,¤`¥k¦„§.‡‚ƒ‡£ƒ¤|v¥|k¦z)^§z6Q¨z@G©z J=ªz W0«zd#¬zn­zx®zƒ¯z÷°zší±z¤ã²zÁƳzϸ´z 蟵z"†¶z$ {·z&p¸z(!f¹z*5Rºz,EB»z.U2¼z0Z-½¾2k¿À3„Áz4 ÂÇ)*+¸-M*+¶.N/¸1-¶2ko9»3Y,-·4°€­® ¯°4)Äx)Åx#wx Æ| yzÇÈ0*¶5°€¶ ‚ƒÇÉt@»6Y·78¶9¶:;¶9¶<½=Y*´¶>SY*´¸?SY*´¶@S¸A°€»@‚ƒ@ÊËÌÍ0*¶B±€¿ ‚ƒÌÎD ²C*¶5¶D±€ à Ä ‚ƒ ÊËÏÐ¥ vM*´+¶E¶J*´+¶Fc9)g²—ž,°*´+¶Fg¸G9)g²w˜œ,°)g¸G²˜œ<»Y*´+¶E· : *´*´+¶Fco9 ½HM,*´  ¶¶IS,°)g²˜œh½HM*´+´—ž-»Y*´+¶E· :  *´¶JW,*´ ¶ S§*»Y+¶E*´· :  +¶F¶JW,+¶E ¶ S§~*´*´k))kc+¶F+¶Fkg*´k)ko¸K9 »Y*´+¶E· :  *´¶JW½HM*¶L  ¶MW,*´ ¶ S*¶L  k¶MW,*´ ¶ S,°€~ÉÊËÌ&Î4ÏBÑPÒaÓqÔvՇ׉ڔܙݥ޶ßÀàÏãàäêåöçùé ê1ë;ì@íLîXïhðtõz a(¥| qÑz ¶¥| à¥|  TÒz 1C¥| 4@Ózv‚ƒv½ƒtÔÕhÖz]×z„þ&ØüûFûE&úzÙÚ¼ã+*´¶N9*´²g—ž°»Y*´,· :*´*´k9O˜œ£+´Q*´¶:  ¶o9  ¶ :  ¶RW ¶29   ¸S9²C»6Y·7T¶9¸U¶V¶<¶D*´-¶—ž!*´ ¶—ž ¸?°Xg¸?°*´ ¶—ž Xg¸?°¸?°+*´¶Z: k9  ,¶9 *´o9 c g*´kko9»Y*´ · :¶ :¶2¶2k¶RW¶29¸K9²C»6Y·7[¶9¸U¶V¶<¶D¸S9²C»6Y·7T¶9¸U¶V¶<¶D*´-¶—ž'*´¶—ž g¸?°Xgg¸?°*´¶—žXgg¸?°g¸?°€rþ ÿ(3<IU^fm“   ¾ Üæíõþ#,=DhŽ›¿"ÞI“Û| U‡Üz ^~Ý| moÞz vfßzゃãàáã™xãâ| ÙÖz(»ã|3°äzæýåx íöæz õîçz þåèzÏÜz#ÀÛ|,·Ý|DŸÞzK˜Òzqrßz„küÿ™ …醇‡‡‡ ÿ…醇‡ÿՅ醇‡†‡‡ êë€0*´+*´¶\¶I+*´¶((kg¸1*´g9((kkc¯€()&**0‚ƒ0™x ìz& ízîë= *+¶]¸1¯€. ‚ƒ ™xÙïÅ’*´+¶E¶9*´+¶Fc²g—ž°*´*´kkc9*´kk9+¶F+¶Fkgo9 ²C»6Y·7^¶9 ¶V_¶9 ¸K¶V¶<¶D,+¶E¶9  go9²C»6Y·7`¶9 ¶V_¶9¸K¶V¶<¶D»Y*´,· :»Y*´+¶E· :¶ :¶2¶2k¶RW¶29 ¸K9²C»6Y·7[¶9 ¸U¶V¶<¶D¸S9²C»6Y·7T¶9¸U¶V¶<¶D*´-¶—ž'*´¶—ž g¸?°Xgg¸?°*´¶—žXgg¸?°g¸?°€F7 8"93:@;x<‚=³>Á?Ò@ÛAìBóCD=EJFnI¢’‚ƒ’½ƒ’™x’â| …Öz3_ðz@RñzQAèz ‚òz ŒÜzÁÑã|ÒÀÛ|Û·Ý|óŸÞzú˜Òz rßz„-ü"ÿ>……†‡‡‡‡  óô3*´+´¶.M+´,¶ N+´-¶ :+´¶2o¶aW+´¶ :+´¶b:*´,¶ ¶c:*´¶ :*´¶2o¶aW*´¶ : *´¶b:  ¶9  ¶9  ¶9 ¶9  —ž —ž —ž»dY ·e° —ž —ž»dY ·e°—ž»dY ·e°»dY ·e°€Fi jk/l:mEoRpmqxrƒtŒu•vžw§xËyçzû{˜õƒöƒ û¥|ò÷|èø|:ÍùxEÂúxRµû|]ªü|xýx ƒ„þx Œ{ÿz •rz žiz§`z„0ÿË……‡‡‡††‡‡†† öë*´²˜œ*´°=»Yfhj·l*´¶m¶cN*´-¶ :X999 n—žvog9  oc˜œQ*´-*´ ¸pk¶*´ ¸qk¶¶r¶ : + ¶9 —ž  99  ‡oc9 §ÿ¦so9§ÿ‡*´-*´¸pk¶*´¸qk¶¶r¶ :  °€N €‚ƒ.„8†=‡@ˆC‰LŠf‹Œ—ŸŽ£§Š´’¿”è•z x —ÖzW]z 뽃ë™xØË.½|8³ |=® z@« zC¨ z èx „%ÿ2…†‡‡üûOú  ô%­*´²˜œ»dY*´+*´¸u·e°=»Yfhj·l*´¶m¶cN*´-¶ :»Yfhj·l+´¶m¶c:+´¶ :X99 9 9 n—žÌ og9 oc˜œ§*´-*´¸pk¶*´¸qk¶¶r¶ : og9 oc˜œW+´+´¸pk¶+´¸qk¶¶r¶ :¶9 —ž9 9 9 ‡oc9§ÿ ‡oc9§ÿPso9§ÿ1*´-*´ ¸pk¶*´ ¸qk¶¶r¶ :+´+´ ¸pk¶+´ ¸qk¶¶r¶ :»dY·e°€n™ šœ"=žGŸc n¢s£v¤y¥|¦…§Ÿ¨È©âª «¬­!®%¯)©6§C³Nµw¶¡¸¶ xÖzÓczÈnŒx³z­õƒ­öƒ"‹Ë=pü|Gfû|cJø|n?÷|s: zv7z y4z |1 z w6Œx¡ x„6ÿ\ ……‡‡‡‡üýB†ûUù ú