Constraint Conflicts

Constraint Conflicts

Top 

You might try to add more constraints than necessary, creating a situation in which the constraint youre trying to add conflicts with existing ones. In such cases, Geometry Expressions cannot find a construction sequence.

If you enter a constraint for a geometry object that is already constrained, youll see a dialog such as this:  

Resolve constrain conflict 

You can resolve constraint conflicts in any of three ways:

  • Cancel the operation to leave the drawing as it was without the new constraint.
  • “Calculate [new constraint] from other constraints.” Like canceling, this choice eliminates the new constraint. Unlike canceling, however, Geometry Expressions also calculates the selected geometry's value and displays the result.
  • To add the new constraint, you must relax one of the conflicting ones. Choosing the bottom radio button affords the opportunity to choose which; all the conflicting constraints are highlighted in red, the constraint you tried to add is highlighted in yellow (Figure 1). 

 

Figure 1

When you select one of these constraints (Figure 2 shows the result of clicking on θ), the highlight of the current constraint changes to green.

 

 

Figure 2

OK adds your new constraint, then calculates and displays the new value of the variable associated with the relaxed constraint (Figure 3).

 

Figure 3

Youll need to resolve constraints conflicts whenever you add a new constraint that is:

  • not independent of those already added;
  • not generically applicable, though possibly applicable in specific cases; or
  • for which a construction sequence cannot be derived.

Below is an example of a constraint that isn't independent: three sides already define the triangle, so θ is dependent on the side lengths. 

Overconstrained_1 

To resolve this conflict, you can eliminate one of the constraints either one of the problematic side lengths, or θ.

Below is an example of a constraint that, while it appears to be independent, would not be so in all cases. The line segment has been assigned the equation Y=X, and the point A has been assigned the coordinates (0,0). The point (0,0) does indeed lie on the line Y=X, but other values for its coordinates might not. For example, if you tried to constrain A to be at coordinates (1,0), the Y=X constraint would be violated. Constraints in Geometry Expressions must be applicable generically, rather than relying on specific values.

Overconstrained_2 

To resolve this conflict, instead of setting the equation of the line, you could set its slope:

 

Some problems seem to violate neither of these rules; nevertheless, Geometry Expressions cant find a construction sequence that satisfies them. For example, suppose youre trying to determine the length of the side of a regular pentagon inscribed in a circle of radius r. You might try to draw the pentagon by constraining its sides to be of equal length:

Overconstrained_3 

The constraints are certainly independent, so why the prompt to resolve a conflict? The answer lies in the details of how Geometry Expressions converts the constraint description into a construction sequence.

A construction sequence is a sequence of primitive geometrical operations, each of which creates a single geometric object. For example:

Create a point on a given line, distance a from a given point.

or:

Create a circle tangent to three given circles.

To draw the specified pentagon, Geometry Expressions starts with a circle of a particular radius. It then constructs a point on the circumference at an arbitrary location. Next, it must construct another point, this time one whose location is not arbitrary. But calculating the point's position would require simultaneously resolving all the congruent distance constraints. Geometry Expressions cant resolve that many constraints at once; it can resolve them only in batches of two or three, with each batch defining just one geometrical object. So Geometry Expressions is unable to create the construction sequence.

To solve this problem, you need to try a different approach. For example, specify the angles from the center of the circle, which enables Geometry Expressions to construct the points one by one: