Читать книгу Rethinking Prototyping - Группа авторов - Страница 142

4.2 Outline of the Algorithm

Оглавление

Fig. 6 Illustration explaining the approximation algorithm: a base curve b (green) is followed smoothly, while a second curve c (blue) serves as a target. Points xi-1 and xi are on b, ŷi is on c; the lines li-1 and li are coplanar and meet in apex ai – see the algorithm in the main text for further explanations.

Our algorithm is a combination of the most important characteristics of the constructions outlined in sec. 3.2. We input a base curve and a target curve, which lie in parallel planes. If they were general space curves, step 2 would have to be adapted to accommodate for tangent planes. The output is a strip of developable surfaces precisely through the base curve and approximately following the target curve.

1 Connect the start point x0 of the base curve b and the start point y0 of the target curve c with a line l0.

2 Choose a point xi on b and a point zi on c, e.g. by subdividing the curves a given number of times, see sec. 4.3 for choice of direction.

3 Compute b’s tangent tb(xi). In a small neighborhood of given size around zi, compute tangents to c. Choose the one with minimum angle to tb(xi), the corresponding point is ŷi.

4 Project ŷi onto the plane spanned by li-1 and xi to get yi.

5 The line connecting xi and yi is coplanar with li-1, they intersect in a point ai (or they are parallel).

6 Form a conical surface with the curve segment of b from xi-1 to xi and the apex ai (or a cylindrical surface)

7 The line through xi and yi is the next li. Or, if you want to get closer to t, take a point between yi and ŷi within a given threshold and thus get the next li.

8 Repeat steps 2 to 7 until you reach the end of b.

For a family of curves number them consecutively and use the even numbers as base curves and the odd numbers as target curves, see Fig. 7. Then, every strip has a neighbor with whom it shares a base curve and one neighbor sharing a target curve. Intersect the latter two strips to get a new curve, approximating the target curve and lying on both adjacent strips. In most cases, this intersection curve will be very ragged and thus unaesthetic. We therefore trim the strips with an auxiliary surface through the target curve, which can be a bisector of the strips or a general cone through the target curve.


Fig. 7 (left) If the intersection of the strip between c0 and c1 and the strip between c1 and c2 is too ragged, an auxiliary surface through the target curve c1 is constructed. (right) The resulting conical panels and the new curve close to the target curve c1.

Rethinking Prototyping

Подняться наверх