Вы находитесь на странице: 1из 8

M.Azodinia, A.

Mosavi, Computational Geometry Modeling, Generative Algorithms, Application to Modeling the Complex Geometry of Textiles, Reports of the faculty of Informatics, Scientific Computing, No. A/2011, University of Debrecen, Debrecen, 2011.

Computational Geometry Modeling; Generative Algorithms, Application to Modeling the Complex Geometry of Textiles
M.Azodinia, A.Mosavi, University of Debrecen, Faculty of Informatics

If we look at architecture as an object, represented in space, we always deal with geometry and a bit of math to understand and design this object. Computational Geometry became an interesting subject to study and combination of programming algorithms with geometry, yielded algorithmic geometries known as Generative Algorithms. We are witnessing a rapid growth of researches which are pushing the boundaries of design in any possible way. Generative Algorithm brings many possibilities of design in the area of architecture. It is the Generative Algorithm notion that brings the current possibilities of design, like parametric design in the realm of architecture. Architects started to use free form curves and surfaces to design and investigate spaces beyond the limitations of conventional geometries of the Euclidian space. Designing and modeling free-form surfaces and curves as building elements which are associated with different components and have multiple patterns is not an easy job to do with traditional methods. This is the power of algorithms and scripts which are forward pushing the limits. It is obvious that even to think about a complex geometry, we need appropriate tools, especially softwares, which are capable of simulating these geometries and controlling their properties. As a result, architects feel interested to use Swarms or Cellular Automata or Genetic Algorithms to generate algorithmic designs and go beyond the current pallet of available forms and spaces The point in Generative Algorithms is that all these geometries are easily adjustable after the process. Designer always has access to the elements of design product from start point up to details. Actually, since the design product is the result of an algorithm, inputs of the algorithm could be changed and the result would also be updated accordingly. It is now possible to digitally sketch a model and generate hundreds of variations of project by adjusting very basic geometrical parameters. It is also viable to embed the properties of material systems, fabrication constraints and assembly logics in parameters. It is also possible to respond to the environment and be associative in larger sense.

Parametric Curves and Surfaces


Algorithms for evaluating parametric curves
De Casteljau algorithm for evaluating cubic Bzier curves Named after its inventor, Paul De Casteljau, this algorithm evaluates Bzier curves using a recursive method. We will show the algorithm to find any point on the curve at parameter t using De Casteljau algorithm. We will need the following input: 4 points A, B, C, D t, which is a parameter on the curve within curve domain (0-1) And the Output: Point on curve that is at parameter t Solution steps: Find point AB Find point BC Find point CD Find point MN Find point NO Find point PQ M at t parameter on line N at t parameter on line O at t parameter on line P at t parameter on line Q at t parameter on line R at t parameter on line

Below is the definition to evaluate a parameter on a Bzier curve using DeCasteljau algorithm. Note that you can change t value between 0 and 1 to find points between the start and end of the Bzier curve.

Create Bezier curve

Evaluate points on a Bezier curve using De Casteljau algorithm

M.Azodinia, A.Mosavi, Computational Geometry Modeling, Generative Algorithms, Application to Modeling the Complex Geometry of Textiles, Reports of the faculty of Informatics, Scientific Computing, No. A/2011, University of Debrecen, Debrecen, 2011.

De Boor algorithm for evaluating NURBS curves DeBoors algorithm is a generalization of De Casteljau algorithm for Bezier curves. It is numerically stable and is widely used to evaluate a point on NURBS curves in 3D applications. The following is an example to evaluate a point on a degree 3 NURBS curve using DeBoors algorithm8. Input 7 control points P0 to P6 Knot vector: o u0 = 0.0 o u1 = 0.0 o u2 = 0.0 o u3= 0.25 o u4 = 0.5 o u5 = 0.75 o u6 = 1.0 o u7 = 1.0 o u8 = 1.0 Output: Point on curve that is at u=0.4 Solution steps: 1. Calculate coefficients for the first iteration: Ac = (u u1) / (u1+3 u1) = 0.8 Bc = (u u2) / (u2+3 u2) = 0.53 Cc = (u u3) / (u3+3 u3) = 0.2 2. Calculate points using coefficient data: A = 0.2P1 + 0.8P2 B = 0.47 P2 + 0.53 P3 C = 0.8 P3 + 0.2 P4 3. Calculate coefficients for the second iteration: Dc = (u u2) / (u2+3-1 u2) = 0.8 Ec = (u u3) / (u3+3-1 u3) = 0.3 4. Calculate points using coefficient data: D = 0.2A+ 0.8B E = 0.7B + 0.3C

5. Calculate the last coefficient Fc = (u u3)/ (u3+3-2 u3) = 0.6 6. Find the point on curve at u=0.4 parameter F= 0.4D + 0.6E

This is the definition to evaluate the u=0.4 parameter on a NURBS curve using DeBoors algorithm.

Evaluate a point on a NURBS curve using De Boor algorithm

NURBS surfaces
You can think of NURBS surfaces as a grid of NURBS curves that go in two directions. The shape of a NURBS surface is defined by a number of control points and the degree of that surface in each one of the two directions (u- and v-directions).

NURBS surface domain

M.Azodinia, A.Mosavi, Computational Geometry Modeling, Generative Algorithms, Application to Modeling the Complex Geometry of Textiles, Reports of the faculty of Informatics, Scientific Computing, No. A/2011, University of Debrecen, Debrecen, 2011.

NURBS surfaces can be trimmed or untrimmed. Trimmed surfaces use an underlying NURBS surface and closed curves to cut a specific shape of that surface. Each surface has one closed curve that defines the outer border (outer loop) and nonintersecting closed inner curves to define holes (Inner loops). A surface with an outer loop that is the same as that of its underlying NURBS surface and that has no holes is what we refer to as an untrimmed surface.

Trimmed NURBS surface

The surface on the left is untrimmed. The surface on the right is the same surface trimmed with an elliptical hole. Notice that the NURBS structure of the surface does not change when trimming.

Complex Geometry of Textiles; Utilizing Generative Design


Utilizing NURBS surfaces enhances you in creating any kind of surfaces. In this case study, few NURBS surfaces have been utilized to create different textile geometries. These geometries can be seen below:

NURBS surface covered by Plain Textile

L-shaped NURBS surface covered by Plain Textile

Sphere-shaped NURBS surface covered by Plain Textile

M.Azodinia, A.Mosavi, Computational Geometry Modeling, Generative Algorithms, Application to Modeling the Complex Geometry of Textiles, Reports of the faculty of Informatics, Scientific Computing, No. A/2011, University of Debrecen, Debrecen, 2011.

Blanket-shaped NURBS surface covered by the Plain Textile

of cylinder NURBS surface covered by Plain Textile

References
[1] Edward Angel, "Interactive Computer Graphics with OpenGL, Addison Wesley Longman, Inc., 2000. [2] G.E. Farin, Curves and Surfaces for CAGD, A Practical Guide, fifth ed., Morgan Kaufman Publishers, San Francisco, 1999. [3] James D Foley, Steven K Feiner, John F Hughes, "Introduction to Computer Graphics" Addison-Wesley Publishing Company, Inc., 1997. [4] James Stewart, "Calculus," Wadsworth, Inc, 1991. [5] http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/de-Boor.html

Вам также может понравиться