Archive for January, 2007

070131_Unroll Surfaces

Non-nested pattern (with obvious overlaps) of unrolled surfaces
(“le champ” project display panels)

Rhinoscript “Tips’n trick” :
Call Rhino.Command (CStr(“_UnrollSrf Explode=No Labels=No _Enter”), vbFalse)

In mathematics, a developable surface is a surface with zero Gaussian curvature. That is, it is surface that can be flattened onto a plane without distortion (i.e. stretching, compressing, tearing). Inversely, it is a surface that can be made by transforming a plane (i.e. folding, bending, rolling, cutting, and gluing).

The developable surfaces that can be realized in 3D space are:

cylinders and, more generally, the generalized cylinder: the cross-section can be any smooth curve
cones and, more generally, conical surfaces, away from the apex
(trivially:) planes, which can be viewed as a cylinder whose cross-section is a line
Spheres are not developable surfaces under any metric as they cannot be unrolled into a plane. The torus has a metric under which it is developable, but such a torus does not embed into 3D space. It can be realized in four dimensions.

Formally, in mathematics, a developable surface is a surface with zero Gaussian curvature. One consequence of this is that all developable surfaces embedded in 3D space are ruled surfaces (though hyperboloids are examples of ruled surfaces that are not developable). Because of this, many developable surfaces can be visualised as the surface formed by moving a straight line in space. For example, a cone is formed by keeping one end of a line fixed while moving the other end in a circle.

A surface on which the Gaussian curvature is everywhere positive. When is everywhere negative, a surface is called anticlastic. A point at which the Gaussian curvature is positive is called an elliptic point.


“POLYTOP” / Marc Fornes & theverymany

“Polytop” is a RANGE of a mass customized coffee tables: each table is different but similar without changing the cost of production: the generative automaton processs for each single entity is starting from the same base frame (according to material and standart sheet size); the code is first plotting a number of pts (according to user specifications) to create a pt cloud onto which is running a customized 2.5D Voronoi; here speculating further onto the use of Vornoi diagrams within the field of design, theverymany is looking at optimization within the production process (more of problem caring than problem solving): only 3 axis require for the CNC cut (though the use of a taper tool allows smoother transitions), reducion of the amout of cuts (each cut is used on both side of the line) and reduction of waste of material : within the production process, every cut out is used to produced an n+2 layer within the vertical section: with one sheet of material you can therefore produce at least 3 to 5 layers.


Etymology: the term “table” is derived from a merger of French table and Old English tabele, ultimately from the Latin word tabula, “a board, plank, flat piece”. In Late Latin, tabula took over the meaning previously reserved to mensa (preserved in Spanish mesa “table”). In Old English, the word replaced bord for this meaning.


The word polytope is used to mean a number of related, but slightly different mathematical objects.


A polygon whose interior consists of all points in the plane which are closer to a particular lattice point than to any other. The generalization to dimensions is called a Dirichlet region, Thiessen polytope, or Voronoi cell.



Those two drawings are part of a speculative research onto Voronoi and Arcs; the serie is looking beyond the trend of Voronoi diagrams and their most common graphical output as cellular aggragates (now used within every architectural school!); here encoded arcs are used to illustrate possible structural moments within each cell boundaries segments…


In Euclidean geometry, an arc is a closed segment of a differentiable curve in the two-dimensional plane; for example, a circular arc is a segment of a circle. If the arc segment occupies a great circle (or great ellipse), it is considered a great-arc segment.

The length of a circular arc of a circle with radius r and subtending an angle θ (measured in radians) with the circle centre, equals θr. For an angle α measured in degrees, the size in radians is given by (α/180°) × π, and so the arc length equals then (α/180°)πr.

Tips’n tricks : (ie: David Rutten’s Rhinoscript101 on Arc)

Function AddArcDir(ByVal ptStart, ByVal ptEnd, ByVal vecDir)
AddArcDir = Null
Dim vecBase : vecBase = Rhino.PointSubtract(ptEnd, ptStart)
If Rhino.VectorLength(vecBase) = 0.0 Then Exit Function
If Rhino.IsVectorParallelTo(vecBase, vecDir) Then Exit Function
vecBase = Rhino.VectorUnitize(vecBase)
vecDir = Rhino.VectorUnitize(vecDir)
Dim vecBisector : vecBisector = Rhino.VectorAdd(vecDir, vecBase)
vecBisector = Rhino.VectorUnitize(vecBisector)
Dim dotProd : dotProd = Rhino.VectorDotProduct(vecBisector, vecDir)
Dim midLength : midLength = (0.5 * Rhino.Distance(ptStart, ptEnd)) / dotProd
vecBisector = Rhino.VectorScale(vecBisector, midLength)
AddArcDir = Rhino.AddArc3Pt(ptStart, ptEnd, Rhino.PointAdd(ptStart, vecBisector))
End Function


“LE CHAMP” is a study for a small gallery for architecture in NYC; within the host of that SOM project with a very low budget and a tight scheddule, marc fornes & theverymany is investigating the notion of field and distributed design.

In order to challenge a program requiring a certain flexibility and still argue with the Modern notion of “open space”, theverymany is following a trend defined in the 90’s by people such as Greg Lynn who argues -in his book “Animate forms”- that boat hulls design is driven towards performances within very different types of sea and streams without actually using mechanical devices to change their morphologies…
though, since the argument is less valide as himself is challenging his students toward “Gigantic robots” and racing boats do integrate mechanical changes like the wings of some US military air fighters…
to be totally obsolete within the teswting field, those planes are actually looking at technology abble to mutate -material with memory- instead of shifting…

