• No se han encontrado resultados

4B. DESCRIPCIÓN DEL PROGRAMA – INTERVENCIONES TRANSVERSALES DE FSS

In the previous section, shapes were designed using a user-controlled metamorphosis between two objects only. Although, this pairwise meta-

morphosis can be applied iteratively to a group of objects, a generaliza- tion of the proposed formulation that creates complex shapes directly from a group of objects in the design of a new shape is more attractive. In this section, we present the modifications to the formula in equation

3.29 in order to support any number of objects. Given k objects where the j-th object, with 1 ≤ j ≤ k, is defined by a signed distance function fj(p) with the morphing function fm(f1, f2, ..., fk) and n feature elements

defined for each object such that the signed distance function for the feature i of the object j is dj,i, the user-controlled group metamorphosis

function becomes: FMk(p, t) = n P i=1 wi(di(p)) (fm(f1(pi1), ..., fn(pin)) + oi(p)) n P i=1 wi(di(p)) (3.34)

Unfortunately, this new formulation requires the morphing function fm to take any number of arguments. This is not the case of space

time blending (Pasko et al. 2004), which can only morph between two objects at a time. Therefore, the only suitable function for morphing is the linear interpolation, which has already been used in the past to interpolate between several objects (Adzhiev et al. 2005). Using linear interpolation, FMk is rewritten as follows:

FMk(p, t) = n P i=1 wi(di(p)) k P j=1 fj(pij)vj,i+ oi(p) ! n P i=1 wi(di(p)) (3.35)

where vj,i defines the weight or the influence of the feature element i of

the j-th object in the group metamorphosis process with

n

P

i=1

vj,i= 1.

The available space mapping functions are also more difficult. While most space mapping parameters can still be used through weighted sums, orientation cannot. The spherical linear interpolation on quaternions

and the matrix rotation interpolation do not extend well to the weighted average of k elements. Some methods exists, for instance, presented in

Moakher (2002), however this may not behave as the designer would expect. Some examples are shown in section4.5.

3.5.7

Summary

In this section, a novel method to combine different parts of different models into a new single object was presented. The method relies on a weighting field which is controlled by several distance fields. This weighting field is used to apply independently deformation, morphing and offsets, per shape feature. The formulation was first introduced for two objects to identify the key components of the morphological shape generation, and then extended to any number of objects. The applications and results are shown in section4.5. The work presented in this section was published in Sanchez et al. (2013).

3.6

Conclusions

In this chapter, a new theoretical framework was introduced and sev- eral distance based heterogeneous volumetric modelling problems were tackled.

• The convolution filtering presented in section3.2 served as a foun- dation by introducing an approximate smooth distance field given any distance field. C1 continuity of the approximate distance field

is important for many applications and not only restricted to het- erogeneous volumetric modelling.

• A novel way for the volumetric interpolation of the material prop- erties of an object was introduced in 3.3. Unlike alternative fea- ture based heterogeneous volumetric modelling techniques, the pre- sented method is shape aware, and considers the feature source accessibility in the interpolation process.

• The problem of interpolating in time between the material distri- butions of two objects was tackled in section 3.4. This section dealt with the time-dependent changes to the volumetric material properties as a transformation of the volumetric material distribu- tions in space time accompanying geometric shape transformations. Smooth distance fields are a key element of this technique.

• Finally, distance fields were used to combine several fields to achieve morphological shape generation in section 3.5. This section high- lighted the relation between property functions (scalar fields of properties or attributes) used as a parameter for the geometric modelling process.

In the next chapter, the technical details and algorithms for these four contributions will be described.

Chapter 4

Applications and results

In this chapter, applications of the techniques introduced in chapter 3

are shown. First, in section 4.1, the details of how this work was im- plemented and how users can interact with the system are shown. In section 4.2, convolution filtering applications for shape modelling and attribute interpolation are shown. In section 4.3, results of the shape aware volumetric interpolation for material and microstructure control are shown and explained. Finally in section 4.4, a few applications of space time transfinite interpolation are detailed.

4.1

Implementation and user interface

Depending on the type of user, there can be several options to use the techniques presented in this chapter. An advanced user can implement these technique in C directly, or in a script such as a HyperFun script (Adzhiev et al. 1999). Finally, for non technical users, such as an artist or a designer, a graphical interface can be used.

All the techniques presented in this thesis were implemented as a Maya (Autodesk 2014) plug-in and as stand-alone command line applications. Command line applications are useful for developers, but not for users. For user-friendly interfaces, Maya was chosen. There are several reasons for choosing this system:

(a) (b)

Figure 4.1: a) DAG Hierarchy example, a signed distance field is con- verted to a colour map. b) An attribute view of the ScalarT oColour node

• Maya is a well known modelling package, and many users are com- fortable with its interface and concepts.

• The Maya API is flexible and makes the integration with the soft- ware seamless.

• Maya features are modular, and therefore, new features introduced in a plug-in can use all the existing features.

• Maya can be used by non-technical users as well as technical users. Maya relies on an object hierarchy called directed acyclic graph, or DAG. The DAG hierarchy provides a framework to evaluate nodes in a certain order. Each node in the graph has a number of inputs, and a number of outputs. Input and attributes of the nodes are interchangeable in Maya. Any attribute value can be set by another node, or set manually in the attribute interface. Figure4.1 shows an example of the DAG view in Maya. In this example, a signed distance field is generated from a mesh, and converted to a colour map. The node sdf mesh1 takes in a mesh, and the sampling point, and outputs the signed distance to the mesh from the sampling point. The node ScalarT oColour outputs a colour based on the distance. Building this graph could be tedious, therefore, Maya lets plug-in have ’commands’ to automate this process. Commands can be used to build these graphs, create objects (such as a mesh), or modify node attributes.

(a) (b)

Figure 4.2: a) The DAG hierarchy for transfinite interpolation between two features using convolution filtering b) the convolution filtering node attribute view

Since the techniques presented are mostly functions of point coor- dinates and sometimes time, all the plug-in nodes require at least the sampling point. These nodes are used for shading. When a mesh or a surface needs to be shown in the modelling window, to be exported or manipulated, a command which creates an isosurface mesh from a function of point coordinates is used. The typical process for a user, is to select a number of elements and call a command, which generates a graph. Once this graph is generated, a mesh can be created through an additional command, or the scene can be rendered by attaching the graph to a shader. The subsequent subsections provide typical user cases.