�������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�zm���{�|n��op�ProGAL/geom3d/Vector�}qrst��uvwx�ProGAL/geom3d/Plane�}yz��{��|}�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 �+��kggkgk9"�+��k
ggkgk9$wkk9&wkk9(�*��k9*ccc�kg9,�+��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���@���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
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�<�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��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��?���������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����
����