from “animate” rules, to shift in morphology, to mutate… back for the purpose of the exercice (lacking of US army budget and time frame developpment) to “animate” as a possible result of differnet forecast, the flow -within “LE CHAMP”- has been the most litterally expressed via a field vectors, actual device support for presentation panels which should be simply laser-cut onto a full spectrum of colored acrylic panels.

project protocol written in rhinoscript (rhino v4.0)

In mathematics a VECTOR FIELD is a construction in vector calculus which associates a vector to every point in a Euclidean space.

Vector fields are often used in physics to model for example the speed and direction of a moving fluid throughout space, or the strength and direction of some force, such as the magnetic or gravitational force, as it changes from point to point.

In the rigorous mathematical treatment, (tangent) vector fields are defined on manifolds as sections of the manifold’s tangent bundle.

A FIELD LINE is a locus that is defined by a vector field and a starting location within the field. A vector field defines a direction at all points in space; a field line may be constructed by tracing a path in the direction of the vector field.

Field lines are useful for visualizing vector fields, which consist of a separate individual vector for every location in space. If the vector field describes a velocity field, then the field lines follow stream lines in the flow. Perhaps the most familiar example of a vector field described by field lines is the magnetic field, which is often depicted using field lines emanating from a magnet.

A complete description of the geometry of all the field lines of a vector field is exactly equivalent to a complete description of the vector field itself.

Field lines can be used to trace familiar quantities from vector calculus: divergence may be seen as a net geometric divergence of field lines away from (or convergence toward) a small region, and the curl may be seen as a helical shape of field lines.

While field lines are a “mere” mathematical construction, in some circumstance they take on physical significance. In the context of plasma physics, electrons or ions that happen to be on the same field line interact strongly, while particles on different field lines in general do not interact.

A vector field is a map f:R^n|->R^n that assigns each x a vector function f(x). In French, a vector field is called “un champ.” Several vector fields are illustrated above. A vector field is uniquely specified by giving its divergence and curl within a region and its normal component over the boundary, a result known as Helmholtz’s theorem (Arfken 1985, p. 79).

Flows are generated by vector fields and vice versa. A vector field is a tangent bundle section of its tangent bundle.

RHINOSCRIPTING: “tips’n tricks: or where to start from for rhinoscript beginners”

Option Explicit
‘code written by David Rutten ( within RhinoScript101_e
‘This script will compute a bunch of cross-product vector based on a pointcloudVectorField()
Sub VectorField()
Dim strCloudID
strCloudID = Rhino.GetObject(“Input pointcloud”, 2, True, True)
If IsNull(strCloudID) Then Exit Sub
Dim arrPoints : arrPoints = Rhino.PointCloudPoints(strCloudID)
Dim ptBase : ptBase = Rhino.GetPoint(“Vector field base point”)
If IsNull(ptBase) Then Exit Sub
Dim i
For i = 0 To UBound(arrPoints)
Dim vecBase vecBase = Rhino.VectorCreate(arrPoints(i), ptBase)
Dim vecDir : vecDir = Rhino.VectorCrossProduct(vecBase, Array(0,0,1))
If Not IsNull(vecDir) Then vecDir = Rhino.VectorUnitize(vecDir) vecDir = Rhino.VectorScale(vecDir, 2.0)
Call AddVector(vecDir, arrPoints(i))
End If
End Sub

Function AddVector(ByVal vecDir, ByVal ptBase)
On Error Resume Next
AddVector = Null
If IsNull(ptBase) Or Not IsArray(ptBase) Then
ptBase = Array(0,0,0)
End If
Dim ptTip
ptTip = Rhino.PointAdd(ptBase, vecDir)
If Not (Err.Number = 0) Then Exit
Function AddVector = Rhino.AddLine(ptBase, ptTip)
If Not (Err.Number = 0) Then Exit Function
If IsNull(AddVector) Then Exit Function
Call Rhino.CurveArrows(AddVector, 2)
End Function

very similar to “look at constraint”…


FEIDAD.ORG: The committee for the 2006 Far Eastern International Digital Architectural Design Award (The 2006 FEIDAD Award) has created this award to encourage the exploration and definition of architectural design in the digital electronic age.

THEVERYMANY – as a .net blog – is an open source and collaborative exploration platform investigating the field of computation and design. Proposed as a succesion of experiments via processes of precise indetermination using encoded custom tools (developped within rhinoscripting), is build as an non exhaustive library of computational tools. All the different renders presented are illustrating digital models which are 100% encoded/scripted; NO LINES ARE DRAFTED…

CODE AS MATERIAL – Sample codes and scripting tips’n tricks are proposed for users for hybridation, customization and uses. As within every bottom up processes and collective intelligence, feed back are highly welcome…


MARC FORNES – Architect DPLG – is the founder of THEVERYMANY,, a design studio and collaborative research forum engaging the field of architecture via encoded and explicit processes. In 2004 he graduated with a Master of Architecture and Urbanism from the Design Research Lab of the Architectural Association in London after having previously studied in France and Sweden. Marc’s work experience in La Reunion, France, and UK includes Zaha Hadid Architects, where he was the project architect, from competition to tender documentation, for an experimental Mediatheque in Pau. During his three years on this project he directed the material research and geometrical development for the largest self-supported carbon fibre shell to date. Marc has led workshops and appeared as a guest critic at the Architectural Association, The Royal College of Art, and the University of Pennsylvania. He continues developing his research and blog in New York City.

%d bloggers like this: