21

Geometric Constraint Solving via C-tree Decomposition 1 Introduction

Embed Size (px)

Citation preview

Page 1: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��������� ������� ����� ��� ����� �������������

��������� �� �� ������ ���� ��������� �� ������ �������� ����� ������� ������ �� ��������

������ ������� ����� ! ��� �"��� #$��%�&���&��&��

��������

���� ����� ��� � ����� ���� � ������� � ����� ���� ��� �� ���� � ���������

� �������� ����� ��� � ������ ��� �� ������� ������� ��� � �������������� ��������

������� �� ������� � ������� ��� ������� ������ �� ��������� ������� � ���� �� ���������

�������� � ��� �� �� ����� ����� ������ ���� � ����� � ������ �� ��� �������

���� �������� ���� �� � �������� �� ������� �� � ����� ������� � ������ �����

��� � !�� ���� ������� ��� ���� ������� ��������� ����� �� � �������

��������� �������� ������� �� ���� ��������� ���� ����� �������� ������������������ ����� ����� ���� ������� � ������� ������ ��

� ����������

�������� ������� �� ��� ����� �� �� �� � � !�� �� ����� � ��������� ���� � � � ��� � � ���� �� ��!� ����"����� �� �#����� ������ �� ���� ��������� �� ���� $ ������ ���� ��%�� ������ �� �� ���& � � ������ ������ '()� (*+� � � ����� � ������ ')� (,+�� � �� �-����� ������ '(� .� (/� 00+ �� � � ���� -����� ������ '/� *� (1� (2+� $ �� ������� ���� � ���� ���� � ����� �� �� �������� ���� ������� ���� ��� ��� ��� �� �������� �� �� "� � � �� ���� �� ����� �� �� ��� �� ������� ���� ����

3 '0(+� 4�� �������� � ��� �� ����� � � � ���-����� ����������� �� ���� �� � � ��� �� ���� �� ����� � ��� �� ������� ���� ��� ��� ������� ���� ��� ������� �� � �������������� 3 '2� /+� 5�6�� �� � �������� � ��� �� ����� � ����� �������� �� �� ��0� �� ,� ������� ���� ���� � � ����� � �� �������� �� 7��-����� �� � � '((+ ���������� � 0� ������� ���� �� ��� � �-����� $ �� ��� �� �� ������ �� �� � � ��� ����� 4�� �� 5�6��� ��� �� ������ � ���� ���

