The
twist option may be used to minimize the twist of the surface produced. Twist minimization aligns closed curves such that the start of the second curve is aligned to the start of the first curve. Even if a body's shape is unaffected by twisting, a surface with a twist could produce unexpected results when faceting and rendering. Figure 1-38 and Figure 1-39 show illustrations of twist minimization.
|
|
The default is that twist minimization is off, because otherwise the geometry definition of the underlying curves is changed to align the starting positions. Twist minimization is also an involved calculation that some users may not want to have carried out.
|
|
|
|
Figure 1-38. Conceptual Illustration of Twist Minimization
|
|
|
|
Figure 1-39. Twist Minimization, Faceted
|
|
Figure 1-39 shows an example of skinning between circular and square profiles without twist minimization (upper left) and with twist minimization (lower right).
|
|
Scheme Example
|
|
(define loop1 (wire-body (list
|
|
(edge:circular (position 0 0 0) 10) )))
|
|
(define loop2 (wire-body (list
|
|
(edge:linear (position -10 -10 -5) (position -10 10 -5))
|
|
(edge:linear (position -10 10 -5) (position 10 10 -5))
|
|
(edge:linear (position 10 10 -5) (position 10 -10 -5))
|
|
(edge:linear (position 10 -10 -5) (position -10 -10 -5)) )))
|
|
(define skin (sheet:skin-wires (list loop1 loop2) #t #f #t))
|
(define skin2 (sheet:2d skin))
|
; OUTPUT No Twist
|
|
(roll -2)
|
|
(define skin (sheet:skin-wires (list loop1 loop2) #t #t #t))
|
(define skin2 (sheet:2d skin))
|
; OUTPUT Twist
|
|
Example 1-8. Twist Minimization, Rendered
|
|
|
|
Figure 1-40. Twist Minimization, Rendered
|