Difference between revisions of "A Survey of Implicit Constraints in Primitives"

From BRL-CAD
(sph (Sphere))
(rhc (Right hyperbolic cylinder): Added additional constraints to the RHC. Not sure about "c > 0", though.)
 
(4 intermediate revisions by 2 users not shown)
Line 23: Line 23:
 
# B.C = 0
 
# B.C = 0
 
# C.A = 0
 
# C.A = 0
 +
 +
===rec (Right elliptical cylinder)===
 +
 +
3 types: Non-negativity/Modulus comparison, Perpendicularity, Vector equality
 +
 +
Constraints:
 +
# |H| > 0
 +
# |A| > 0
 +
# |B| > 0
 +
# A = C
 +
# B = D
 +
# A.B = 0
 +
# H.A = 0
 +
# H.B = 0
 +
 +
===rhc (Right hyperbolic cylinder)===
 +
 +
3 types: Non-negativity/Modulus comparison, Perpendicularity
 +
 +
Constraints:
 +
# |H| > 0
 +
# |B| > 0
 +
# |R| > 0
 +
# H • B = 0
 +
# c > 0
 +
# |B| ≥ c
 +
 +
===rpc (Right parabolic cylinder)===
 +
 +
2 types: Non-negativity/Modulus comparison, Perpendicularity
 +
 +
Constraints:
 +
# |H| > 0
 +
# |B| > 0
 +
# |R| > 0
 +
# H.B = 0
  
 
===sph (Sphere)===
 
===sph (Sphere)===
Line 33: Line 69:
 
# |B| > 0
 
# |B| > 0
 
# |C| > 0
 
# |C| > 0
# |A| ~= |B|
+
# |A| = |B|
# |A| ~= |C|  
+
# |A| = |C|  
# |B| ~= |C|
+
# |B| = |C|
 
# A.B = 0
 
# A.B = 0
 
# B.C = 0
 
# B.C = 0
 
# C.A = 0
 
# C.A = 0
 +
 +
===tgc (Truncated General Cone)===
 +
 +
Constraints:
 +
5 types: Modulus comparison, Logical Combination, Perpendicularity, Non-planarity, Parallelism
 +
 +
# |H| > 0
 +
# |A| & |B| not zero together
 +
# |B| & |D| not zero togehter
 +
# |A|*|B| and |C|*|D| not zero together
 +
# H is nonplanar to AB plane
 +
# A.B = 0
 +
# C.D = 0
 +
# A || C ( A is parallel to C )
  
 
===tor (Torus)===
 
===tor (Torus)===
Line 54: Line 104:
 
# B.H = 0
 
# B.H = 0
 
# H.A = 0
 
# H.A = 0
# 0 < |H| < |A|
+
# |H| > 0
 +
# |H| < |A|

Latest revision as of 03:27, 30 November 2012

Design icon.png This page contains the design document for an enhancement or feature. The design should be considered a work in progress and may not represent the final design. As this is a collaborative design, contributions and participation from other developers and users is encouraged. Use the discussion page for providing comments and suggestions.

Types of Implicit Parameters[edit]

At the level of constraint networks, calculations are done in terms of Variables or indpendent real values / floating point numbers. But in the construction of geometry these are clustered together in terms of implicit parameters. Typical implicit parameters are

  1. Vectors - A 3 dimensional vector is a 3-tuple which is used to hold direction as well as magnitude. In BRL-CAD primitives, they may represent
    1. Radius vectors ( Center of a sphere)
    2. Direction vectors (Direction of a plane)

Types of Implicit Constraints[edit]

An enumeration of the set of contraints observed in the primitives below

  1. Modulus Comparison : Comparison of the modulus of a vector to a real number ( 0 for non-negativity ) or the modulus of another vector
  2. Perpendicularity of Vectors

Implict Constraints by Primitive[edit]

ell (Ellipse)[edit]

Ellipse is built using the Center (radius vector V) and 3 Vectors (A, B, C st. |A| = radius) 2 types: Non-negativity/Modulus comparison, Perpendicularity Constraints:

  1. |A| > 0
  2. |B| > 0
  3. |C| > 0
  4. A.B = 0
  5. B.C = 0
  6. C.A = 0

rec (Right elliptical cylinder)[edit]

3 types: Non-negativity/Modulus comparison, Perpendicularity, Vector equality

Constraints:

  1. |H| > 0
  2. |A| > 0
  3. |B| > 0
  4. A = C
  5. B = D
  6. A.B = 0
  7. H.A = 0
  8. H.B = 0

rhc (Right hyperbolic cylinder)[edit]

3 types: Non-negativity/Modulus comparison, Perpendicularity

Constraints:

  1. |H| > 0
  2. |B| > 0
  3. |R| > 0
  4. H • B = 0
  5. c > 0
  6. |B| ≥ c

rpc (Right parabolic cylinder)[edit]

2 types: Non-negativity/Modulus comparison, Perpendicularity

Constraints:

  1. |H| > 0
  2. |B| > 0
  3. |R| > 0
  4. H.B = 0

sph (Sphere)[edit]

Sphere is a particular case of the ellipse

Constraints: 2 types: Modulus comparison, Perpendicularity

  1. |A| > 0
  2. |B| > 0
  3. |C| > 0
  4. |A| = |B|
  5. |A| = |C|
  6. |B| = |C|
  7. A.B = 0
  8. B.C = 0
  9. C.A = 0

tgc (Truncated General Cone)[edit]

Constraints: 5 types: Modulus comparison, Logical Combination, Perpendicularity, Non-planarity, Parallelism

  1. |H| > 0
  2. |A| & |B| not zero together
  3. |B| & |D| not zero togehter
  4. |A|*|B| and |C|*|D| not zero together
  5. H is nonplanar to AB plane
  6. A.B = 0
  7. C.D = 0
  8. A || C ( A is parallel to C )

tor (Torus)[edit]

Tor is built using the following input fields

V	  V from origin to center
H	  Radius Vector, Normal to plane of torus.  |H| = R2
A, B	  perpindicular, to CENTER of torus.  |A|==|B|==R1
F5, F6	  perpindicular, for inner edge (unused)
F7, F8	  perpindicular, for outer edge (unused)

Constraints: 2 types: Modulus comparison, Perpendicularity

  1. |A| = |B|
  2. A.B = 0
  3. B.H = 0
  4. H.A = 0
  5. |H| > 0
  6. |H| < |A|