$ � ����� ������ �� ��� ����� ������� ���� ���� ���� ����� ��� �� ���� ������� ���� �� �������� ������� ���� ���� 3 '(2+� 8�� �� �� 9��� ���� �������� � ���������� ���� � ����� � � � �� � �� ���� �� �������� � ������� ���� �� ��� � �� �� � ��� � ������� ��������� � ����� ���"���� � ����� 0�� � ���� �� ��� �� ����� � ��#��� ��� �� �� ��-������� ���� � ��� �������� � '(:+� 3 '*+� 5�6�� �� � ���� � � ����� ��� "� ������ � � ������� ���� ��� ;��� � ��� � ����� ������ �� ��� �� ���������

���������� ����� �� � �������� ��� ����� �������� ������� �� ����� ���� ����� ! " # �� �� � $%&�%' (���� ���) * �*+!�

(

Page 2: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

3 � �� ������ �� ������� � ��� �� � � � �� ���� �� �������� � ������� ���� ���� -���� �� ������ � � ���� �� �-���� �� 7��-����� �� � � '((+ �� 8�� ��-9��� ���� <�� ����� � '(2+� $ � ����� �������� ������ ������� ��� 8�� ��-9��� ���� <� � ��-��� � �� ���� �� "� � ����� � � � ������� ���� � =�� � �� ������ �� � �� �� � � ����������� �� ��� ��� ��� �� ���� ����

$ � ���� ���� ��� � ���� ����� ��� ��� �� �� ����� � ���� ������� ���� �� ��� ������ ��� �� ���� ���� � ��� ��� �� ���� ���� � � ������ ���� ������ ������� �� �������� ��� �� � � ���������� �������� $ � ���� �� ���� �� � �� ���� �� ������� � � �6���� � � ����������� ��� ��� $ � ��� ����� ��� �������� � � -���� �� � �� �� �������� ��� �� ���� �� ���� ��� � � 8�� ��-9��� ���� <� � ����� �� =� ��� ����� � ���� ��� ���� �� ���� �� ��� � ������� ���� �� �� �� �� � �# ���� ���� � >�� � ���� ������ � � ��� �#��� �� � � ��� ��� �� ������ ��� � '*+� "��� � � ��� ��� ����� ��?@- ���� =� ����� � ������� �� � ������� ���� �� � �� ������� ��� ��� �� ������� � ������ ��� �� �� ���� �� �������� �� ��� �����

3 ����� 0� �� � �� �� �� ��� 8�� ��-9��� ���� <� � ����� � �� "� � ����� �����-��� ������ ��� � ������� ���� ��� =� � �� ���� � ����"���� �� � � ����� ��������������� 3 ������ ��� �� ������� � � ���� �� ����� ���� ������� � �������

3 ����� ,� � � ���� �� -���� �� �������� �� � � ����� � �� ������� � � -���� �����������

3 ����� /� �� ���� � � �� ���� �� ����� �� �� �� � � ���� ����� �������& � � ������ ���� ������� � ������� � � �� �� �������� � � ������� �� � ����� �� �� ����� �� ��� ������� �� � � �� !�� � ��� ��� �� �� � ��� ������ �������� ������ �� �� ��� $ ����� �� �� ����� � ���� �� �� �� ���� ������ �� ��� ������ � � ��� �� �������� �� � ������� �������� �������� �� � ���� "��� �������� � '(.+�

� � �������� �� ������ ��� ���������� �������

=� ������ � ��� ����� �� �������� ��������& ������ � ��� �� ��� � � � � ��� ��-������ A� ���� ���� �� ��� ����� �� ��������& � � ������ �������� ����������B����� ����B ��� ����B� ��� ��B �� �� � � ��� �� �������� ������ ��B ��� ��B� ��� � ��B� ��� � �������� ������� ������� ������ �� � ��� �� �������� ������������ � ��� �� �������� �������� ���� � ��� ����������� ��� �� �� ������ �������������� ��� ���������� �� �� �� ��� ������ �� �?����� ��� �� �3����� ��� ��������� �� =��� ��� ��� �� �� �� �� �������� ������ � ��� �� ��� ��������� ��

=� ��� � ������� ����� �� �������� � ������� ���� ��� $ � ������� �� � � ���� �������� � � �������� ���������� �� � � ����� �������� � � ��������� ;�� � ����������� �� �� ��� ���� �� ��� �� ����� ��� ���� �� ������� �� ����� ��������� ��

;�� � ���� � � � � ���� � �� �4���� �� � � �� �� �� �� � � �� � � ����� �� �� ���������� �������� �� ��"� � � ������� ���������� �� �� 9��� �������� �������� ���� ��� �� �� ��� ;�� � �������� ��������� �� �� �4;��� �� � � ������� �� ������� ��� ��;�� � ������� ���� �� �� �4;��� C

�������

�4;����4���� C�

�� ����4����

� ������� ���� � �� � �� ��������� �������������� �� �4���� C �4;���� ) ����� ����� ������� � �� �� �4���� � �4;��� � )� � �������� � �� -�������� ���� ��"�� � ����� � ���� ����� >��� � ���� ����� ���� � � ������� ���� �� ���������� �� ��������� � �� -�������� ���� ��� ��� � �� ����� �� � �"��� ����� �� �� ������ 3� �� ������ �� �� ��� � � �������� �� ���� ��� �� � � ������� ���� �� � �� $ ��������� � �� ��� ������� �� ��� �������� � �� -�������� ���� ����

0

Page 3: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��� ��������� �������� ������������ � �������

>����� ���� 8�� �� �� 9��� ���� <� � ����� �� �� ��� �� ��� ��# ���� ������� �� ��������� � ��� �� ���������� � �� ��� ��������� $ � �������� ����� �� � �� ���� �� �� �� ���&� ����� � � � ���� �� ��# ������� �� �������� >� �� ���� � � ���� ����������� �� � "�� � ���� ��� ������� �� � � ����� � � � ����� ����� � �� ����� � �������� � �� -������������ �� � �� ������� �4���� C �4;���� � � �� � �� ����� ���������������

3 '(2+� 8�� �� �� 9��� ���� �������� � � ����� � � � ��� �� ���� �� ��������� �� -�������� ���� �� ��� � ������� ��������� � ����� �����& ��� ��� � � � � �� � ����� �� �� � ��� �� �������� ����������� �� � ��

(� $ � �������� ���������� � �� � � ��� �������� ��� ���������� � ��� � � � � �����

0� $ � ������� ����� �� ������� �� ����� � �� -�������� ��� �� ( � � ��

,� ?� ������ ������� �� �� ������� ������� ( �� 0�

$� "� ���� ����������� �� "��� ��� �� "� � ����� ������� �� ��� � � ���� ���������� �� � ������� ���� ��� $ � ���� ���� � � ;����� ( �������� �� ������� 3� �� � ����� �#������� ��� ����� �� �� � � ���� ���������� �� "#�� ��� � ��� ���� ����� ������� �� ������� ����� � ��� �������� ������� �� ��������

p 1 p 2

p 3

l 1 l 2 l 1 l 2

l 3

l p

;����� (& D����� ��� ��� �� � ��� ����������

3� �� � ����� ���� �� �#���� �� ��� �� "� � ��� ����� ��� ��� �� �� � �� �� C �3����� ����� �3����� ��� ��� !��� =� �� �� ��� ��� �� �� � � ���� ���������� �� ����� � � �� ������������& �� C �1� 1� 1�� �� C ���� 1� 1�� �� C ��� �� 1�� � ��� � �� � ��� ������ �� �� ������������ 4� �� ���� � �� ������� ���� �� �� 8�� � �� � � ����� �� ������ � � ������������� �� �� ���� ���� ���������� �� ��� �#��� �� ���� �� ������ � ��� �������

8�� �� ��! �� � � ������� ���� �� � ;����� 0���� � ��� �� �� ��������� � ������������ ��� ������ =� ��� � � �� �������� � � ������� �� � � ������

(a) (b)

V

U

P

Q

A

B

C

DW

P

Q

A

B

C

DW

(C4)

({U,V,Q},{W}) ({P,Q,U},{V})

({P,Q,U},{V}) ({P,Q,U})(C5)

({P,Q,D}},{W}) ({P,Q,A},{B},{C},{D})

({A,B,C},{D}) ({P,Q,A},{B},{C}})

({A,B,Q},{C}) ({P,Q,A},{B})

({P,Q,A},{B}) ({P,Q,A})(c)

;����� 0& � ������� ���� �� �� ��� -����

;�� � �� ���� ��� � ��� ��� � ��� ������� � ��6���� ����� � � �������� ����� �� � � �� �� � ������� 3� �� ��� � �� � � ��� ������ � � � ���� ����������� ?��� � �� �������� ��� ��� ��� �� �� ���� ���� ����������� �� �� �� �� �����������, � -�-�-�-�-�- ��� ��- ��, � -�-� - - - ���������- ��, -�- ��������������� �

,

Page 4: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��� � ����������� �� ���

������� � �� � ������� ���� � �� ��������� ��� � ���&

� & ��� ��� � � � � �� �(�

$ � ��#��� �� �4;���� ��� C (� � � � � � �� � � ��#��� ����� �� ���� ������ �������� ���� �� ��� � ����� �� �� �� �� $ �� ����� �� � �� � � ���������� ������ �� ������� �� � ���� ������ �� 9�4;����

=� � � � ���� �� ������� �� �� � ��� � � � � ���� � ���� ����� ������ 8��

�� C��

���

����� C ����

=� � �� �� �� �� ��� �� �� �������� ������ ��������� �� $� �� �� � ���� �� ��� ���������� �� ������� � �� �� �� !��� $ � ��� �� �4���� ��� � ����� � ������ �� ���� �������� � �������� ����� �� � � ������ ����� �� �� � �� �� ��������� ������������� �� �?��������

������� ��� �� �� �� �� � �� ���� ��� ����� �� ��� �� �� � �� ���� �� ��� ���� C �� � ��� �� ���� , � ��������� � � !�� �� �� � C 0����E ,�����

������ ��� �� ����� �� ���� �� �������� ��������� �� ����� �� � ������ �?������� � �� ��� ������� � � �� ���� �� � � ������ �� ������� ��� �� ���������� 5�� �?������� ,�;��� '(2+� �� � �� ���� �� � ����� � ����� ������� ���� � . ��� � ����� ������ ���� ��� � ������� �� �� ���� � ������ �� ����� �� ���� �� � ��������� �����4��� � �� � ��� ��� �� �� �� � �� ��� ������� �� ��� �#�� � �4;�� � C ,����E /������������ �� �������� ��� 3 �� �� ������ �� ���

�?������� E �4��� � C �4;�� � C ,����E /����

$ �� �?������� � �4;�� �� �� � C 0����E ,����

$ � ��������� �� �� ��� ������ �� �� � �� ������� ��� � � �� ���� �����

(� 3� �?������� C ,� �� ������ �� � ���� �� � � ��� � � � �� �������� �#� ��� ��

0� 3� �?������� C /� �� ������ �� � ��� � � � �� �������� �#� ��� ��

,� 3� �?������� C .� �� ������ �� � �� � �� ������ ����� � �� ������� � �� � ��� ��� ������ ��� C (� � � � � � � �� ����� ������ � � ������ �3����� ������ C (� � � � � ��( ������ !��� 4� ������� �4;���� � . � � �� ������� �� � � ��� � �� �?������� C .�

/� 3� �?������� C )� $ ��� �#��� �4;����� ) �������� ������ ���������� � ��� 5���� �� � ������

.� 3� �?������� � )� � � ���� �� ������ ���� ��� ������ ?�� �� �� �� � ����� �������=� ��� �� ��� � � �������� ����� �� �� � ��� ������ �� �� �� �� �������� ���

= � �?������� C )� ��� �� �� �� ��� ������� 5��� �� ��� �� �������� �� � �������������� =� ��� �� ������ � ��� ������ ������ �� ��# ��������� $ �� ���� �� � ��������� ��� ���� ����&

/

Page 5: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

����, .���� ��� ����� ������� �� ����� ��(��� ������������

����, .���� ��� ��� ������� �� �/� ��(��� ������������

����, .���� ��� 01� ������� �� ��� ��(��� ������������

��, &�� ��� ��2 ����������� ���/��� �� �� �� ��� ������� ������������

$ �� ��� �������� ����� ������� ������ �� �� ��� � �� ���� �� � � ������ "����#������ '0+� � � �� � �� ���� �� � ��� � ������ �������� ��� ������ ������ $ ������� ����� ��������� �?������� C ) �� �� � �� � ��������$�� "���� ������� ���$��

� � ���������� � ������

��� � �� !����"������� #���$ �����

8�� � �� � �������� � �� -�������� ���� �� � � �������� � �� -�������� ������� �� �� 8�� � �� � � ��� �� ������� � �� � �� � �� � ��� �#���� �� ���� �� �������� ������� �� � �����# � ���������� 3� � C ����� � �� � �� � ������� ��������

8�� � �� � ���� �� ������� �� �� =� ��� ������ � ��� ������� �� � ��� �� =���"� � ������� �� �� � �� �� ���� ����� C ����� � ����� � �� � � � ����� � ��������� ��� ������� � ����� �� �� � ����� 3� �� �� �������� � �� -��������� �� ��� � �� �� ������� � 4� ������� �� ��� �4;������� � �4�� ����� � ) ��%������ ������������� ������� � � �� ��!� � � �� ���� �� �������� � �� -��������� $ �� � �� ������ � � � ����� � � '(2+� $ �� �� ���� �� � � �� �� ���� �

��������� �� & ����� ��� � ������� ����� � � � ������ ���� '�� ��� �� �� ��� � ��!�� ���� ���� � �� �� ���� � ��� ����� � ��� ���� ����� � ��� � �������

(� � � ����� � )�" �� � ���� ����� ����� � C '��� +� ����� � � � ����� ���� ��������� *����� � � � � �� �������� � �� ��������� �� �� !��� �� ��+������ �� ������������ �� � � � ������

,� '�� ����� ������� �� � � � ������� ������� �� � ��� �� ���� ����� � � �� ��� ������� � ��� ��

&�� ����� ��� ����� ��� �������� �� ���� ����� ������

8�� �� ������ � � ������� ���� �� � ;����� 0���� $ � ������� ����� �� ����� �� ������ � ���� �� ������� � $ � �� �� ������� ����� �� ����� �� ���� �� ;����� 0��� � ��� �����#� ���� ����� ���� � �� ����� ��� ������ � -���� ��� � �� ���� �� �� ���� � ;����� 0���

����� � -���� �� �������� �� ��� ��� �� �� �� �� � � ������� ���� �� �� �� ���� =� ��� ��� �� ��� � ���� -"��� ���� �� � � -���� �� ������ � � �� ���� � ��� �����

(� $ � ����� ��� �� � ��� �� ���� ����������� =� ��� ����� ��# ���� ������� �� ��������� ������ � � ��������� �� � ��� �����������

0� $ � ����� ��� �� � ���� ����� ������� =� ��� �� �� �� � �� ����� �������

,� $ � ����� ��� �� �� � ���� 3 � �� ���� �� � ����� �� ��� � � ��� � � � � �� ������� ;��� � �� ������ �� ��� ������ � � �� �� ��� � � ��#� ���� �������� � � � ��� � � �� ?�� � � ��� � � � ������ � �������� � �� -������ ���� ��� =� ��� �� ��� � ��� � � � �������� ��

.

Page 6: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��� %������ ��� ����� ��� ���

;�� � � ���� �� � ;����� 0���� �� ���� ���� ��� �� �� �� �� �� �� � � ���� ��� �� ���9�4;���� C �4;���� ����� C *� 9�4;���� C �4;����������� C (0�9�4;���� C�4;���������� �� ����� C 0(� 3� �� ��� � �� �� �� � � ���� ���� $� ���� �� ���� ��� � ����������� �� ��� "��� �� "� � � ������� ��� � � ����� � C ����� �� ���� �� �� ��� � ��� ���� ���&

�� & � F�F� F� F�

;��� � �� ������ �� ��� ������ � � ������� �3����� � �� �3������� $ � ����������� �� � ;����� 0��� �� ������ �� � � �� � ;����� 0���� � � � �� �� ��� ��� � ��� ���� ����

� & � F�F�F�F�F�F�

?�� �� �� �� � � ���� ��� �� ��� �� �� �� ��� ����& �� �� �� ��� 9�4;���� C9�4;��� C ,� � � �� �� ������� $ � �� ���� �������� �� ���������� �� � � -���� �;����� 0��� $ �� �� ���� �� � � ���� �� � �� ������� ��� � � ����� �������� � ����� � ��5�6�� �� � '2+�

>���� � � �� ����� �� �� ���� � � ����� � �� �������� ������� �� ���� ;���� �� �� ���� �� � ��� � � �� ���� � ���������� ��� � -����� 8�� � �� ���� � �(�� 8�� �� C ��� � � � � ��

�� �� C �������� $ � � � "��� ��� � � �� '����� ��+ � � �� � ��� �� � � -����� $ � "���

��� � � � �� ����� $ � ���� ��� � � �� '����� ����+ � � �� � ���� $ � ���� ��� � � ��� ����� �� �� �� �� � � -� ����� �� ��� � ��� �� � � �� � � ��� �� ���� �����������

�������� �� '�� ���� � � ��������� ������������ ������� ����� �� '�� ���� �� ����� ��� ��

�� �� �� � ��� �� ���� ���������� ��� � �� ������� � �� ���� ��

�� =�� 8�� ��-9��� ���� <� �������� � ����� � '(2+� �� ��� "� � ��� ��� �

� & ��� � � � � ��

� 8�� �� C ������� 3� �?���� ����� ! .� ���� �� � ����� � � �� �� � ��� $ ��� ����

��� �� ����� � ���� �� �� ��� 9���� �� �� ���� ��� �� ���� ����� � �� ������� ��������� � ������� )�"&

� � & � �

�� � � � � ��

�� 8�� ��

� C ������

�� 3� " C (� � � � � �� �� ��� �� �#� ��� ��������� �� � �� ��������� ������ ����� =� ��� ������� � -���� ���� �� $ � � ����� � ����������

� 8�� # �� � � ����� ����� �� � �� � ��� �#���� �� ���� �� ��������� � ��

� �� � ��� ��� ��� � �������� ������ � �� �� ��������� � � �

�� C E (� � � � � "�

�� 3� # C "� �� ��� �������� � ��� ��� �� ������� ;�� � ��� �� �� ���� ���������� ���� �� ������� � �� � �� ���� �0� 3� � �� ���� ���������� �#���� �� ��� �� �� �� ���� � � ��� �� =� ��� ������� � -���� ��� �� $ � � ����� � ����������

�! 4� ������� # ! "� =� ��� � � � -���� �� �� ���� $ � ��� � � �� � � -���� ���������� ���& � �� C � �

�� � � � � ��

�� $ � ��� � � � �� � � �� �� ������� �� � ��� � � ���� �� ������� ����� �� ��

�����

�� ��� � C �� ���� �(�

)

Page 7: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

AB

C

D

E

F

G

H

I

J

KL

(a)

({A,B,C,D},{E,F,G,H})

({A,B,C,D,E,F,G,H},{I,J,K,L})({A,B,C},{D}) ({A,B,C})

({A,B,C}},{D})

(b)

;����� ,& � ������� ���� ��� ����� ��� �� �����

=�� � ����� � ,�0� � � -���� � ;����� 0�� ��� � � ���� �� � ;����� 0��� � �� ����������������� �� ;����� ,��� �� � ���� ��� � ������� ���� ��� � ��� �� ���� ��������� ������� ������ ��� ������ ;����� ,��� �� � � -���� ��� ��� ?��� � �� � � ���� �� � ;�����0��� �� � �� �� ��� ��� � � ����� �������� ��� �� �������� � '2+� ��� �� ������ � ����� �� �� � � ���� �� � ;����� 0��� �� �� �������� � � ������� ���� ��� /-������������ ��� ��� �� ���� '(0+� >�� � � ���� �� � ;����� , ��� �� ���� �"�� ��� ��� ��� ����

� ��� �� �� ���� �� ���� ����

$ � ���� ���� �� �� �� � ������� ���� �� ��� � -���� �� �� �� �� ���� ����� ��������>��� ����� ������� ��� ����� ����� ��� � � ��# ��� �� ����� � ���� �� �� ��� >�������� ������� ��� ����� ����� ������� � � ��# ��� ����� � ���� ��� � �� �� ���>��� ����� ������� ��� ����� ����� ��#� ����� � � �$��� ��� ��� � �� �� �� �� ������ ������� �#������ � '0+�

=� �� � ���� ��� � �$� ��F �� �� �� ���� =� ��� �� �� ����� � �������� � ��� � ����� �,�0� 8�� � � �� � � ��� �� ������� �� � � � � ��� �������� ��� ������� � �� ��� � ����� �� ���� �� ��� ��� � ������� � ����� �� �������� �� � � �� � �� � � ������ � ������$ � � � ���� ����� ������ ����� �� � �� ���� �"�� �� ���� ��� �� � �������� �� ��������� � �� ��� � )� ;�� ������ � � ���� ������ � ;����� /��� �� � �� ������ �� � ��� � ;����� /����

(a) (b)

B

p 1

p 2

p 3

p 4

p 5

p 6

B

p 1

p 2

p 3

p 4

;����� /& � ��$ �� ��� ���� �"�� ����

3 � �� ������ �� ��� �� ���� � � �� ���� �� ���� �� � � � ������� � ������� $ ��� ������ �� ������ ������ �� ��� ������ � � ��� �� �������� "��� �� � � ������ � ������� ���������

=� ��� =�-D���<� ���� ����������� ��� �� '0,+ �� "� � � �� ���� �� ������ $ ����� �� ��� �� ���� �� �������� � � ���� ��� �� � �� ����� ������� ������ �� � � ��� ������ ���� �� �������� � ��������� ����� � �� ��� ������� ������� �!�

$���� ��� C 1� $���� ��� ��� C 1� � $��� ��� � �� C 1

:

Page 8: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

� ��� � � � �� � �� �������� �� � ��� �� ���������� �� � � � ��� � � ������ �� �� ������������ �� � �� � '0,+� �� ����� ��� � ������� ������ � ������ �� ���� ��� �� -���������� ;�� ������ � � ����� �� �� ����� �� � ������� ������ � ������ �� ����� �� ���� � ��������

&�� '�"����� ���( �� �����������

��� � ����� � �� ���� �� �������� ��� � � ��������� �� � �� �� � � ���� �� �� ��� � ��� ��� � ��� � � ��� ����� �� ��� �� ��������� 4� �� � � ��� �� ������� ���� �� ( ������ ��� � ��� �� ��� ���� � � �� �� �� � � ���� � ��� ������� �� �� �� 0������ ��� ��� �� ��� � ���� $ ��� ��� � � ��� ���� �� ������ � � � ��� ������� ��������� ��������

(� 3������ � ���� � ��� ������� �� �� �� 0 �� � ��� �� ������� �� �� �� (�

0� 3������ � ��� ��� �� �������� �� �� �� (�

3� �� ���� �� ��� � �� � � "��� ��� � �� ������ �� �� �� ��� ���� �� �� ����������������� $ �������� � � ���� �� �� � ��� ��� �� ������

;�� � � ���� ���� �� ���� ��� �� ��� �� � ��� ��� � �� � � ���� ��%�� ���� �� ���� ����� ��� � ��� ��� � � � � � ������� ��%�� ���� ������ � �� � � ��������� �������� ��� � � ��� ��� � � � ���� ��%�� ���

��� & " C "�� E ��������� & " C "�� E ��������� & " C "�� E ������

� ��� "�� C ���� ��� ���� "�� C ���� ��� ���� "�� C ���� ��� ���� ����� C (� ����� C (� ����� C (�

������ � �� � � ��������� �������� �� � � � ��� ��� � � � ������� ��%�� ������ & " C "�� E ��������� & " C "�� E ��������� & " C "�� E ������

� ��� "�� C ���� ��� %��� "�� C ���� ��� %��� "�� C ���� ��� %��� ����� C (� ����� C (� ����� C (�

8�� � � � ��� ��� �� �������� �� �&������ ���� C '�� ��'� C ��� �&������ ���� C '����'� C ����&������ ���� C '�� ��'� C ��� ��� � �� � ������ � � �� �� ������ � ��� ��� � � ��� � �� !��& �&������ ���� C (�� �� (� C ��� �&������ ���� C (�� �� (� C ���&������ ���� C (�� �� (� C �� =� ��� �� �������� � � � ��� ��� ������ ���� ���� ����

>����� � �� �� ��� ������� ������� �� �������� � � ���� �� � �� ����"�� ��� � ��� ���� � ��� ���� � �� �� ;����� .�

B U

l 11

l 12

l 13

l 21

l 22

B Ul 11

l 12l 23

l 21

l 22 B U

L11

L12

L13

L21

L22

L23

��� ��� ��

;����� .& $ ��� ����� �� $ ��� �� � ���������

2

Page 9: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

#$�� � ;�� � � ��� � �� � ;����� .-���� �� � ��� � � �� ���� ������� ����������������������

���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E ���� E %�%� � �� C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1

�(�

3� ��!�� ���� ��� ��� C �1� 1� (� �� �� C 1� �� � ��� %� C �� �� ����� ������� ������ ��� ���� �"�� �� ������

�����

���� E ���� � �� C 1���� E���� E ��%� � �� C 1���� E ���� E ��%� � �� C 1��� E ��� E ��� � ( C 1��� E ��� E %�� � ( C 1

�0�

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� ����������������

���� E %��� C 1%����� E �%����� E %(0,� � �0 E %��� C 1%���%� E �%����� E %������ E %��� C 1�%����� E %�����

�� E �%����� E %������ E %�� C 1

������ E %�� C 1

�,�

$ � ����� ������� ������ �� �� ���� / �� ������

#$�� � ;�� � � ��� � �� � ;����� .-���� �� � ��� � � �� ���� ������� ����������������������������������

���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E ���� E %�%� � �� C 1���� E ���� E %�%� � � C 1���� E ���� E %�%� � � C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1

�/�

3� ��!�� ���� ��� ��� C �1� 1� (� �� �� C 1� �� � ��� %� C ��� %� C �� �� ����� ������������� � �� ���� �"�� �� ����������

���������

���� E ��%� � �� C 1���� E ���� E ���� � �� C 1���� E ���� E ��%� � � C 1���� E ���� E ��%� � � C 1��� E ��� E ��� � ( C 1��� E ��� E ��� � ( C 1��� E ��� E %�� � ( C 1

�.�

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� �����

*

Page 10: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

�������������������������������

��%� E ���� � �� C 1������ E ������ � ������ E %��� C 1��%����� E %������ E %����� E %������

E �%���� E %����� E %����� E %���� C 1��%����� E %������ E �%����� E %�������

E �%������ E %������� E %������� C 1�%����� E %�����

�� E �%����� E %������

E %���� E %�� C 1%���� E %���

�� E %�� C 1

%����� E %���� E %�� C 1

�)�

$ � ����� ������� ������ �� �� ���� / �� ������

#$�� ;�� � � ��� � �� � ;����� .-��� �� � ��� � � �� ���� ������� �������

���������������������������

���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E ���� E %�%� � �� C 1���� E ���� E %�%� � � C 1���� E ���� E %�%� � � C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1

�:�

3� �� ��� � �� �������� � �� ������� ������ ��� ������ �� ����� >��� �� ��� ������� � �->����� ����� ��� � � ������ �� �� ��� '01+� 8�� � C ���� ��� %��� � C ���� ��� %��� � C���� ��� %��� $ � � � ������ ������ �� � � �� �������� ��� �� �� � ��� �(� 1� 1�� �1� (� 1���1� 1� (�� �(� (� 1�� �(� 1� (�� �1� (� (�� �0� 1� 1�� �1� 0� 1�� �1� 1� 0�� $ � � � �G>����� ����� �� � ������ �� �

� ��

�� � � � �� ����� � � �� �E ��� �E ��� �E ���0 ���0 ���0 ��� � �

�� ()� �� � �������� �� !�� � �� � � ����� ������� ������ �� �� ���� () �� ������

l 1

l 2l 4

l 3

a

h 1

h 2p 5

h 4 h 3

p 6

aa a

a

a

��� ���

;����� )& $�� A#��� �� �� ��� ,�,�

5��� ��� ��� �� �� ) ��������� ��� �� �������� � 3� � ��� ��� ��� ��� ������ ����������� �� �� ��������� � ��� �� ������� �� � � �� �� ������ ��������

%$�"�� � $ � "���� � �� � ;����� )-��� �� � ���� �"������� ��� ���� ��� � ':+� 8������ �� � � ���� �� ���� � � ������� ��%��� ������� � �� � � ��������� �������� �� ���� �� ����� ������� � ��� ��� �� �������� ���

��� & " C "� E ������ & " C "� E ����

�2�

(1

Page 11: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

$ � ��������� �������� �� �� �� �� ������ & " C "� E ������ & " C "� E ����

�*�

� ��� �� C ���� ��� %��� �� C ���� ��� %��� �� C ���� ��� ���� �� C ���� ��� ���� "� C ��� � ��� %��� C(� � � � � /�� �� �� � � ��� ����� ���� � �� ��� C (� � � � � /�

8�� �&����� ��� C '�� ��'� C ��� �&����� ��� C '�� ��'� C ��� �&����� ��� C '����'� C ��� �&����� ��� C (�� �� (� C ��� $ �� �� � ��� � � �� ���� �����������������

�������

���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E���� E ��%� � �� C 1���� E ���� E %�%� � �� C 1��� E ��� E %�� � ( C 1��� E ��� E %�� � ( C 1

�(1�

8�� ���� ��� ��� C �1� 1� (�� �� C 1����������������

%� � �� C 1%� � �� C 1���� E ���� � �� C 1������ E ������ E ����� E ������ � ���� C 1����

���

�� E )��� E )� C 1

����0���� E *��� E *� C 1

�((�

� ��� )� C ��0���������E0��������E0���������0�������� )� C ���E ����

���

���0���������E����

���

�������

��E ����

��� ����

��� 0������E0���������� *� C �0��������E0���

������� 0��������E0��������

*� C 0��������� E ������ � ����

�� � ����

�� � 0��������� � ��� E ����

���

�� E 0������ � ����

���

$ � ���� �� �� / �� ����� �� �����

%$�"�� � $ � "���� � �� � ;����� )-��� �� � ���� �"������� � ',+� ��� C (� � � � � /���� � ��� �� "� �� "� ��� ������ 8�� ����� � ����� �� � � ���� �� ����� � � ���������%��� $ � ������� �� � � �� �� ��������� �� � � ���� ����� �� � � � ��� 8�� � ����� ������ �� �� �� �� ��� �� C ���� ��� ���� �� C ���� ��� ���� ������� � �� � � ���� ������ �� �� �� �� ��� �� C ���� ��� %�� �� �� C ���� ��� %�� ����� ������� � ��� ��� �����������

8�� �&����� ��� C '�� ��'� C ��� �&����� ��� C '�� ��'� C ��� �&����� ��� C '����'� C ��� �&����� ��� C (� �� �� (� C ��� $ �� �� � ��� � � ���� ��� �� ��������������� �� ���� ������� �� ���������� ��� �� � ��� � �� � �#��� � (� �� � � ���� �� �� / �� ����� �� ���� ����

&�� '�"����� !������� �����������

$ ��� ��� � ��� ���� �� ������ � � � ��� ���� ���� ������� �� ��������

(� 3������ � ������� �� �� �� ,� � � �� ����-���� ������� =� � ��� �� �������� ��

0� 3������ � ������ ������� �� �� �� 0� � � �� ��- �� ������ �� ����- ��������� �� � ������ ������� �� �� �� (�

((

Page 12: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

,� 3������ � ��� ������ �������� �� �� �� (�

���� 0 � �� ��!� �� � � �������� ��� �� ��� ,� ��< ������ �� ����� =� ������ � �� ��� ���� � �� �� � ��� ��� �� �������� �� �� �� (� "��� ��

=� �� ��!� ��� �� � � �� ���� ��"���� �� � ����� � H���� �� � '(.+� $ �� � ������� � �� �������� � '.+� ���� � � ��� �� <���� ����� < �������������

��������� ��� '�� �������� ���� �� � ���� �� �� �������� ����� ��� ����� � ������� ������� � �� � �� ���� � ����� �� ���� ��� �� ����� � �� �������� ���������� ����� ����� �������� �� ��������

������� ��� -� &���� � �� �������� ���� �� "� �� �� �������� ����� ��� ����� �� ������� .� �� �������� ���� �� ��� ���� ���� " �� �� �������� ����� ��� ������ �� ������� � &

���� C &���� E �" � "��� ������ �� ��������� ������ �������������� ���� ��������� ��� �� ������ ������ �� ������� �� �� �������� ������

����� ������� � � ��� ������� ������ �� ������� �� � � ������� ��%��� � � / ��������� �� ���� ���� ���� � ,� ��� � �� � ��� � ( � � � � �������� ���������� ��� ������ ��� �� � ����

���������� ��� ��������� �������� ��� ����������� ������� ���

��� ���� ����� �� � �� � ��� � ��� � ��� �� ���� ����� �� � �� � ���� ��� ��

� ����� ����� �� � �� � ������� ��� ��� ���� ��� �� �� �������� ����� �� � �� � �� � ��������� �����

$�� � (

3 $�� � (� ��� ������ ������� ������ ��� ��� ''�� ������� � �� �� �� �� � � ����� ��%�� �� �� �� � � � ������� ��%��� " �� � ���� � �� ��� (� �� (� ��� ��� ���������� � �� �� �� �� �� ��������� �� � �� � ��� ����� �������� �� �� � � ��� ���� ����� +� �� � � ������� ;�� ������ ������� ������ � ���� �� � � �� ���� �� � � ���� ��� � � ���� ��%��� "� �� � � ���������� ����� �� ������ �� �� � ���� � � � � ��� $ �� )��� ����� � �������� �� ��� ������ ���� � �� � �� � ��� � �� � ��� ����� �������� ���� $ �� ) �� + �� � � ������� ;�� ������ ������� ������ ��� ����� ���� � �� � ����� � � � ���� ��%�� �� + �� � � ������� ;�� ������ ������� ������ � ���� �� � �� �'�� ( �� � ��� ����� ���� � �� � � �� �� � �� � ��� ����� � �������� �� ��������� �������� �� �� (� 3� � � ���� �� � � � ���� ��%��� "� �� � � ���������� ������� ������ �� �� � ���� � � � ���

$ � ���� �� �� ������� � ��� ������ �������� �� �� �� ( � �� ����"�� ��� "������� � �� � ;����� 0�

B

U

B

U

B

U

B

U

B

U

��� ��� �� ��� ���

;����� :& ;��� ����� �� $ ��� ������ ���������

(0

Page 13: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

8�� "�� "� �� "� �� � � ����� � � � ������� ��%��� ��� �� �� �� � � ���������� ��� ����� �*� ���� ���� ���� �� �������� ����� �� ���/ �� �� ����� ����% �� ���������� ����� � �� � ����� �� � �0 � ����� �� � ����� �� ��� �*� � ���� �� �� ������� �� ����� $ � ���� ���� ����� �� �������� ��� �� �� �� ��� & ������ &

����� ��& ����� ��������� �� 3������ �������� ��� �� �� �� ���� � �� �� ���� "� ���� "�

� & ������ "�� � & ����� �� "�

� � & ������ � ��� �� "��"�

� �� ���� � �� ���� �� ��"�"�� �� �� "�

�"�� �� ���� � �� ���� �� �� "�"�� $ � ��������� ������� �� �� "��"

�� " C "�� E ���� � ��� � �� � ��������� �� �� �� � ��� ������ $ � ��������� �������

�� �� "��"�

� �� " C "�� E ���� � ��� � �� � ��������� �� �� �� � ��� ������ 8�� ,� ��

,� �� ���� �� ������ �"�"�� �� �"�"�� ��������� �� � � �� ��� "�� C "�

� E ,��� ��"�

� C "�� E ,���� $ � ���� ���� ����� �� � C "�

� � "�� ������ �� $ ����� ,�0� ��<�������� � �� ���� "�

� �����"�� � � �� ���� �������

���

& ������ C & ����� E �"� � "��

& ������ C & ����� E �"� � "��

& ������ C & �����

�(0�

=�� ����� � ��� ��������� ��< ��� � ��� ���� ������ �������� � � ��� �!������������� �� ��� ��� "��"� ��� ,��� �� "��"� ��� ,���� >����� � � ��� ��� ���������� ���� ���� ���� ��� ��� �� ���� ������� �� ������ ������� ����� ������� � � � ������������� �� �������� � � ���� �� �� �� �� � � � ��� �������� � �� ����"�� ��� ���� ������ �� � � � �� ����� ����� �� ��� � � �� ��� �� ���� �� ���� "��� �� � ���� ��� � �������� ��%�� � �� � � ����� � C "�� � "� �� ��� � � �� ��� �� ����� �� ���� "�������� �� "�� C "�� E ,��� �� ���� "�� ������ �� "�� C "�� E ,��� �� ������� � �������� ��%��� ����� �������� � �� ������ �� �� ����

���

" C & ����� E ,���" C & ����� E ,���" C & �����

�(,�

(� 3� ,� C 1 �� ,� C 1� � �� �� � ��� ����� "�� "� �� "� ��� � ��� ��6���� ������ ������������� �(1� �� ���������� �� ���� ���� �� �� ��� � �� � ;����� 0�

0� 3� ,� C 1 �� ,� C 1� � �� �� � ��� ����� "�� "� �� "� ��� ������� ������� �������(1� �� ���������� �� ���� ��� � ;����� 0�

,� 3� ,� C 1 �� ,� C 1� � �� �� ���� "� �� "� ��� ������� ���� "� �� ��6���� ���� "��������� ������ �(1� �� ���������� �� ���� ��� � �� � ;����� 0�

>����� ����� ��������� ��< ��� ��� ��� ��������� �� ��� � � ��� ��� ��������& ��� E ,�� � ��� & ��� �� � � ���� ���� ���� � $�� � ( �� ,� �� � ����� ������

''� *�����$���$ � ��������� ������� ��

" C " E +��E �(� E (� E ,�

$ � ��� ��� ������� ��

����� � �������� �� � +���� E ����� � �������� �� � +���� E ����� � ������% � %� � +���� C 1

(,

Page 14: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

� ��� " C ��� �� %�� " C ��� �� %�� � C ��� �� ��� (� C ���� ��� ���� (� C ���� ��� ����� C ���� ��� ���� � C �(� � (�� �� C � E ,�� �� C � E ,�� %� C % E ,��$ � ��� ��� ������� � �� ���� �"�� ��

���E ��� E ��% E �/ C 1

� ��� �� C ������ ������ �� C ������ ������ �� C ������ ������ �� C ������� �������� E+����� ����� � �������� E +����� ����� � ������%� E +�����

��� *�����$���$ � ��������� ������� ��

" C "� E +�E �$ E )E ,�

$ � ��� ��� ������� ��

����������������� +���E �������������� ��� +���E ������ ������%� %�� +��� C 1

� ��� " C ��� �� %�� "� C ��� � ��� %��� � C ��� �� ��� $ C ���� ��� ���� ) C ���� ��� ����� C ���� ��� ���� � C �$� ) �� C �� E ,�� �� C �� E ,�� %� C %� E ,��$ � ��� ��� ������� � �� ���� �"�� ��

���E ��� E ��% E �/ C 1

� ��� �� C ������ ������ �� C ������ ������ �� C ������ ������ �� C ������� �������� E+���� ����� � �������� E +���� ����� � ������%� E +����

��� *�����$���$ � ��������� ������� ��

" C #� E +���- �� .�E ��- �� .+� E ,�

$ � ��� ��� ������� ��

��� ���� E �� � ���

� E �% � %��� � +� C 1

� ��� " C ��� �� %�� #� C ����� ���

� %���� � C ��� �� ��� �� C ��� E ,�� �� C ��� E ,��

%� C %�� E ,��$ � ��� ��� ������� � �� ���� �"�� ��

�� E �� E %� E ���E ��� E ��% E �� C 1

� ��� �� C �0��� �� C �0��� �� C �0%�� �� C ��� E ��� E %�� � +� �

�'� *�����$���$ � ��������� ������� ��

" C "� E /(E +����-�E ��-�� E ,�

$ � ��� ��� ������� ��

��� �� � /��� E �� � �� � /��� E �% � %� � /��� � +�� C 1

� ���

(/

Page 15: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

/ C �������������������������������������������������������������������������

E ����������������������������������������������������������������������������

� � � ����� � ���� ����� E������ E ����� � ������ C 1�

$ � ��� ��� ������� � �� ���� �"�� ��

���� E ���

� E ��%� E ���� E �% E ��� E ���% E ���� E ��% E �� C 1

� ��� " C ��� �� %�� "� C ���� ��� %��� � C ��� �� ��� ( C ��� �� ��� � C ���� ��� ����� C ���� ��� ���� �� C �� E ,�� �� C �� E ,�� %� C %� E ,�� �� C ( � 0�$� E 0$�(

���� C (� 0�$� E 0$ �� � �� C (� 0�$� E 0$ �� � �� C /$�$�� 0�$� � 0�$�� � C /$�$�� 0�$� � 0�$��� C /$�$��0��E�0��$��0$���E0%�(�$�E0���$�� �� C /$�$��0�$��0�$�� �� C 0���$�E0���$��0���0�$�E0�%(���$0E/�$0�$/� �� C 0���$�E0%��$�E/$�$�E0���$��0��/�0%��

�� C 0%��$�E0���$�E0���$�E0$ �� �+��E���E���E%�� � $� C�����������

������������������������������������

$� C�����������

������������������������������������

$� C�����������

������������������������������������

$� C�����������������������������������������

������������������������������������

$ ��� ��� � ��� ����� ���� � � � ����� � ���� ����� E������ E ����� � ������ C 1

(� ( C �1� 1� (�� "� E ,� C �1� 1� 1�$ � ��� ��� ������� �� �� E �� � +�� C 1� / C %F

0� ( C �1� (� 1�� "� E ,� C �1� 1� 1�$ � ��� ��� ������� �� �� E %� � +�� C 1� / C �F

,� ( C �(� 1� 1�� "� E ,� C �1� 1� 1�$ � ��� ��� ������� �� %� E �� � +�� C 1� / C ��

=� � ������ ������� ������ �(1� ��� / ����� ������ �� � � ������ �� �� �������� ������� ������ �(1�& ���� ������ � ������ �� ������ � ����� ��� ��� ������� � ������ ��� ������ � ����� ��� �� ������� � ������ �� ���� ������� � ������

�� ����� '���$� ,-$�����

3� � � ��� ��� �������� �� � � ����� �� ���� ���� ����� ��� � ��� ���� �������� � �� ���� ��� � � ����� �� � � ���� ���� ���� ��� � ��� � ���� ������� �(,� � �� ���������� ��

���

��% E ��� E ���E �� C 1�% E �� E ���E �� C 1��% E �� � E ���� E ��� C 1

�(/�

$ �� � ���� ������� ������ �� �� � �� �� ��� ���� ��

�� ��� '���$� ,-$����� $�� .�� /-$��$��* ,-$����

$ � ����� �� ���� ���� ���� � �� � �� ��� � ��� �� � �� ��� �� � � ����� $ � ����� ���������� ��� � �� �� �� ����

��� ��$��� $�� .�� �"���� A������ �(,� � �� ���������� ��

���

���E ��� E ��% E �� C 1��E �� E ��% E �� C 1�� E �� E %� E ���E �� � E ���% E ��� C 1

�(.�

(.

Page 16: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��� ��$��� $�� .�� #������� A������ �(,� � �� ���������� ���������

���E ��� E ��% E �� C 1��E �� E ��% E �� C 1���

� E �� �� E ���%

� E ����� E ����E ����%E ���% E ���� E ����E ��� C 1

�()�

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� ��������

%���% E %����E %��� C 1%���� E %���� E %��� C 1%����

� E %���� E %��� C 1�(:�

� ��� � � %��� ��� �� ����� � ���� �� �� �� %� >����� � � ������� �� � � ����� ��� �������������� ��� � � ����� �� � � ����� �� �� � ��� $ � ����� �� �#�������� ��� ������ %����� ��6���� ������� ������� ��� �� ���� � ������# ��

$ � ����� �� ���� �� ����� ����� � � ���� �� �� � � �� ��� �� �� �������� ��������� � ��� ���� ��������� �� � �������� �� !�� � �� � �� ��� �� �� �� �� �������������� ��

.�� '���$� ,-$���� $�� ��� /-$��$��* ,-$�����

$ � ����� �� ���� ���� ���� � �� � ����� � � �� �� ��� �� ����� � � �� �� ���� ����� �� � � �� �� �� ��� �� � � ����� $ � ����� �� �������� ��� � �� �� �� ����

.�� ��$�� $�� ��� �"����� A������ �(,� � �� ���������� �����

���E ��� E ��% E �� C 1�� E �� E %� E $� E $� E $�% E $� C 1�� E �� E %� E ���E �� � E ���% E ��� C 1

�(2�

$ � ������� ������ � �� ���� �"�� ��

���

���E ��� E ��% E �� C 1��E �� E ��% E �� C 1�� E �� E %� E ���E �� � E ���% E ��� C 1

�(*�

� ��� �� C $� � ���� � C .� � � � � 2��

$ � �#�������� �� ����� ������� ������ ��� � � ���� �� � �� �� � � ��� '�� #���� ��� �� "������ �� � � ������ �� ����� ��� � �� ��� � � �����

.�� ��$��0 .�� �"���� $�� .�� #������� A������ �0� � �� ���������� ���������

���E ��� E ��% E �� C 1�� E �� E %� E �� E �� E ��% E �� C 1���

� E �� �� E ���%

� E ����� E ����E ����%E ���% E ���� E ����E ��� C 1

�01�

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� �����

���

�%����E %����% E %����� E %���� E %�� C 1

�%����E %����� E %����� E %����E %�� C 1

%����� E %����

� E %����� E %����E %�� C 1

�0(�

()

Page 17: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

.�� ��$�� $�� ��� #�������� A������ �(,� � �� ���������� �������������

��� E ��� E ��% E �� C 1��

� E ��� E ��%

� E ���� E ��% E �� ��E ����% E ����� E ���% E ��� C 1

���� E ���

� E ���%� E ����� E ���% E �� ��

E ����% E ����� E ���% E ��� C 1

�00�

$ �� ���� �� �� ���� �� �� � � �� #����� �� "����� ��� �� �������� ����

����� /-$��$��* ,-$�����

$ � ����� �� ���� ���� ���� � �� � ����� �� � ��� �� ����� ��� �� ���� �� �� � ������� �� ��� �� ��� � ����� �� � ��� � ������ $ � ����� �� �������� ��� � �� �� �� ����

����� �"����� A������ �(,� � �� ���������� �����

�� E �� E %� E $�� E $�� E $�% E $� C 1�� E �� E %� E $� E $� E $�% E $� C 1�� E �� E %� E ���E �� � E ���% E ��� C 1

�0,�

$ � ������� ������ � �� ���� �"�� �����

���E ��� E ��% E �� C 1��E �� E ��% E �� C 1�� E �� E %� E ���E �� � E ���% E ��� C 1

�0/�

� ��� �� C $� � ���� � C (� � � � � 2��

$ � ������� ������ � �� ������� ���� �� � �� � � '�� #���� ��� �� "����� ����

��� �"����� $�� .�� #������� A������ �(,� � �� ���������� ���������

�� E �� E %� E $�� E $�� E $�% E $� C 1�� E �� E %� E �� E �� E ��% E �� C 1���

� E �� �� E ���%

� E ����� E ����E ����%E ���% E ���� E ����E ��� C 1

�0.�

$ � ������� ������ � �� ���� �"�� ���������

���E ��� E ��% E �� C 1�� E �� E %� E �� E �� E ��% E �� C 1���

� E �� �� E ���%

� E ����� E ����E ����%E ���% E ���� E ����E ��� C 1

�0)�

� ��� �� C $� � ���� � C (� � � � � /��

$ � ����� ������� ������ � �� ������� ���� �� �� � � �� #����� �� "����� ��� ���������� ����

.�� �"���� $�� ��� #�������� A������ �(,� � �� ���������� �������������

�� E �� E %� E ��� E ��� E ��% E �� C 1��

� E ��� E ��%

� E ���� E ��% E �� ��E ����% E ����� E ���% E ��� C 1

���� E ���

� E ���%� E ����� E ���% E �� ��

E ����% E ����� E ���% E ��� C 1

�0:�

(:

Page 18: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� �����

���������������

�%��%� E %��% E %���� E %��%

� E %�%�

E %�%� E %��% E %�� C 1

�%��%� E %��% E %���� E %��%

� E %�%�

E %�%� E %��% E %�� C 1

%��%� E %��%

� E %��% E %��%

E %�%�

E %�%� E %��%

� E %��% E %�� C 1

�02�

����� #�������� A������ �(,� � �� ���������� ��

���������������

0��� E 0��

� E 0�%� E �0�� E 0% E 0��

E �0�% E 0��� E 0�% E 0� C 10���

� E 0���� E 0��%

� E �0��� E 0�% E 0���E �0��% E 0���� E 0��% E 0� C 1

0���� E 0���

� E 0��%� E �0��� E 0�% E 0���

E �0��% E 0���� E 0��% E 0� C 1

�0*�

3� �� ��� � �� ��� � � �� ����� �� ����� �������� ����� �� �� �� ��!� � ������������������ �� � � ��� � �� ����� � ��� ���� ���� ����� ��� � � ������ $ � ������� ������� �� ���������� ��

�����������

$��� E $��

� E $�%� E �$�� E $% E $��

E �$�% E $��� E $�% E $� C 1$���

� E $���� E $��%

� E �$��� E $�% E $���E �$��% E $���� E $��% E $� C 1

�� E �� � �� C 1

�,1�

$ � ������� ������ � �� ���� �"�� �������������

�� E �� � �� C 1���

� E ���� E ��% E ���E ��% E ����E��% E �� C 1�� %

� E ����� E ���% E �����E����% E ���� E ��% E ��� C 1

�,(�

$ � ����� ������� ������ � �� ������ ��� � � �� ���� ������ �� ��������������������

�%���� E %���

� E %���� E %��� E %��% E %��

E %��%� E %��%

� E %��%� E %�� % E %��� C 1

�%���� E %���

� E %��� E %���� E %��� E %��

E %���� E %���E %�� C 1

%���� E %���

� E %��� E %���

E %��� E %��

E %���� E %���E %�� C 1

�,0�

$ � � ���� �� � �� ����"�� ��� �� ��6���� ���� ������ � � ����� �� � ����� ���� ���� ����� � ��� ������� �������������� 5��� �� � �������� =� ��� ����� ��� ����� � ��� � �� ��� �� # � ����� ;�� �#��� � ��� ���� � �� �� ��� �� "� � ���������� ����� �� ��� � ��� �� �� �� ����

(2

Page 19: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

(� ��� ������ � ��� ���� ���������

0� ���� ���� ��� �� ��# ��� ������ �� �� ��� �� �� �������� �� � ��� �������������

,� �##� ��# �� ��# ��� ������ �� �� ��� �� �� ������ �� � ��� ���� ���������

/� ### �� �## ��� ������ �� �� ��� �� �� ������� �� ������ ��� � �� � ��� �������������

?�� �� ������ � �� ��� �� ������� � ������ ������� �� �� �� 0� � � �� ��- �������� �� ����- �� ������� �� � ������ ������� �� �� �� (� 3� �� ������� � ��� � ���������� �������� �� ��� ��- �� ������ �� ����- �� ������ ��� ��� ������������� �� � ��� ������� ������ ������ �� �� ������ � ����� ��� ��� ������� � ������� ���� ������ � ������ �� �� � ��� � � �� ����� �#� ��� ��

%$�"�� ?�� ������� � ��� ������ ������� �� � � ���� �� � �� � )-����

8�� � � ������ �������� �� ��1���� ��� C +�� ��1���� ��� C +�� ��1���� ��� C +� ����1���� ��� C +�� =� � ��� � � �� ������ "�"�� �"�"�� C , �� � � ��� ����� � ���� � ��"�"�� 8�� "

� �� "�

� �� � � ���������� ��� ����� ����� � ��� ������ �������� ��������� ��� "�� C ��� �� %�� $ �� �� � ��� � � �� ���� ���������

���

" C "� E +��� E ��� E ��" C "� E +��� E ��� E ��" C "� E +��� E ��� E �� E ,�

�,,�

$ � ��� ��� �������� �� ����� �������� ��� � ��� ���� �������� �� �� � ��� � � �� ��������� �� $ � ���� �� �� � � �� �� ���� �� �����

%$�"�� � ?�� ������� � ��� ������ ������� �� � � ���� �� � �� � )-����

8�� � � ������ �������� �� ��1���� �� C +�� ��1��� ��� C +�� ��1��� �� C +�� =�� ��� � � �� ������ "�" � �"�" � C , �� � � ��� ����� � ���� � �� "�" � � ��� " �� � ���� � � �� ��� 8�� "�� �� "� �� � � ���������� ��� ����� ����� � ��� ������������� �������� � ��� "�� C ��� �� %�� $ �� �� � ��� � � �� ���� ���������

���

" C "� E +��� E ��$� E �)� E ,�

" C "� E +��� E ��$� E �)�" C "� E +����- �� .�E ��- �� .+�

�,/�

� ��� ���� "� �� � � �� ��� $� �� )� ��� ����� � �������� �� ��� ������ ���� � ��� �� ����� �� � ��� ����� �������� �� �� $� �� )�� $� �� )� ��� ����� � �������� ����� ������ ���� � �� � �� ��� �� �� � ��� ����� �������� �� �� $� �� )�� $ � ��� ������������ �� ����� �������� ��� ��� ���� �� � �������� �������� �� �� � ��� � ��� ����� �#� ��� �� $ � ���� �� �� � � �� �� ���� �� ����� ����

������� �� !��� "����� 1�(� �� ��������� ����� ���� 1� (2 ������ ���� ������� ��������� �������� !��� "����� 1�,� �� ��������� ����� ���� (�,�1� 3 ������ ���� ��������� ������ �������� '��������� �� 4�4& ������� ��������� ����� ���� 0�� # C 0� � � � � :������ ��������� �� �� ��� �� ������� ������ �� ��

(*

Page 20: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

��� ����

� �������� ������� �� ��� �������� ���� � ������ �� ��� � ����& � � �� ���� � ����� � �� �� ����� � ���� �������� ������� ���� �� ��� ������ ������� ���� �� � ���������� � ��� � � �� �� ����� � � ������� ��� �� ������ �� ����� � ����������3 � �� ������ �� ������� � �� ���� ��� �� � � ��� �� ���� �� �������� �� ����������� �� ��� ��� �� ������ �� ������ �� �������� �� �� �� ����������� ��� ���� ��� ��� ��� �� ���� �� ��� ����� ������� ���� ��� �� �� ������ �� �������� �� ��� �����

$ � ��������� � ��� �� � �� ���� ��� �� $ �� �� ��� �� � � ������ ��� �� �� � �������� ���� ��& � ��� �#��� ������� ���� ��� �� �� ���� � � ��� �� ������������ ��� �� ������� ;�� � ��� ���� ���� �� ��� �� �� �� � �� ��� ����� ���� ������������ ���� ;�� ���� ���� ���� �� ��� �!� � ����� � �� �� � "� � ��� �� ���� �� ������3 � �� ������ �� � ���� � �� � � ,�,� ������� � ������ ���� �� �� �� � ���� ���

3� �� � ��������� ���� �� �� ������ � � ���� �� ��������� ��� � � �#����� ����-������� � ����� �� ��� ,� ������� ���� ���� =� ��� ��!� ��� �#��� �� � �� �� � � ����� ��� � �� �� � �� �� ��� ��� � � ����� �������� ��� �� � '2+ � � �� �� �� ��� ���-� �� � ��� ��� ��� ��� $ � ���� �� ���� #-�������� � ����� �� ��� # � , '(0+ �� ��������������� �� ��� �� � �� ���� ���������

!��������

'(+ >� >�I���� �� J��� �������� D������� D� �� ��� �� ��� �������� @��� ��� ����� �-� �� '��������� ������� "������� ���� 0*(-,1,� (**,�

'0+ >� �������� �� $� �� 9��� ��%���� � � ������� @ ������ 9���� ����& � D������5������� ��� 5������ '������� � (.-/1� 0111�

',+ �� ����� �� �� 9� 5�6��� � ��������� ;�������! ��� �� ��� �������� ��-������� �� ���� �� 6� �� "������� ���������� 1�.�� /*,-.0*� 0111�

'/+ 3� ;���� �� ��9� 5�6��� � ���� -�4�������� �@���� �� �4 ��� ������� ���������� ���������� &�5 '���� �� )������� ���0�� (:*-0()� (**:�

'.+ K� �� ��� �� �� �� � ��� �� ��� �������� �������� ������� 3� � � ��� @��������������� � ������� &���� ������ 1�(�� /:-./� (**2�

')+ K� �� ��� �� �� �� � ��� �� ��� �������� �������� ������� 33� � ����� � ������ �� ������ �� D-��������� ���� ��������&���� ������ 1�0�� ((.-(00� (**2�

':+ K� �� ���� �� 9� 5�6�� �� =� L� M��� �� ��� >��� ������� �������� ��-"�������� ��� 8��� 3��������� #���� &�5 "57,� *.-(1/� ��9 @����� ?�� M��!�0110�

'2+ �� 9� 5�6�� �� @� 7� N������� �������� �������� �� ��� � �� �� ��� � ��������� �� 8�������� )������� �� O� �� �� ;� 5��� ������ =�� � �����"� ���������0))-0*2� (**.

'*+ �� 9� 5�6��� �� 8������� �� 9� ��� ����� ;���� �� ��� � ������� �� ������������ �� � ���"� ?4� (,,1� �������� >�� � 5���� ����� (),-(*:� (**:�

'(1+ D� 7��-����� �� �� ����� � ������ D� �->���� �������� �������� �� ���� �������� ��� )������� ���.�� .**-)1*� (**:�

'((+ D� 7��-����� �� ����-D����� �� N� �-9����� 7� N� �� ��-@����� D�������� ��������-��� �� ���� �� �������� �������� ���� �� #���� &�5 "57,� (1.-((.� ��9 @�����?�� M��!� 0110�

01

Page 21: Geometric Constraint Solving via C-tree Decomposition 1 Introduction

'(0+ �� H����!� �� N� D��� ����� 3������� � ����� �� ��� ���� ;���-���������#���� ,3� &��� -888 "���� !�������� �� ������� "������� 8�� ��� ��� 0.0-0.*�(*2:�

'(,+ H� H���� � ������ 9�� �� ��� 9���� ���� �� �������� D� ����� ��� � ��������9��� �� ������� &���� ������ ���,�� (/(-(/:� (**0�

'(/+ �� �� H������ �� ��� �������� ��������� �������& � ���� ����� � H�������� 93$@����� ��������� 9���� ������� (**0�

'(.+ �� N� H���� �� 8� M�� �������� �������� 3�������� ��� �������-����� �� ��9��� �� ������� &���� ������ � /:.-/2)� 011(

'()+ 5� 8����� �� �� 9� � ��� �� ��� �������� ��������� >� 5�������� -888 '����� 9�����$���� ��� ������� )������� ��(�&02-,/� (**)�

'(:+ 5� 8����� �� �� 9� � ��� L�� ������� ����� �� �������� ���������� � )�������������� "������ ��� &���������� 0,/-0.2� �������� >�� �� (**2�

'(2+ D� �� 8�� �� �� �� A� 9��� ���� � ��������� �� ����& � $�� ��� @������� ���-����� ���������� ������� &���� ������ �2�((�� *(:-*02� (**/�

'(*+ N� �� 8�� �� �� ������� �� D� �� 8�� �� N�������� �������� � ��������-����������� ������� )������� � �,�� (:(-(::� (*2(�

'01+ �� 9���� �� �� �������� � 5������� ��� �� ��� ����� @� ����� ������� $ ��D����� �- ��������� ���������� &���� 5��� ������� ��� *.-((/� (*2:�

'0(+ 7� 4��� � ������ �� ���� ��� �������� ���� �������� ���������� � &�5 "�����!���� �� "���� 5�������� ��9 @����� ?�� M��!� ,*:-/1:� (**(�

'00+ �� N�������� ;� � ��! �� �� D� ��� D� �-4������ 9�� �� ��� @��������������������-����� ������ ������� &���� ������ ���(1�� .,(-./1� (**0�

'0,+ =�$� =�� >��� @���� �� �� 9� ��� $ ����� @����� � ����������� ���� @�����>��%��� (*2/F A� �� N������ �������-N�� ��� >�� � 5���� ����� (**/�

0(