| OCR Text |
Show of 1 for P. If su ssful th point an b mov d al ng a ur . If thi faiL t annot b m v d at all. om tim s a point will r ceiv mor than one r qu sts for a cl gr 11. th p int dift r nt onstraints). In this case, the final degr es of fre dom is th sum fall th r qu t . If th r suiting degr es of freedom is greater than two ( th dim nsion of th spa ) th n it is an invalid request which will be rejected. The algorithm is subdivided in two recursive functions, mutually calling ach oth r, as summarized below. Algorithm 1. Request a degree of freedom from a point. procedure rqdofP(P, dof) BEGIN END IF P . currentDOF + dof > 2 THEN fail ELSE P.currentDOF := P . currentDOF + dof Find the set C of unmarked constraints attached to P Mark all constraints in C IF dof = 2 THEN FOR each constraint Ci in C DO rqdofC (P, 2, ci ) ELSIF dof = 1 THEN Pick some constraint Cj and call rqdofC(P, 1 , Cj) FOR each constraint ~ in C where ~ # 0 DO rqdofC (P, 2, ci ) ELSIF dof = 0 THEN succeed Algorithm 2. Request a degree of freedom from a single constraint. |