Singularity Analysis of Geometric Constraint System Peng Xiaobo* Chen Liping Zhou Fanli Zhou Ji CAD Center, Huazhong Univ. of Sci. & Tech., Wuhan, P.R.China 430074 Abstract Singularity analysis is an important subject of geometric constraint satisfaction problem. In this paper, three kinds of singularity are described and corresponding identification methods are presented for both under-constrained system and over-constrained system. Another special but common singularity for under-constrained geometric system, pseudo-singularity, is analyzed. Pseudo-singularity is caused by the variety of constraint matching for an under-constrained system and can be removed by improving constraint distribution. To avoid pseudo-singularity and decide redundant constraints adaptively, a differentiation algorithm is proposed in the paper. Its correctness and efficiency have been validated through practical applications in a 2D/3D geometric constraint solver CBA. Keywords Geometric Constraint Satisfaction, Parametric Design, Singularity, Redundant Constraint are comprehensively analyzed and, further, three types of 1 Instruction singularity and corresponding judging methods are presented. Singularity analysis of constraint is a key technology for Geometric Constraint Satisfaction Problems(GCSP). 2 Basic concepts However, so far most researches and papers on GCSP have been focused on constraint solving planning[1,2,3,4,5,6,8], A geometric constraint system can be described with i.e. constraint matching, sorting, and decomposition, with a directed graph G[4], in which a directed arc a uniquely only few papers involving singularity analysis. DCM stands for a constraint c, and c matches with the head 2D/3D is one of the best constraint solvers in the world. vertex of a. The process of creating a directed graph is in But according to our experiences, definition of constraints fact an iterative process of finding matching vertex for and dimensions in DCM is affected by operation order in every constraint. It is essentially the bipartite matching of under-constrained system. It seems that DCM has not <c,e>, where e is geometric element. Following are perfectly several important concepts used in the paper: resolved the singularity problem for under-constrained system. Light[1] tried to differentiate Compound Vertex: In directed graph G, a strongly the redundancy of a constraint according to the singularity connected sub-graph can be reduced to a single vertex of its Jacobian matrix. Wang Boxing[7] indicated that if called compound vertex. there is redundant constraint, the Jacobian matrix of the system must be singular. Residual DOF(RDOF): The difference between the Degree of Freedom(DOF) of a vertex and the number of Our research work is based on constraint directed its matching constraints is called its RDOF; RDOF of a graph. Generally, graph-based singularity analysis is fit for compound vertex is the sum of RDOF of all the vertices in well-constrained system and over-constrained system. In it. If the RDOF of a vertex is more than 0, it is free. this paper, singularity analysis method is extended to Propagation Set and Predetermination Set: In a under-constrained system. The reasons leading to a DAG(directed acyclic graph), the vertex set found by singular Jacobian matrix of a geometric constraint system DFE(depth first ergodicity) from vertex v is called the *Corresponding author. E-mail: [email protected] (Peng Xiaobo); [email protected] (Chen Liping); propagation set of v. While the vertex set found by inverse DFE from v is called its predetermination set. Transitive path: Constraints c1 and c2 correspond to an in-arc and an out-arc of vertex v1 respectively. The explicit parameter sets in algebra expressions of c1 and c2 are P1 and P2 respectively. If P1∩P2≠Ф, then c1 and c2 are c3 = PntOnLine(p1,l3); c4 = PntOnLine(p3,l3); c5 = PntOnLine(p2, l2); c6 = PntOnLine(p3,l2); c7 = DistPP(p1,p2,d1); c8 = DistPP(p2,p3,d2); c9 = DistPP(p1,p3,d3) If add a new height constraint c10=Height(p2,l3,h) transitive at v1 and any change of either one will affect the other. If all the constraints along a path are transitive and between p2 and l3, c10 will cause saturated singularity. the end vertex is free, then the path is transitive. The remainder of this paper is organized as follows: Section 3 describes three types of singularity and analyzes pseudo-singularity for under-constrained system; Section 4 advances the symbol method and the numerical method for singularity differentiation. In the section, a singularity differentiation algorithm is presented and some examples are illustrated; Section 5 gives a conclusion. (a) 3 Singularity types p2{c7 c10}:0 c2 A geometric constraint system can be expressed as a proposed to p1{c9 }:1 decompose geometric constraint system so that a geometric system is c6 c8 p3{c8 ,c4}:0 c9 c4 were c10 blocking triangular form of sparse matrix, many dividing c7 c1 set of non-linear equations. Based on the algorithm for the methods[1,3,4,5,8] l2{c5, c6}:0 c5 l1{c1, c2}:0 c3 l3{c3} :0 reduced to a set of sub-systems that can be solved orderly. (b) In these methods, singularity analysis of constraints is a Fig.1 Saturated singularity key subject. 3.2 Embranchment singularity 3.1 Saturated singularity Chen Liping[3] presented the concept of Saturated Set: According to mechanism kinematics, if at the time of if under geometric constraint set C in which there is no t* there is a position q* for the system where the Jacobian redundant constraint, relative DOF between any two matrix q(q*,t*) is not singular, then according to the geometric entities in entity set E is zero, then E is called a Implicit Function Theorem, for δ>0, the system has a Saturated Set under C. A saturated set can be regarded as a stable unique solution q(t) near q* in the period of |t-t*|<δ. rigid body composed of its inner geometric entities. Solution 1 and Solution 2 in Fig.2(b) are two examples of Any constraint c added into a saturated set will cause q*. On the other hand, if there exists locking or a singular Jacobian matrix and thus is called saturated embranchment at the time of t*, then when t→t* there is redundant constraint. In this case, the bipartite matching no solution and the motion of the system loses its certainty. operation of c, which is to find its matching vertex in the For example, at the position showed in Fig.2(a), the next directed graph, will fail. moving direction of the system can not be decided and the In Fig.1, when the lengths of the three sides of system becomes singular. In the research of multi-body triangle P1P2P3 are decided, P1P2P3 is also decided. It can system, E.J Haug[9] and Hong Jiazhen[10] considered be regarded as a rigid body. The constraints are as follows: that this kind of singularity occurs only at isolated points, Geometric entity set: E = {p1,p2,p3,l1,l2,l3}; e.g. position q* in Fig.2(a), and called it isolated Constraint set: C = {ci | i=1,9} singularity. c1=PntOnLine(p1,l1); This case also occurs in geometric constraint c2=PntOnLine(p2,l1); 2 satisfaction problems such as parametric design. Solution 1 解1 6 Considering that two curves are constrained by tangency Embranchment constraint. The constraint system is non-linear and the 5 分支点 Point bb 6 3 5 Jacobian matrix q is dependent on the orientation 3 ang 8.5 parameter vector q of the system[12]. The system is 8.5 解2 singular. Obviously the singularity occurs only when Solution 2 (a) tangency constraint exists or rather at the isolated points. (b) That is to say, tangent point can be considered as the Fig.2 isolated point of the system. There is only one difference between embranchment singularity of mechanism analysis and that of geometric constraint satisfaction problems: Kinematics analysis can be considered as geometric constraint problem based on time sequence. While for static GCSP like parametric design, when we say a system is of embranchment Fig.3 Embranchment singularity caused by tangency there are constraints leading to isolated singular points for the system. For example, if the influence of time is not l1{c3, c5}:0 c3 considered in Fig.2(a), when some constraints make the c7 p1{c1, c2}:0 c3=PntOnLine(p1,l1); c5=Horizontal(l1); c6 = PntOnCircle(p2,c); c7=PntOnCircle(p3,c); c8=PntOnLine(p3,l2); c9=Horizontal(l2); c10=DistPP(p1,p2,d1); c11=DistPP(p1,p3,d2); l2{c8, c9}:0 p2{c4, c10}:0 be written as follows: c4=PntOnLine(p2,l1); c8 c10 horizontal, c is tangent with l1 and l2. The constraints can c2=FixY(p1); c{c12, c6,c13 }:0 c6 singularity. Similarly, in Fig.3, p1 is fixed, l1 and l2 are c1=FixX(p1); p3{c7, c11}:0 c11 c4 quadrilateral to be a triangle, the system is of isolated c12 c13 singularity, we mean that the system is at a position where Fig. 4 A directed graph of embranchment singularity c12=TanLC(l1,c); c13=TanLC(l2,c); Fig.4 is the directed graph of Fig.3. The strongly connected sub-graph SC={p3,l2,c} corresponds to a 7×7 Jacobian matrix q. q is singular and rank(q)=5. Its l1{c1} :1 c9 and the singularity comes from the tangencies between c c3 and l1, l2. p1{c3} :1 3.3 Redundancy singularity c6 c7 p0{c4, c6}:0 c8 (c) c4 points. Obviously, there is no redundant constraint here l2{c2, c9 } :0 c5 rank deficit is 2, being equal to the number of tangent c{c8, c7,c5} :3 Fig. 5 Redundancy singularity There is no essential difference between redundancy singularity and saturated singularity, which are both singularity. Redundancy singularity often produced by the caused by redundant constraints. When a redundant existence of equivalent geometric constraints. constraint can be decided by a symbol method, it is called Unlike saturated singularity, this type of singularity is saturated singularity; Otherwise, it is called redundancy common when system is under-constrained, especially 3 A during the initial phase of design. For an under-constrained vertex, symbol method can not be used to judge its l1 l3 singularity by simply calculating its RDOF, because in this 60° B case, singularity might still exist even if the vertex is free. l2 C (a) For instance, when a vertex of DOF 3 is constrained by two geometrically equal constraints, the vertex is free and l4 c7 the directed graph is normal, but singularity occurs. Considering the constrained geometry in Fig.5(a): c1=Horizontal(l1); D l4 c6 D c5 A c2=Vertical(l2); l3 c0 c11 c9 c4 c3=PntOnLine(p1,l1); c4=Cent_X(p0,c); c5=Cent_Y(p0,c); c6=PntOnLine(p0,l2); c7=Tangent(l1,c); c8=PntOnCircle(p1,c); l1 C c10 c80 c1 c3 B c9=PntOnLine(p1,l2); Fig.5(c) is the directed graph of Fig.5(a). It can be l2 c2 (b) seen that circle c and its center point p0 constitute a Fig.6 Redundancy singularity strongly connected component SC. Although the RDOF of Here it is also impossible to judge the singularity by SC seems to be zero in the graph, when the radius of c calculating the DOF of vertices. In fact, constraints changes, all the constraints can still be satisfied(Fig.5(b)). AB//DC and AD//BC are equivalent to |AB|=|CD|, which That is to say, SC is not fixed and the system is singular. leads to the singularity. This singularity is just caused by the existence of equivalent geometric constraints. This kind of singularity 3.4 Pesudo-singularity can not be decided by symbol method and numerical method should be adopted. For an under-constrained system, the matching Fig.6(a) is another example of redundancy singularity: modes between constraints and entities are various. AB//DC, AD//BC, |AB|=|CD|, ∠B=60°, |AB|=5. The Different constraint matching modes produce different constraint set is: solving sequences. Part of these solving sequences may c0=PntOnLine(A,l1); c1=PntOnLine(B,l2); contain singular units and are called ill-conditioned c2=PntOnLine(B,l2); c3=PntOnLine(C,l2); solving sequence. However, this kind of singularity can be c4=PntOnLine(C,l3); c5=PntOnLine(D,l3); c6=PntOnLine(A,l4); c7=PntOnLine(D,l4); c8=AngBtLine(l1,l2,60); c9=ParalLL(l1,l3); c10=ParalLL(l2,l4); c11=DistPP(A,B,5); A l1 Absolute constraint: l2 l1 is horizontal and fixed; p c1=OnLine(p,l1); c2=OnLine(p,l2); c12=EqualLen((A,B),(C,D)); ABCD is a parallelogram. Fig.6(b) is the directed c1 v(l1) v(p) v(l1) c1 v(p) graph of fig.6(a). Three dashed arcs in Fig.6(b) denote the c2 four-element constraint c12=EqualLen((A,B),(C,D)), which c2 v(l2) is different to binary constraints. Three arcs of c12 mean v(l2) (b-1) (a-1) that c12 involves 4 vertices. But the three arcs work as a single one and reduce the DOF of the vertex D by 1. It can c1 v(l1) be seen that the total RDOF of the system is 3 and there is v(p) c3 no local over-constraint in the graph. The system seems to c2 v(l2) be well-constrained. However, it is obvious that CD can move along AD. That is to say, the system is not (a-2) under-constrained. So in the system there exists singularity. Fig.7 4 v(l1) c1 c3 v(p) c2 v(l2) (b-2) An example of pseudo-singularity removed by improving the constraint distribution. If a kind constraint directed graph. There must be a matching vertex of singularity can be eliminated by adjusting constraint for a normal constraint. Otherwise, the directed graph can distribution, it is called pseudo-singularity. not be created correctly. In the example of Fig.7, l1 is horizontal and fixed. p Property 2: If constraint c is redundant, then the is the intersection point of l1 and l2. A is the angle between Jacobian matrix q of the matching vertex of c is singular. l1 and l2. This under-constrained system has two possible That is, in our research, q has row rank deficit. directed graphs(Fig.7(a-1) and Fig.7(b-1)). Now add an Any redundant constraint belongs to an interrelated angle constraint c3=AngLL(l1,l2,180) between l1 and l2. constraint set. In our research, each row vector of the Then (a-1) and (b-1) develop to (a-2) and (b-2) Jacobian matrix of the interrelated constraint set is respectively. In the case of (b-2), intersection point p can composed of the partial derivatives of orientation not be solved from two superposed lines l1 and l2. The parameters of one constraint equation in the set. Because system is singular. However, for the same system, the of the relativity of the constraint set, the row vectors of its solving sequence in (a-2) is normal. This situation is call Jacobian matrix are also relative and there must be deficit pseudo-singularity. To avoid the pseudo-singularity in of row rank of the Jacobian matrix. (b-2), adjust constraint c2 and let it be matched with v(l2), Property 3: Assume that vs is a compound vertex and then the directed graph is optimized to (a-2) and the there is no unary constraint that describes absolute position solving sequence v(l1)v(p)v(l2) becomes normal. in vs, if (i) the predetermination set of vs is empty and the So we can conclude that: (1) For under-constrained RDOF of vs is less than that of a rigid body or (ii) the system, singularity of a constraint can not be simply predetermination set of vs contains only one vertex P, the determined by the singularity of a single vertex; (2) For RDOF of vs is zero and number of the out-arcs from P to under-constrained system, if a constraint has at least a vs is more than the DOF of P, then there must be saturated normal solving sequence, then it is normal. singularity. We adopt the steps as follows trying to eliminate Generally, there are two methods to position vs: one pseudo-singularity: Once an ill-conditioned vertex vss is is using unary constraints that describe absolute position obtained, constraint matching adjustment[8] will be such as fixed position, horizontal, vertical and so on. This implemented on the non-propagation set of vss to search situation is excluded by property 3. The other method is to for a inverse transitive path P. Reverse the arcs along P to l2{c5, c6}:0 propagation set of vss is enlarged and a new solving p2{c7 c10}:0 c1 sequence is obtained. To ensure the new solving sequence c2 c8 c3 c4 c9 p1{c9 }:1 the new solving sequence. Readers please refer to p3{c8 ,c4}:0 c10 c7 is normal, the algorithm needs to check all the vertices in c6 l1{c1, c2}:0 c5 move the constraint matched with vss so that the l3{c3} :0 reference[8] for details. (a) 4 Singularity differentiation c1 properties: p1{c9 ,c3}:1 Property 1: If constraint c is not redundant, then c6 p3{c8 ,c4}:0 c8 c7 A geometric constraint system has following three c5 p2{c7 c10}:0 c9 4.1 Graph differentiation method l2{c5, c6}:0 c2 l1{c1, c2}:0 c1 0 c4 c3 l3{}:2 there must be a geometric entity e in the system, (b) DOF(e)>0 and c can be matched with e(<c,e>|e∈E). This property comes from the definition of geometric Fig.8 Graph character of saturated singularity 5 position by its predetermination set P. If P is empty or perturbation direction; F is the constraint equation. Then there is only one geometric entity whose DOF is less than compute with the iteration formula that of vs, obviously it is impossible for vs to be positioned q j 1 q j q j F j , and there must be saturated singularity among the Where q is the orientation parameter vector of vi, q is j constraints of vs. Property 1 and 2 are two necessary conditions for a the general inverse of q. Because the perturbation is normal constraint. Property 3 indicates the graph character small, after few steps of iteration can we determine if there of saturated singularity and becomes an efficient symbol is a solution or not. If there is a solution for either differentiation method for this kind of singularity. For perturbation direction for ci and row rank deficit of q instance, Fig.8(a) is the strongly connected graph of decreases, the singularity caused by ci is embranchment, or Fig.1(b), in which the only strongly connected sub-graph it is redundancy. By this means, the types of singularity of SC has 4 entities and its RDOF is 2×4-6 = 2. After the all the constraints in Cr can be decided. optimal matching adjustment[8], which can ensure the RDOF of any compound vertex vi Dof(vi)→0, SC contains In Fig.5, there is redundancy among the constraints 3 entities Vs={p1,p2,p3} and RDOF=2×3-6 = 0(Fig.8 (b)). between compound vertex Vs and c6,c7,c8. When Cr={c6}, The predetermination set of Vs is P={l3}. The DOF of l3 is 2. However, it can be seen that there are three arcs from l3 the perturbation is: a2x0 + b2y0 + c2 = , to Vs, corresponding to constraints c3, c4, c10, which means where a2,b2,c2 are parameters of l2. After perturbation, l2 rigid body Vs whose DOF is 3 is fully determined by l3 will have a slight translation and then the intersection whose DOF is 2. It is obviously impossible. According to point of l1 and l2 can not be on circle c(Fig.9(a)). There is Property 3, there must be saturated singularity in SC. no solution for this perturbation. If Cr={c7}, the perturbation is: 4.2 Constraint Residue Perturbation Method a1xc + b1yc + c1 r = , where a1,b1,c1 are parameters of l1. It means that l1 moves For redundancy singularity and embranchment singularity, numerical judging method should be applied. l1 l1 p1 l1 p1 p1 To decide singular points, E.J.Haug[9] presented a variable perturbation method. This method is efficient. However, it p0 applies perturbation to all the entities in the system l2 c p0 c p0 l2 l2 Perturbation indiscriminately and the scope of perturbation does not l1 vary for different entities, which increases the expense of No solution 无解 time of the method. No solution 无解 Considering that singularity is caused by redundant constraints, we advance the Constraint c 扰动解 Residue (a) (a) Perturbation Method(CRPM) which only involves the redundant constraint set: p1 solution p0 c l2 (b) (c) Fig. 9 Redundancy singularity If Jacobian matrix q of a solving unit vi is singular, then redundant constrain set Cr C can be found easily Perturbation l using Gaussian Elimination Method. Here C is the constraint set of vi. Set a perturbing value for each Perturbation constraint ci ∈ Cr and then adopt Newton-Raphson soloution p 扰动解 iteration. For c ci∈Cr Fi= Fi , soloution l 扰动解 p p c (a) where > , is the iteration precision; means l c (b) (c) Fig.10 Embranchment singularity 6 along l2(Fig.9(b)). Obviously, the perturbing result also singularity) then c is redundant and return makes p1 not on circle c, which is inconsistent to c8 and FALSE; there is also no solution. When Cr={c8}, perturbation is else if (there is v∈S and v is of redundancy singularity) then {search for reverse transitive ( xc x1 ) 2 ( y c y1 ) 2 r . paths P on the non-propagation set of v;} It means that the radius of circle c changes for the else {print(“c is normal constraint”) output the perturbation. From Fig.9(c), it can be seen that after solving sequence; return TRUE;} perturbation, all the constraints are still satisfied and step5 If (P is empty) c is redundant; return FALSE; perturbing solution can be easily obtained. The Jacobian else{apply reverse operation on P; reset the matrix q of Vs is: solving sequence S; goto Step2;} c4 : where x0 y0 xc yc r 1 0 1 0 0 In Algorithm 1, step 4 needs to judge the singularity c5 0 1 0 1 0 type of vertex v. Algorithm 2 gives this judging method: c6 a2 b2 0 0 0 Algorithm 2: Judging the singularity type of vertex v c7 0 0 a1 b1 1 step1 c8 0 0 ( xc x1 ) / R ( y c y1 ) / R 1 E { p0 , c} , C {c4 , c5 , c6 , c7 , c8 ,} if (v satisfies Property 3) return “v is of saturated singularity”; , T q x0 , y0 , xc , yc , r , R ( x c x1 ) 2 ( y c y1 ) 2 . step2 Compute the Jacobian matrix q of v; step3 If (q is normal) return “v is normal” step4 Compute dependant constraint set Cr in v by Because p0 and p1 are always on l2 before and after Gaussian Elimination Method. perturbation and the values of (xc-x1)/R and (yc-y1)/R do Step5 i = 1, r is the number of constraints in Cr. not change, the row rank deficit of q is unaltered. Step6 ci∈Cr, r0=rank(q); According to CRPM, c8 causes redundancy singularity. Step7 Add a perturbation δ on ci; Similarly, in Fig.10(b), line l is tangent with circle c. Step8 Solve v; The system is singular. After either perturbation shown in Step9 If (there is no solution) return “v is of redundancy singularity”; Fig.10(a) or Fig.10(c), the row rank deficit of the Jacobian matrix of the system decreases to 0, which shows the else if(r1=rank(q)≤r0) return “v is of embranchment singularity”; system has embranchment singularity. The algorithm of singularity differentiation can be summed up as follows: step10 If (i<r) {i+1, go to step5}; step11 return “v is normal”; Algorithm 1: Globally judging the redundancy of constraint c in an under-constrained system step1 step2 step3 Algorithm 1 adaptively enlarges the propagation set If the bipartite matching of c fails, c is of constraint c according to the singularity types of the redundant; return FALSE; vertices in the solving sequence SC and eliminates the Initialize directed graph G; Get the propagation singularity. Because the repeat of Step2 is limited, the set PS of c. complexity of the algorithm is approximately equal to that Adopt optimal adjustment algorithm[8] to of DFE: O(n+e)[11]. The algorithm works well for obtain the strongly connected sub-graphs on PS under-constrained systems. However, it is also efficient for and make G a directed non-loop graph. Then the well-constrained and over-constrained systems. solving sequence S={vi} from c can be obtained along the our-arcs of c. step4 if (there is v ∈ S and v is of saturated 7 CbaDigraph CBA classes CbaObject CbaSolveUnit CbaConstraint CbaModel CbaBody CbaModel2D CbaBody2D CbaModel3D CbaBody3D CbaDim2D CbaConstraint2D CbaDim3D CbaConstraint3D CbaGeomEntity CbaSolveUnit2D CbaPoint2D CbaPoint3D CbaLine2D CbaLine3D CbaCircle2D CbaPlane3D CbaEllipse2D .......... Fig.11 CbaRelation CbaSolveUnit3D CbaDivertex CbaDigraph2D CbaDigraph3D CbaDiEdge the hiberarchy of CBA Fig.12 An example of constraint identification 1 1 3 3 2 2 (a) (b) Fig.13 Assembling a tripod constraints in these constraints. Finally, 2n+1 horizontal 4.3 Some examples constraints, 2 vertical constraints, 4+3(n-1)=3n+1 tangent constraints and 3 point-on-line constraints are obtained by Using O-O method we presented a united modeling method for both 2D and 3D geometric constraints and developed a CBA(Constraint 2D/3D geometric Broadcasting constraint solver Automation). Fig.11 illustrates the hiberarchy of CBA. CBA2D. In this example, all the types of singularity mentioned above occur. Particularly, after the constraint identification, labeling some dimensions (e.g. Fig.12(b)) will lead to sophisticated embranchment singularity. CBA2D also can deal with such kind of problems. The module of constraint identification in CBA2D transforms general engineering graphs to parametric ones and identifies geometric constraints according to relative positions of geometric entities. Fig.12(a) is a keyway that has n loops. By geometric detection, 2n+1 horizontal constraints, 2 vertical constraints, 4n tangent constraints and 4n+4 point-on-line constraints are made out. The algorithm identifies successfully that there are n-1 redundant tangency and 4n+1 redundant point-on-line In another 3D example in Fig.13(a), pole 2 mates with pole 1 and pole 3 by two co-axis relations. Each co-axis relation includes 4 constraints. If add another co-axis relation between pole 1 and pole 3, CBA3D will close the tripod constraints(Fig.13(b)). and find (Readers out two please redundant refer to reference[12] for our research of geometric constraint expression and decomposition). Practice has proven the differentiation method presented in this paper fast and efficient. perturbation method are advanced to differentiate efficiently singular constraints. All the algorithms and 5 Conclusion methods proposed in this paper can also be applied to 3D geometric constraint system and has proved efficient and Singularity is an important factor that affects directly fast in CBA 3D. the solving ability of geometric constraint solver. In this paper, three types of singularity are presented and pseudo-singularity, which is very common 6 Acknowledgement in This work was supported by the National “863” under-constrained systems, is analyzed. As one part of the kernel of our geometric constraint solver CBA, the graph differentiation method and the constraint Project under grant 9842-003 in the field of automation. residue References 1 2 Light R, Lin V, Gossard D. Variational geometry in CAD. key technologies of geometric constraint driven function in Computer Graphics, 1981,15(3)171-177 traditional drafting systems. Chinese Computer Research & Kramer G.A. A geometric constraint engine, Artificial Development, Vol.35, No.10, pp935-940,1998. intelligence, 1992, 58: 327-360 3 4 8 Chen liping, Zhou Ji. Research of geometric constraint Graph Matching for Underconstrained Geometry Solving. system reasoning. Journal of Huazhong Univ. of Sci & Chinese Journal of Computers Vol. 23, No. 5, May 2000: Tech,1995, 6:70-74. pp523-530. Dong jinxiang. A new thought of constraint solving in 9 variable drawing system. Journal of computer-aided design 10 Hong Jiazhen, Computational Dynamics of Multibody Jae Yael Lee, Kwangsoo Kim. A 2-D geometric constraint System. Advanced Education Press, China, 1996(4):70. solver using DOF-based graph reduction. Computer-Aided 11 Yan Weimin, Wu Weiming, Data Structure, Tsinghua Design, 1998,30(11):883-896 6 University Press, China, 1992. Xiao-Shan Gao,Shang-Ching Chou, Solving geometric 12 Chen Liping, Peng Xiaobo, Proceedings of ASME DETC’00, Baltimore, Maryland, September 10-13, 2000. constraint systems. A symbolic approach and decision of Rc-constructibility. Computer-Aided Design Vol.30,No.20. pp115-122,1998 7 Haug E.J, Computer Aided Kinematics and Dynamics of Mechanical Systems, Vol. I Basic Method, 1989. & computer graphics, 1997, 9(6):513-519. 5 Chen Liping, Wang Boxing, An Optimal method of Bipartite Wang Boxing, Chen Liping, Zhou Ji, Study and practice of 9
© Copyright 2026 Paperzz