�������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@ ������ �3jk�center�LProGAL/geom3d/Point;�radius�D�normal�LProGAL/geom3d/Vector;�<init>�/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)V�Code�LineNumberTable�LocalVariableTable�this�LProGAL/geom3d/Circle;� StackMapTable5J�C(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V�through�B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�p0�p1�p2�v0�v1� getCenter�()LProGAL/geom3d/Point;� getRadius�()D�getNormalVector�()LProGAL/geom3d/Vector;� getNormal� setCenter�(LProGAL/geom3d/Point;)V�p�getPoint�getPlane�()LProGAL/geom3d/Plane;�getClosestPoint�,(LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�pr�getFarthestPoint�getClosestDistance�(LProGAL/geom3d/Circle;)D�cb�u�v�ra2�ca2�cacb�cau�cav�naca�nacb�nau�nav�rb2�cb2�cbu�cbv�a0�a1�a2�a3�a4�a5�a6�a7�a8�a9�c�[D�f�LProGAL/Function;�root�getEquilateralCircle�B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Circle;�a�b�ab�toString�()Ljava/lang/String;�(I)Ljava/lang/String;�dec�I� toConsole�()V�(I)V�getIntersection�.(LProGAL/geom3d/Circle;)[LProGAL/geom3d/Point;�fraction�alpha�diff�intersectionPoints�[LProGAL/geom3d/Point;�dist�sum���getFirstIntersection�S(LProGAL/geom3d/Line;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;�oco�cosBeta�cr�sinBeta�beta�line�LProGAL/geom3d/Line;�dir�op�r2�co�oco2�pco2�cosAlphal�getDistanceSquared�(LProGAL/geom3d/Point;)D�NPC� secondTerm�getDistance�U(LProGAL/geom3d/Circle;LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)Ljava/lang/Double;�r2d2�rd2�distP2�getFurthestDistance_centers�I(LProGAL/geom3d/Circle;LProGAL/geom3d/Circle;)LProGAL/geom3d/LineSegment;�c1�c2�y2�x2�p21�p22�y1�x1�p11�p12�d11_21�d12_21�d11_22�d12_22�getFurthestPoint_bruteForce�B(LProGAL/geom3d/Circle;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�pc�t� divisions�x�y�range�maxT�maxDist�getFurthestDistance_bruteForce�t2�t1�maxT1�maxT2� SourceFile�Circle.java�}���w�x�y�zm���{�|n��op�ProGAL/geom3d/Vector�}qrst��uvwx�ProGAL/geom3d/Plane�}yz��{��|}�z����~v����ProGAL/Function�}������������������ProGAL/geom3d/Circle�}�~�����java/lang/StringBuilder�Circle[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/Shape�ProGAL/geom3d/Line� normalize�distance�getCircumCenter�V(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V�cross�.(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�projectPoint�distanceSquared�ProGAL/math/Constants�EPSILON�multiply�dot�(LProGAL/geom3d/Vector;)D�([D)V�ProGAL/math/RootFinding�brent�*(LProGAL/Function;DDDDI)Ljava/lang/Double;�java/lang/Double�doubleValue�getMidpoint�A(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;�vectorTo�-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;�sqrt�(D)D�length�append�-(Ljava/lang/String;)Ljava/lang/StringBuilder;�(I)Ljava/lang/StringBuilder;�valueOf�(D)Ljava/lang/Double;�java/lang/String�format�9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;�java/lang/System�out�Ljava/io/PrintStream;�java/io/PrintStream�println�(Ljava/lang/String;)V�abs�addThis�scaleToLengthThis�acos�rotateIn�/(LProGAL/geom3d/Vector;D)LProGAL/geom3d/Vector;� divideThis�atan2�(DD)D�ProGAL/math/Functions�toDeg�(D)Ljava/lang/StringBuilder;�orthogonalProjection�subtract�multiplyThis� normalizeThis�(DDD)V� crossThis�cos�sin�!�3�=��v���w�x����y�z����{�|�����}�~�����������*��*+��*(����*�������������������� ����������*��������������w�x�����y�z�����{�|��������������������}�������s�����*��*+��*+,����*-�����������������!��"� �#��$��%�����*��������������w�x�������x�����{�|���}�������������E*��*+,-����**��+������Y*��+�� :��Y*��,�� :*�� �����������������(��)��*��+�(�,�6�-�D�.�����>����E���������E���x����E���x����E���x��(����|��6����|�����������/�����*���������������`�������������������������/�����*���������������b�������������������������/�����*���������������d�������������������������/�����*���������������e�������������������������:�����*+���������������g���������������������x�����������@�����*��*����*������ �������������k�������������������������:�������Y*��*�����������������p�������������������������������C��Y*��*����+��M*��,�������*���*����Y*��,�� *������ �������������w��x�(�y����� ����C���������C���x���/���x���������(������������������I��Y*��*����+��M*��,�������*���*����Y*��,�� *��������� ������������������(������� ����I���������I���x���5���x���������(�����������W��6���+����M+��,�� N*��*��k9*��*����9*��+����9*��,��9 *��-��9*��*����9*��+����9*��,��9*��-��9+��+��k9+��+����9+��,��9+��-��9cc�kgggkg9�kkk9 �+��kggkgk9"�+��k ggkgk9$wkk9&wkk9(�*��k9*ccc�kg9,�+��kgk9.�+��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���@���J���W���d���n���x������������������������������������!��5��E��U��Z�����������,��`��k���������.����������������������|��v���|��k���z��)^���z��6Q���z��@G���z� �J=���z��W0���z��d#���z��n���z��x���z������z�������z�������z�������z�������z�������z� ������z�"����z�${���z�&p���z�(!f���z�*5R���z�,EB���z�.U2���z�0Z-�����2k������3�����z�4� ���������������)*+��-M*+��.N�/��1-��2k�o9��3Y,-��4����������������������������4����)���x�����)���x���#�w�x������|����y�z�����������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� 1�C���|��4@���z���v��������v������t������h���z��]���z���������&������F��E&��z���������������+*����N9*����g������Y*��,�� :*��*��k9�O����+��Q*����: ��o9 �� :��RW��29 ��S9��C��6Y��7T��9��U��V��<��D*��-�����!*������� ��?��Xg��?�*������� �Xg��?���?�+*����Z: k9 ,��9*��o9 cg�*��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�<�I�U�^�f�m�� �� �� ����������#,=Dh���"��������I�����|� �U�����z� �^�~���|��m�o���z� �v�f���z������������������������x�������|�� ����z��(����|��3����z��������x� �������z� �������z��������z������z�#�����|�,�����|�D�����z�K�����z�q�r���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��9go9��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��?���������F���7� 8�"9�3:�@;�x<��=��>��?��@��A��B��CD=EJFnI������������������������������x�������|�� ����z��3_���z��@R���z��QA���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���������F���i�j�k�/l�:m�Eo�Rp�mq�xr��t��u��v��w��x��y��z��{����������������������������|�������|�������|��:�����x��E�����x��R�����|��]�����|��x�����x� �������x� ���{���z����r��z� ���i�z����`�z������0������������������������������ �����������*�������*���=��Y�f�h�j��l*����m��cN*��-�� :�X999 �n���v�og9�oc���Q*��-*����pk��*����qk����r�� : + ��9 ���99 �oc9����so9���*��-*����pk��*����qk����r�� :���������N����������.��8��=��@��C��L��f������������������������������z�����x� ������z��W�]�z������������������x��������.���|��8�� �|��=�� �z��@���z��C���z� ����x������%���2���������������O�� � ������%�����*���������dY*��+*����u��e�=��Y�f�h�j��l*����m��cN*��-�� :��Y�f�h�j��l+����m��c:+���� :�X99 99 �n���� �og9 �oc����*��-*����pk��*����qk����r�� :�og9�oc���W+��+����pk��+����qk����r�� :��9 ���9 99 �oc9����oc9��P�so9��1*��-*�� ��pk��*�� ��qk����r�� :+��+����pk��+����qk����r�� :��dY��e���������n���������"��=��G��c��n��s��v��y��|����������������!�%�)�6�C�N�w��������������x�����z����c�z����n���x������z�������������������"�����=p���|��Gf���|��cJ���|��n?���|��s: �z��v7�z� �y4�z��|1�z� w�6���x������x������6���\�������������������B����U���� ����