multiple sweeping using quaternion operations

8
Multiple sweeping using quaternion operations Koichi Harada * , Takeshi Anzai Hiroshima University, 1-7-1 Kagamiyama, Higashi-hiroshima, Hiroshima 739-8521, Japan Received 27 February 2001; revised 1 September 2001; accepted 7 September 2001 Abstract Quaternion notation lets us simplify and facilitate some transformation methods more than the usual way using 4 £ 4 matrices. The main goal of this paper is to establish a new solid constructing method with advanced sweeping techniques in 3D space. We introduce several types of deformation functions to realize easy and versatile design techniques. q 2002 Elsevier Science Ltd. All rights reserved. Keywords: Solid modeling; Quaternions; Sweeping 1. Introduction Solid modeling is one of the most important aspects of computer graphics and computer aided design because it enables us to obtain realistic representations of objects. Various schemes have been used to represent solid models such as constructive solid geometry (CSG) [1] and boundary representations (B-rep) [2]. Each scheme has its own merits and shortcomings; hence, a combination of different meth- ods is often used to generate complex solids. The sweeping technique [3,4] is one of the tools employed to generate the solid models that are commonly used by designers, and many applications have been developed putting emphasis on differential geometry [5] and 3D trajectories [6]. It is important that the number of sweep variables be as small as possible and the algorithm for the sweeping function should also be easily understandable because three-dimen- sional operations are very hard to visualize. However, this tends to limit the design varieties among the generated models. In addition to this we sometimes need to assess the solid generating process leading from a simple basic model to a swept complicated one. Therefore, devising ef®cient methods to design our object models systematically is very important for model construction. Abdel-Malek and Othman proposed a technique to attain this goal by introducing the Denavit±Hartenberg (DH) method in sweeping operations [7]. The DH method helps to establish a useful coordinate system in each link of an articulated kinematic chain. The kinematic chain is closely related to the sweeping operation. In the DH method, the displacement and angle parameters of the joints connecting two links are considered as variables in the formulation. Hence, the DH formulation yields a tool for characterizing the variables that represent each sweep operation. Additional progress in sweeping operations can be made by introducing the concept of quaternions. Quaternions can be used to represent the theoretical movement of objects. That is, the basic transformations such as translation and rotation in 3D space are ef®ciently represented by quater- nions. In particular, a rotation around an arbitrary axis in 3D space is easily de®ned. These basic transformations play an important role in multiple sweeping systems in coher- ently and ef®ciently combining each movement. For these reasons, quaternions are very useful for representing consecutive sweep operations. In this work, after describing the existing solid generating method by using the DH method, we introduce a new way to generate complex models as well as mentioning the characteristics of quaternions and the concept of multiple sweeping. We also establish an advanced solid generating method with a set of deformation functions using quaternion transformations. 2. The Denavit±Hartenberg representation method In this section, we give a brief representation of the Denavit±Hartenberg (DH) method for further discussion. The DH notation is a common kinematic protocol used for connecting two separate motions [8]. This allows us to control the relative movements of different joints. A mechanism composed of several links can be represented Computer-Aided Design 34 (2002) 815±822 COMPUTER-AIDED DESIGN 0010-4485/02/$ - see front matter q 2002 Elsevier Science Ltd. All rights reserved. PII: S0010-4485(01)00170-1 www.elsevier.com/locate/cad * Corresponding author. Tel.: 181-824-24-4675; fax: 181-824-24-0756. E-mail address: [email protected] (K. Harada).

Upload: koichi-harada

Post on 02-Jul-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multiple sweeping using quaternion operations

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

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

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

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

��������

'� ����� �� ��� ���� �� ��&���(! � ( ����� �� ��&� �� �(��& ��� &������ &��� �� ��� ��� � ! ���� ) � ) & ������* ��� & �

�� � �( ���� � ��� �� �� ��� ���� � ����� ���������� &����� ��� �� ��� ������ ��������� � +, �� ��* -� �������� ����� � �!���

�( ��(��& ��� (������ �� �� ���� � �! � ���� ���� ����� ���������* � �""� .������� %����� /��* ��� ������ ��������*

��������0 %���� &������$ '� ������$ %�����

� ���� ������

%���� &������ �� �� �( ��� &��� �&���� � ������ �(

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

� ��� �� �� � � � �� ������ �������� ���� �( � 1����*

2 ����� ����&�� � �� �� ���� �� �������� ����� &�����

���� � ����������� ����� ���&���! 34%56 7#8 � ��� �!

�������� ���� 39:���6 7�8* . �� ����&� � � ��� � &�����

� �������&���$ ����� ��& � ��� �( ��((���� &���:

��� �� �(�� ���� �� ���� �� ��&���; ������* ��� ������

�������� 7+�)8 �� �� �( ��� ����� �&���!�� �� ���� �� ���

����� &����� �� � �� ��&&��! ���� ! ��������� �

& ! ����� ���� � �� �� ��������� ������ �&�� ���

� ��((����� � ���&���! 7<8 � +, �� 1�������� 7=8* >� ��

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

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

������ ��� � � ���! ������ � �� �� ��� �����:��&�:

��� � ���� ���� �� ���! � �� �� ���� ����* ������� ����

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

&�����* > ������ �� ���� � ��&���&�� ��� �� �����

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

&���� �� ���� ��&���� ��� ��* �����(���� �������

�(?���� &������ �� ����� ��� � 1��� &����� �!���& ��� ��!

�� ���! �&���� � (�� &���� ����������*

� ���:� ��� � @��& �������� �������� �� �� �

���� �� � ! ��������� ��� ,� ���A� ��� ��� 3,�6

&����� � ������ ���� ���� 7�8* ��� ,� &����� �����

�� ��� ���� ���(�� ������ �� �!���& � � �� ��� �(

������ ��� ���& ��� �� �* ��� ���& ��� �� � �� ������!

��� ��� �� ��� ������ ���� ���* > ��� ,� &������ ���

����� ��&�� � ��� � � &����� �( ��� 1���� �������

�� ���� �� ��������� � � �� ��� � ��� (��&�� ���*

����� ��� ,� (��&�� ��� !����� ���� (�� �� � ��������

��� � �� ��� �� � �������� � �� ���� ���� ���*

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

! ��������� ��� ������ �( �� ������* '� ������ �

� ���� �� �������� ��� ��������� � &���&�� �( � 1����*

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

��� ��� � +, �� �� �� �(?�����! ���������� ! �� ���:

���* > � ������ �� ��� ��� ���� � ��� �! ;�� � +,

�� �� �� � ���! ��?��* ����� ��� �� �(��& ���� �� !

�&���� � ���� � &������� ������ �!���&� � �����:

���! � �(?�����! ��& ��� � �� &���&��* ��� �����

�� ���� �� ������ �� ���! ���(�� (�� ����������

���������� ���� ���� ����*

> ���� ���� (��� ������ �� ��� �;����� ����� ���� ���

&����� ! ���� ��� ,� &������ � �������� � ! ��

���� �� ��&���; &����� � ��� � &������ ���

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

������* -� ��� ��� ���� �� ��� ����� ���� ���

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

�� �(��& ����*

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

> ���� ������� � ���� ���( �������� ��� �( ���

,� ���A� ��� ��� 3,�6 &����� (�� (������ ���������*

��� ,� �� ��� �� ��&&� ���& ��� �������� ���� (��

������� �� ��� � �� &����� 7B8* ���� ���� �� ��

������ ��� ��� ���� &���&��� �( ��((���� 1����* �

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

4�&�����:����� ,���� +) 3�""�6 B#<AB��

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

""#":))B<C"�CD : ��� (��� & ���� � �""� .������� %����� /��* ��� ������ ��������*

E>>0 %""#":))B<3"#6""#�":#

*��������*��&C��� ��C� �

� 4���������� �����* ���*0�B#:B�):�):)=�<$ ( ;0�B#:B�):�):"�<=*

������ ������� � � � F&��*�������& :�* �*1� 3�* � � � 6*

Page 2: Multiple sweeping using quaternion operations

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

��� �� ��� ������� � ����� ��� �( ��� � �� ��� �� ��� ?���*

-� �������� ���&����� &���&�� � +, �� �� ! ���

,� &����� � (�����* %������ ��� &���&�� ��0

#* �� �� ��� ��� ��� !: ;�� ! ���� �� �( �$

�* ��� ��� ��� ��� !: ;�� ! ��� � $+* �� �� ��� ��� ��� ": ;�� ! ���� �� �( #$ �

)* ��� ��� ��� ��� ": ;�� ! ��� � *

-� ��� ��� ��& ��� �� �(��& ��� ���� �� ��&����� �(

(��� ��� �� �(��& ����* ��� ��� (��� ����� �� �����:

����� ! ��� (������ ��&������� �( �� �(��& ����0

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

&!�� � �� �� ��� �( � ��� ��� ! ;���

%!�� � ��� ��� ! ��� � ���� ��� ! ;���

����� �� �(��& ���� �� ������� ��� � ���* #* -�� �

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

,� � � &����� ��� ���&����� &���&�� ��� �� ���� �

� �� ���� �� �;������� � ��� ��&������� �� �� ��� ��

��� ���* ��� ������� �( ����� (��� �� �(��& ���� 3$��6

������� � ��&������ ��&������� �� �(��& ���* -���

���� ������ ����� � � �� � ������� ! ��� ������� �(

�� ���& ��� � ��� � +, �� ��* -� � ��� ��& �� ���

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

$��'#�(� '� � $�$��#($��$�# �

��#

$���

���� '� �� ��� � � &���� ��� (�� � �� $�� ���� ��

��&������ �( (��� � � &�����*

G��� ��� ,� &����� � ��� ������ �( &������� ����:

��� � � ��?� &����� �� �������� �� ���� � &�����*

������ � ��?� ��� (����� �� #�(� �� � � &��������

! � �� � �& ���� � � ��?� � �� � � &���� � ���

� ��* �� ��� �;� ����� ���(��&�� &�������� ��� �( ���

1��� �� �(��& ���� $� ! ��� (����� � ����� ��� ���

���������� ����! ���� � ��� �������� &���� � �

��'#�(�'� #�(� �� � $��'#�(� '��� #�(� ���9! ������ � �� � � &���� �( $� � ��� (����� � � ���������� �� ���� � &����� � ��� �& �� �( ��� � � :

&����� �� � �������� ��� ���� ����!*

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

'� ������ ��� ?��� ��������� � #B)+ ! -*�*

� &����* ����� ���������� � �� �� �;������ ! �&��:

��� ���� ������ 7HA#�8* �(��� ���I! ������ �� ��� ��?�:

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

����� ��� �( ���& (�� ����� +, �� �(��& ���� 7#+8*

� �� ����� �� & ���& ��� � ���&�� ����� �0

' � � � #� � )* � �+ ��� #� )� � � %������ �� *� + � ���(! ��� (������ ��� ����0

� � � �#� *� � �#� +� � �#�

�* � +� *� � �+�

*+ � �� +* � ���

+� � *� �+ � �*�

5��� �� �� ������ '# � �" � �#� � ��* � �++ � '� �#" � ##� � #�* � #++� ��� ������ �( ����� �� �� ������

�� ��?�� !

'# � '� � �" � #" � ��# � ##�� � ��� � #��* � ��+ � #+�+�

� ��� &�������� ��� �� ��?�� !

'#'� � �"#" � �### � ��#� � �+#+ � ��"## � �##" � ��#+

� �+#��� � ��"#� � ��#" � �+## � �##+�* � ��"#+� �+#" � �##� � ��##�+�

J��� �� � &�������� ��� �� �� ��&&�� ����*

��� ��1�� �� �( �� ����� �� ��?�� �

���1�� ��� �' � � � #� � )* � �+�

����

' �' � �'' � �'�� � �� � #� � )� � ���

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

'�# � #

�'���'�

9! ���� ����� & ���& ��� � ���������� �( �� ������� �

� ��?� +, ���&����� �� �� ���� � ��� ����* � ����

3"� �� !6 � +, �� �� �� ���������� � ��� �� ����� � ��"� "� �� !� � "� "� � �* � !+� � � � ��?� ' ��"� "� �� !�� ���� ' �� �� �� ��� ������* ���� ���

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5���B#=

���* #* 4����� �� �!���& (�� $��*

Page 3: Multiple sweeping using quaternion operations

�� �� ��� �( � ! ' �� ��?�� !

&'���� � � � ' �

> ��� � �� �( ��� ���� � ��?� '� � ��������� �������������� �� �� ��� �� ����� ��� ��� ;�� �( ��� ���* ����

��� ��� ���� %�� �( ��� ���� � ! ��� � ���� ������

��� �� ��?�� !

%'���� � '��'�#

� �

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

> %����� �� � ������ �� +, &���� ���� ��� &�����

���� ��� ,� &����� 3,�5�6* J�� � �������� �

&����� 3'5�6 �� � ������� ��� ��� ,� &������ &�������

������� � �� ������*

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

���! ��((���� ������ ���� (��& �� � �( ��� ,�5�* �

������ ���� �� ��&������ �(0

#* �� �� ��� ! ������ ��$ �

�* ��� ��� ! ��� � ���� � ��� �! ;�� �#*

> ���� � ��� � ��� �� �����(! ���� � � &����� (�� � ��

������ ���� 3����� � � &����� (�� ��� �� � � &���� (�� � � ����� � � &����� (�� �#6* �� ������ ��� �& �� �( � � :

&����� � ������ ���� � �� ���� &��� ���� � � 1���

����� &������ � ��?� � ������ ���� 6� ��

6� � 6����� �� � % �������&

���#��

& ����� � �� �� ��� ! ������ ���

% ����� � ��� ��� ! ��� � ���� ;�� ���

9! ������ ��� �� �� ��� ������ � ��� ��� ��� ;�� ���

��� � &� ������� ����� � � &����� �� �&�����* �� �������

��� ������ ���� 6� �� ��?�� ! ��! (��� � � &�����*

J��� �� � ������� �( �� ���� ��� �� �(��& ���� �������

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

,�5�* ��� �� �(��& ���� �( 6� �� ������� ��� � ���* �*

-� ��?� &������� ������ ! ��& ��� �� �� ���

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

&���&��* �� �������� &��� ��&���; &���&��� �

��� �� �� ����� � &������� ������� � (�����0

6�' �#�(� ' �

� � 66�#(6�6# �

��#

6��

���� ' �� �� ��� � � &���� ��� (�� � �� 6�* 9! ������ � ��

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

������� � ����� ��� �( ! ���������� �����* ����

��� '5� � ���& ��� ��! ���� �� � ����� +, ���&�����

&����� ! �����(!�� ��� ��� (����� �� #�(� �� ��

6�' �#�(� ' �

� ���' �

#�(�' �

� #�(� �� � 6�' �#�(� ' �

��� #�(� ������� � �� ��� (����� ��&����� �( 3) � �6 � � &�����

������� ��&� ���� ��* >( � �� �� ��� ��� (����� ��� � � &���� �( ��� ������ ���� 6�� ��� '5� � ����:

�� ��((���� �� ���� � &�����*

J��� �� � � � �������� $�� ! ��& ��� �� ����:

�� ����� �( ��� '5�$ &��! ��� 6� � 6��#� �( � ���

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

6� � 6���"� "� ��� ���6��# � 6��#��#� "� "������ � ������ �

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

����� (��� � � &����� �� #� � � � � 6� � 6��#� ��� ��:

�� ��� ����� � � &����� � ?;�� � ���� 3� ����6� �����:

���� �� ����� � $��* �� ������� � � �������� !

���� �( ��� ,� &����� ! �� ������ ����� �( ��� '5�*

! ��"�������� "��������

9��� &������ 3,�5� � '5�6 �� �� ��� ��&* >� ��

����� ��(?���� �� ������ ��� � � &����� (�� � �� ������

���� ����� �! �� ������� ���� � 1���* ���� &� � �� � �

� �� ��� ��! ���� ���� ��� ? � ������ (�� � ������ �

������ �( � � &���� ���� �(���� �� ������ ��! (��

��&���� ��� ��& � ��� �( ������ ���� ����* �� ����:

��&� ���� ��� ��&� � �������� ��� �( ��(��& ��� (��:

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

��� ��� �( ��� '5� ���� � &������ � ��� ��������

������* ��� '5� �������� ��� ����� ��(��& ��� (��:

���� �� � ���� ��� ��� '5� 3�'5�6 � ���� � ���*

-� �������� #" �!��� �( ��(��& ��� (������ �� �

� �� �� �� �������� ��&���� ��� +, &����� ���������!

� ��&��!* �� ��� ���� � ����� �� ��� � ��?� ��� ����

� ���� � 1��� &���� ���� �� ���������� ! �� ���:

�� � � � �"� �"� ��� �!�* . �� ��(��& ��� (�����

�������� � &��� (��� � � &�����* ���� � � &���� ��� ��

��?�� ! � �"� "� �� !� � ��� � �� �( ����� � � &������

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

(��& �( �� �����*

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5��� B#�

���* �* 4����� �� �!���& (�� 6�*

Page 4: Multiple sweeping using quaternion operations

-� � ���I! �;�� � ��� � (������� �� � �� ���

�� �� ��� ��� �� � �� �� ��A��� �� (������*

�,�, &����� ��

-� ?; ���� � � ��� � 1��� &���� � �� �� ���

������ ���� �� ��?�� ! ����� � � &�����* �� �� ��3�� 6

�� ���� !

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

�,�, %� � ��

-� � �� �� �����(! � � � � � &���� ��� (�� ���

��� ��� (�����* ��� � ��� �� ����� ' � ���3� C�6� ��3� C�6* ���� ��� ��3�� � � 6 �� ���� !

��� ����� � �� � '�'�#�

����� ��� ��3�� � � 6 ��� ��� ��� ���� � ���� ;�� !

��� � *

�,�, &����� ��5�� � ��

-� �� �������� �� ��?� � � � � � &���� ��� (��

���� (�����* ���� � ��� ' � ���3� C�6� ��3� C�6 � ���� � �� �( ��� ��� (�����* ���� �� �� ��A��� ��3�� �

� 6 �� ��?�� �

�� �� ��� ��� ����� � �� � '�� � �'�#�

���� (����� �� �� ��� ���� � ! � ��� ��� �� ����

;�� ! ��� � *-� ���! ����� ����� (������ � ��� (�� &�� � (��:

���� (�� ��� ����� ��(��& ��� (������ ������ �� ���*

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

�� �� ��� ��� �� � �� �� ��A��� �� (������*

�,1, 7)����

-� ������ ���� � � ��� � 1��� &���� � � � &����

��� � �"� "� �� !� ���� � � ����� � � &�����* ���� ���

�� ��� ������ � �� �;������� !

� � �"� �" "� �� �� �! !����� (����� %� ���3�� 6 �� � � ��� ! ���� ��� �� �� ��

(����� � (�����0

%� ������ � � �� �� ����� ������� "� � � ! ��������� �� ��� �� ��� �������� � � ��

��� ��� "� � � ! ;��� �����������!* >( � ��� " � #*" �

� � ! � "*"� � ��� �� ��� � 1��� ��� ��� ": ;��*

�,�, 8�)�� ��9���� ��

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

(���� � � �� �( ��� � 1��� &����* -� ������� �� !� ��

�� ���� ��� ��� � ��(��& ��� ! ���� ��� ��� �������* ���

��� ������� ��?�� ���3�� #6� ���� �� ��� ����� �( ���

��� ���� � � # �

������ #� � �������������� #�����#�

���� ��� �� ��� ����� �( ��� ������ �*

�,�,�, 8�)�����9���

@� &����� (�� ��� ��� � ��(��& ��� (����� �� ����

� 1��� &���� � �� �����* -� ��?� ����� � � &�����

� * ���& ���� ������ � ���� ���� � ���� � ��������

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

� ��� � �� ���� ��� ����� � ���* ���� ��� �� �� ���

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

� � � � ���� � � �"� �<������ ���"�� �<������ ������ �

<������ ���!������ /�� �:��(��&3�� 6 �� ���� !

/�� �:��(��&��� � � �� �� ����� � ���J��� �� � � �������� ��� K<L� � ��� �;����� �( �� �� :

��� ������ � � �� &���(! ��� �((��� �( ��� ��� � ��(��& ���*

�,�,�, 8�)�����9����

-��� ��� ����� ��� � ��(��& ��� (������ � �

�������� ����� � ��� � 1���* ��� ������ ��� � � �����

� � &����� � ���� � ��* ���� � ��?� ��� ����� ��� �

�� �� ��� �

� �� � �"� ���"� "� ����� �� ���!� !������ � � #� ����3�� 6* /�� �:��(��&�3�� 6 �� ��?�� �

/�� �:��(��&���� � � �� �� ����� � ����

�,:, ;����

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

� 1���* ���� (����� �� � � &�������� ! (��� � �� ���$

����� (�� ��� ���� ;�� � �� (�� ��� ���� � ��

� * -� ���! ��� �����:������� �� �� ���� ��� (�����

9����3�� � � 6* ����� ��� �����:������� 3�� #6 &� � ���

�� � �� ������ �����:������� ���� � � #* ��� ���

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

� ��� � �����:���������� ��9! ���� ��� �� �� ��A��� �� (������ � � ��� ���

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

9������� � �� � �� �� ��A��� ����� � ���� �� �������

�,�, &���

��� ���� (����� � ��� �� �� ���� � 1���* ����

(����� �������� (��� � � &������ ���� �� ���� ! ���

���� ;�� � ���� � �� � * ��� �((��� �( ���� ������ ���� ���� �� ��A � � ��� � � &���� � * 9! ���� �����

� � &������ ����3�� � �6 �� ���������� !

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

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5���B#B

Page 5: Multiple sweeping using quaternion operations

J��� �� � ��� ��� ��� � �� �( ���� (����� ���� ��

��������� �� ��� ���� � �� � * ��� ��� ��� � �� ��

�����&��� ! � � ��� ���� �� ���� � � *

�,�, 7�����

��� %��� � (����� �� ���������� � �&��� ��� � &� !

� ��� ���� (������ �� �� �� (��&�� ! ��� �� �� ��A

��� �� (�����* ��� ��((����� ���� ���� � %��� �

�� �� � ��� %��� � (����� & ��� ��� � 1��� �� �� �� �����:

�� �� ��� ���� �� ��� � ��� ��� ��� � �� ������ 1��� �

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

������ � ��� ������ 3��� ��� ��?���� �( ��� ����

(�����6* ��� %��� � (����� � ���� ���� � &����*

9! ����� ������� ���� ��� %��� � (����� �� � � &����:

���� ! (��� � �� ���� � � * ��� ������ �����&��� ���

�� �� ��� ������ � ��� ��� ;��� � � �� ��� ��� ���

� ��* %��

��)� � �"� ��� "� ��� �� ��� !�� � ��?� %��� �3�� � � 6 !

%��� ���� � �� � �� �� ��A��� ����� ��)�� ������

�,�, 7�����)�������

��� %� ��:�������� �� ���! ��&��� � ���������

(�����* > ���� ��(��& ���� ��� �� � �� ��� (�����

�� !� & 1�� ����* ���� (����� �� � � &�������� !

���� � � ����� � � &�����* -� ��� �3<6 �

��<� � �"� ����" "�� ����� ��� ����! !��� � ��?� ��� (����� %� ��:4��3�� 6 �

%� ��:4����� � � �� �� ����� ��<������� (����� &���� ����� � �� ��� �� ��� � � �����

!� ������� � ��� ��� � ����*

> �� � � �� �������� #" �!��� �( ��(��& ��� (������

������� �� ��� � ��(��& ��� (������$ ����� ���(��

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

��� ��� (������ ������� ����� ���� ���� (�� � 1���

����� � ��� �� ������ ��&���� ���� ���* -� � �&��

��� �� �� �� (����� � ���������� ��� � 1��� &����

�� ��� ���� (����� �� ��&������! ���������� ! ���

�� �� ��A��� �� (�����* > ����� ����� � � ���

�� �� ��A��� ��3�� � "6 ���� � �( �� �� ��3�� 6� ����

�� ��� ���� � ��� �� �� ��� ! ������ ��� ���* �����

� ��� ��! �� �!��� �( ��(��& ��� (������ (�� ���

&������� ������ ����* -� � ��(��& ��� � 1��� &���� �

� ����� !� ! �������� ������� �� (������ (��& �����

�� ��(��& ��� (������� ���� ����! �( ����� �!� � !

�����(!�� � &��� (��� � � &����� 3 � �6 (�� � �� ��(��:

& ��� (�����* �� ��� �;� ����� ! ���!�� ���& ��

��� (����� ���� �� ���&����� � 1��� ���� � �� ��

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

&���� � ������*

/�� �� �;�� � &��� ��� ���� �'5�* -�� � �����(!

��� (����� �� #�(� �� � � &�������� ! � � �� ���

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

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

�� #�(� ���# �(��� ��

��#

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

����� ��� �:�� ��(��& ��� (����� $� �� � � &�������� ! ��

���� �� ��&����� �( ��� �!�� �( ��(��& ��� (������ ���

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

� 1��� &����* ����� � �� (����� ������� � �

&��� �� 3) � �6 � � &����� �� ��� � �� $� ��������

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

� ���� ���* ����� � � �� �� �����(! � &��� (��� � � :

&����� (�� � �� $� ��� ���� ��� �( ��� �!�� �( ��(��:

& ��� (�����* @ ��� ����� � �� ���� ����&�� �����

� ��� �& �� �( �?;�� � � &����� (�� � * -�� � ��

��?�� ! � � �� ���� �� � �� � � � � &��� 3) � � � �6

���� ��� ��� � �����&��� ���� ����&� (�� � * %������� � � �� � �� ��� � %+� ��� � �� �����&��� � ���� �(

�, ���( �� ! $��#�(� �� � � ���* +* / ���!� ��� ����� ���� &����� �� ��� � ���* )* ���� ?���� ��&���� ��� ���

��&���?� ��� �� ��� � ��� &����� ���� ��� � ���:� ���C

@��& �������& 3��� ���* � � ����� � ��� 7�86*

# ���$��������

/�� �� ��� ��&� �; &���� �� ��&���� �� ��� ������ �*

-� ��� �!������ ������ � ����� � ��� (�����

��� �� � �� ��� � � 3"� � � # � �#� � #6�

���� �� �����������! ��?�� � (�����0

���� � � ���"��������� +�" � ��"���������

���� � � +���������� �

� �� +����������� �

� �� +��

� �� ��

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

����� ��� �� ��� �( ����� ��� (������ �� ��� � ���* <*

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5��� B#H

���* +* %����� ��� (����� �3 #� �6 ! $3�#� M� �6*

Page 6: Multiple sweeping using quaternion operations

> ��� ����� �� ��� � ������ � � �!��� �( ��(��& ���

(������ � ���� � �� � ���! ���& �� ��� � 1����* >

���� �; &���� ��� � � &���� � �� �( ��� ��(��& ��� (��:

���� �� ������� �� � ��� � � �� #* ����* =A B ������� ��

��� ������� �( ���!�� $# � /�� �:��(��&3�� 3"� "� "� #66�

$� � ����3�� 3"� #� "� "6� #<6 � $+ � %� ��:4��3�� 3"�

#� #� #66 � ���� �����* �� ������� ��� ��� ��� ���� �����:

���� ����! ���� � ���* B� �� ���� !

�*��� � �#� ��� �+� ��+��#

$�� *��� ��

���� * 3� #� �� +6 �� ��� ���; �( � �� ��� (�����*

> ���� �; &���� � � �� ���� $# ! ��� ,�5� �� ���

� ��� ��� ��(��& ��� ������ � ��� !: ;�� 3"� "� #6*

������� �� � � �� �� �� ��� ������ ��� 3#� #�

#6� ��� ,�5� � �� � ���! �;����� ���� �� �(��& ���*

%�&�� ��!� ���� �� ��� ��� � �� (�� $�* ���� �� �� ���

������ ���� $�� � �;����� ! +, �������� � �� �(��:

& ��� 1��� ! ��� ��& � ��� �( (��� ��� �� �(��& :

����* ��� ������ �( ���� ���0�� & ��� ���� ���������

&��� ��&������� �� 7#)A#=8* � ���� ����&� �( � ��

�� �(��& ��� � $�� �� ���� ��� ��� �� ��&���� �

�������� 3": �� !: ;��6� ���� ��� $� �( �'5� � ���� ��

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5���B�"

���* <* @���� � � 1���� (�� � #� � �� � +*

� �� #

E � &���� � �� (�� ���* B

%��� (����� " � ! �

/�� �:��(��& "*" "*" #*" A

���� #*" "*" "*" #<

%� ��:4��* #*" #*" #*" A

���* )* ��������& (�� ��� ��� &���� ���� �'5�*

Page 7: Multiple sweeping using quaternion operations

���� ����&� � ! �������� � +, �� ��* >� �� ��(?����

(�� ��� ,�5� �� �� ���� ��� ��(��& ��� (������ �� ���

�� ��� ��?����� (�� ��� ��(��& ��� (������ ������

�� �� ��� �� ��#� ���� ������� � ��� ��� ����

��#� ���� ;�� � +, �� ��* �����(���� � � ��� �� � ���

� �� � ���� ��� ��#� ���� �� �� ���� � ��� ���� �� ��

�( ��� & � �� � ��� �( ��� '5�* ��������� ��� �'5�

������� ��� ��� I�;� �� �� �(��& ���� ��?�� ! ���

'5�*

% ���������� �� ����$������

-� � �� ��������� ��� '5� ��� ��� (��� ��� �( ���

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

&�����* ����� +, &���� �������� ��� &������ �� ��� ���

� ��� ������ �( &������� ������ ���� ����* 9! �� ���

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

� � �� �(��& ���� ��� &���� ��� ����� ��* �����

&������ �� �� ��&&� �� � ���* ��� ��� ��� � �

��� ��� �������� &����� & �� ! ���� ����� &������ ��

��&��� ���� ������ ��� �� � +, ���� � � ����* ���� ��

�� ��� ��� ���� ��� &����� �� ���������� ��� ��! !

��� (������ � ��� � � &���� ���� �( ������ �����*

�� ?���� � �!�� ��� ��((������ ���� ��� '5� �

��� ,�5�* > 4�, �!���&�� ��� �������� ������ � ��

�� � ���! & �� ����� � 1��� &����� � +, �� ��* ��� '5�

�� �������� �� ��� ,�5� � ���� ��� ��* > ��� '5�� � ��

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

���� (�� ��� ,�5� � ��� (��� ��� �� �(��& ����*

���� &� � �� � � � �����(! ��� � � &����� �( � ��

������ ���� &��� � ���! ��� ��� '5� �� (�� ���

,�5�* ����� �� �� � ���� �� ������ � &������� ������

��� ��� '5�*

> ��� ���&����� ����� ��� '5� � �����(! ��� �� �� :

��� ������ � ��� ��� ��� ;�� ����) �� �� ��� �� �� ���

� ��� ��� ���� ��� �� ������ �� ��?�� (�� ��#� ����

������� � ;�� � +, �� ��* @ ��� ����� � �� ��� ,�5�

� �� �;����� �� �� ��� ��� �( ��� "� !:�� � ������ ��� :

��� �� ��� ��� ,�5� ���� �� ��?� �� �� ��� ���

��� �: ;��* �� ������� �� ���� ��� ��&��� �; &���� �������

� � �� �� �� �� � ��� ��� �: ;��* G��� ��� ,�5�

� ?��� � �� �� �� �� �� � ��� ��� !: ;�� � ��� ��� ��

! H"� ���� ��� ": ;��* > ��� � �� �( ��� '5�� � ��!

��� �� �� ��� ������ �( ��� (��& 3"� "� �� "6* �� ����

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

� ��� �� �� ��� �� ��#� ���� ���� � ��� ��� ����

��#� ���� ;��* ��� ��((������ ���� '5� �

,�5� �� ��&& ����� � � �� �*

> ������ �� ����� ��� �'5� ���� � �������� �

%����� < � � ��� � ������ � (�� ��� ��� ��� � 1��� &�����

��� ��(��& ��� (������* ��� �'5� �� �;����� �(

��� '5�� � � � (�� &�� � ������� ��� ��� '5�

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5��� B�#

���* B* �� �(��&�� � 1��� ! �� ��:�������� (�����*

���* =* �� �(��&�� � 1��� ! ��� � ��(��& ��� (�����* ���* �* �� �(��&�� � 1��� ! ���� (�����*

Page 8: Multiple sweeping using quaternion operations

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

��� '5�$ �� � ��� ����� ��?����� �� ��� � ��& � :

��� �( �� �� ��� � ��� ���* ��������� �� &���� � ���!

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

���� ��� &���� �!���& ��� ��!* ���� &��� ��& � ���

�� �� &��� �� ���! �� �� ��� ���� ��� ������� (�� ���

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

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

��� ��(��& ��� (������* > ����� ����� ��� ���� ���

&���� �� ������! � �; ���! �����&��� ! ��� &�������

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

� � &���� ����*

��� �'5� � ������� ��&��� � ������ �� �(��& :

���� �� ��� 1��� &�����* >� ������ ������� ����(��

� �(?���� &����� (�� ��� ��� +, �� ���� � &�����$

���� �� �� �( ��� &��� �&���� � ����� ���� (�� ��� '5�*

��&���$� �������

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

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

������ � ����� �( ���� � ���*

'�"�������

7#8 %� ���� 2� 2������ ,/* 4��������� � ����&�� ��� �( 4%5

�������� ����* 4�&�����:����� ,���� #HH#$�+0)A#H*

7�8 ��!��� N� ����� %� � ��� ,* .(?���� � ���� �� 9:���

���� ��� �( �� ������ ���������� ������ ���� �; �� ����&����*

�4�C%>55��E� %!&�����& � %���� ������� #HH�0)�A<<*

7+8 ��((& 4* 5��&����� � ����� &������* � ����������* %

� ���� 4�0 ���� � �(& � #HBH*

7)8 %���� �� E ��� �* � (����� �������� ��� (�� ������ !

&���� �����* >... �� � ����� � 2��� ��� ��� � 4�&�����

5� ����� #HH=$�0##A#B*

7<8 � ��� ��� %������� E4* %����� �( �����:��&���� � � 1����*

4�&�����:����� ,���� #HH"$��3)60��+A+)*

7=8 ����� �* �� &���� ������ �� (� &�� (�� ������ ��� +,

�� 1�����!* 4�&�����:����� ,���� #HB=$+0�#�A�H*

7�8 � ���:� ��� �� @��& %* �������� ������ ���� ���

,� ���A� ��� ��� �������� ��� &�����* 4�&�����:����� ,����

#HHH$+#0<=�AB+*

7B8 ,� ��� N� � ��� ��� �%* � ���& ��� �� ��� (�� ����:� ��

&��� ��&� ��� � & ������* �� � ����� �( �%�.� N��� � �(

������� ���� ��� #HH<$��0�#<A�#*

7H8 %���& �� �* ��& ��� ��� ��� ��� �� ����� ������* 4�&�����

5� ����� 3%>55��E� LB< E���������6 #HB<$#H0�)<A<)*

7#"8 ��& �%� J & �-* >������ ��� ����� ����� ���� ��� ������ �

����� �� ����� ������* 4�&�����:����� ,����

#HH<$��3<60+B<AHB*

7##8 N������ 9* 2��� ��� ��� �( &���� � 1���� ���� �� � �� �����

������* 4�&����� 5� ����� #HH)$#B3+60+#<A�=*

7#�8 E������; ,* '� ����� � ������ � ��� ���� � ��&����� �� �����*

��� 2��� � 4�&����� #HBH0�A#+*

7#+8 � ����� E:5* G��� �� ������ (�� ����� +, �� �(��& ����*

5��E�>4% 5.�% #HH"0)HBA<#<*

7#)8 9� ��&��� ,� /�� �4� - � -* 4� ���?� ��� � �!��� �( �� ��

���� ����&��* E��������� �( N � AG%� %!&�����& � ���;� ��

����& ��� #HH�0=HA�<*

7#<8 � ���:� ��� �� O�� �N* 5��&����� �������� ��� �( ��� ����

����&� ���� N �� � � � ��?����! ��������* 4�&�����:�����

,���� #HH�$�H0)<�A=B*

7#=8 � ���:� ��� �� O � N� 9� ��&��� ,* @ ���� ����&�

(��&�� ����0 �&������ ���( ���* 4�&�����:����� ,����

�""#$++0##+A�#*

�, ������� &, -!�� . /���0 ���-���� $���� �1 2�33�4 ���5���B��

(����� ���� � �� ���(����� � �������& G�������!* �� �������� ��� 9. � #H�+ (��&�������& G�������!� � �% � E�, �#H�< � #H�B� �����������!� (��& ���!� >���:���� �( ��������!* ��� ������ ���� ��� ��& ��! � ��� �� �( ��&����� �� �����* �������� � �������� ������ & A& ���� ����:( �� ������� �� �����0 +, � � ���������$� � �������� ���� �, � +, ���&���!$ � �((������ ���� ����� �� �� �( ���������( ���*

��&���� ��)�� �� �� �� �� ������ ��������& G�������!� >(��& ��� .�����:�� � 1��* �� �������� ��� 9% � ��� � ����!�( >���� ��� ���� � %������ (��&�������& G�������! � �"""* ��� ���� ����������� ������ +, ���&����� &������ ���&����� �� �����*

� �� �

,�((������ ���� '5� � ,�5�

'5� ,�5�

,�&���� �( &���� (�� �� ��� �� �(��& ��� + #

J�& �� �( ��� �� �(��& ��� (�� �� ������ ���� � )

J�& �� �( � � &����� (�� �� ������ ���� ) )