WO2007119065A2 - Data processing method and system - Google Patents

Data processing method and system Download PDF

Info

Publication number
WO2007119065A2
WO2007119065A2 PCT/GB2007/001411 GB2007001411W WO2007119065A2 WO 2007119065 A2 WO2007119065 A2 WO 2007119065A2 GB 2007001411 W GB2007001411 W GB 2007001411W WO 2007119065 A2 WO2007119065 A2 WO 2007119065A2
Authority
WO
WIPO (PCT)
Prior art keywords
points
curve
cells
point
determining
Prior art date
Application number
PCT/GB2007/001411
Other languages
French (fr)
Other versions
WO2007119065A3 (en
Inventor
Shrikant B. Sharma
Ian Liddell
Original Assignee
Buro Happold Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Buro Happold Limited filed Critical Buro Happold Limited
Priority to GB0900481A priority Critical patent/GB2454626A/en
Publication of WO2007119065A2 publication Critical patent/WO2007119065A2/en
Publication of WO2007119065A3 publication Critical patent/WO2007119065A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Definitions

  • This invention relates to a data processing system and method.
  • Modern building structures often include unusual three-dimensional shapes for part or all of the structure.
  • the three-dimensional part can include, for example, doubly curved surfaces.
  • the three-dimensional part must generally be designed before being included in the plans for the structure .
  • a doubly curved surface is a three-dimensional surface which appears curved, not flat, when following any direction along a surface.
  • a cylinder is not a doubly curved,,, surface as when following the axial direction along the surface, the surface appears flat, not curved, and a straight line is followed.
  • CAD techniques typically involve providing a mechanism by which an architect or a designer defines a curve using a set of points, and a surface using a set of curves.
  • the CAD software internally stores the curve arid surface models as . parametric mathematical equations.
  • the computer ' model then gets passed onto engineers who, working with the architects, define the physical layout, materials and properties of the structure that will provide and support the form of the three- dimensional surface, scaled as appropriate. This process is usually complex, and iterativeiy passed between- the engineers- and- architects- untiha- final- strueture-plan-is- agreed upon.
  • the engineers focus on coming up with a physical structure that is possible to construct, not necessarily conforming to the form of the three-dimensional surface that the architect specified. For instance, if an architect specifies an ellipsoidal form for a roof that is to be built out of timber, the engineer might start with a fiat timber grid. The engineer would then raise the grid in the centre, resulting in a grid-shell that is approximately of the ellipsoidal form intended. Similarly, if the architect specifies a doubly-curved glass facade that is to be build out of flat 4-sided panels, one solution chosen by the engineers would be to use a 'translated arch' method, described below, to provide a shape close to or approximating the architect's intended form. In the majority of cases, the methods used lead to a great degree of simplification and deviation from the form provided by the architect, and also result in a large number of iterations and inefficiencies and wastage associated with them.
  • a piecewise linear curve is specified.
  • a piecewise linear curve is a 'curve' which is made up of a number of short straight lines.
  • the specified curve is translated along a spine curve which is also piecewise linear, resulting in a piecewise flat approximation to a doubly curved three-dimensional surface which is made up of flat 4-sided panels.
  • This method limits flexibility as the form of the three-dimensional surface is a direct result of the translation.
  • the designer or engineer can vary the transjated curve and spine curve but does not have complete freedom over the final form.
  • Figure 1 shows an example of a three-dimensional surface 10 produced using the translated arch method.
  • a first piecewise linear curve 12 is specified. This is then translated along a second piecewise linear curve 14.
  • the resulting surface 10 comprises a plurality of flat 4-sided panels 16.
  • a method of determining points on a three-dimensional surface comprising determining a- plurality of first points on a first curv ⁇ on the surface, determining a plurality of second points on a second curve on the surface and dete ⁇ runing a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise at least two points from the plurality of first points, the plurality of second points and/or the set of further points.
  • a user may specify virtually any three-dimensional surface and embodiments of the invention provide a plurality of points on the surface. These points may be converted to panels with corners at the points, or grid shell members with ends at the points, which can then be constructed. Embodiments of the invention therefore determine a buildable structure which corresponds to virtually any three-dimensional surface, with little or no deviation from the surface specified by the user.
  • Figure 1 shows a three-dimensional surface generated using the known translated arch , method
  • FIG. 2 shows a process of converting a three-dimensional surface to a plurality of cells according to embodiments of the invention
  • Figure 3 shows process of defining a plurality of cells according to embodiments of the invention
  • Figure 4 shows an example of a three-dimensional surface with a starting point
  • Figure 5 shows an example of a three-dimensional surface with generating curves passing through the starling point
  • Figure 6- shows an example of a parametric representation of a curve
  • Figure 7 shows an example of a parametric representation of a three-dimensional surface
  • Figure 8 shows an example of a three-dimensional surface where a number of points have been identified on the generating curves
  • Figure 9 shows an example of a three-dimensional surface where a number of further curves have been determined, passing through some of the points on the generating curves
  • Figure 10 illustrates an example of a process for finding a fourth point in a cell from three other points
  • Figure 11 shows a three-dimensional surface that has been completely converted into cells according to embodiments of the invention.
  • Figure 12 shows an example of cell merging according to embodiments of the invention
  • Figure 13 shows an example of a cell
  • Figure 14 shows an example of a non-planar cell
  • Figure 15 shows an example of another three-dimensional surface with a starting point, generating curves, points on the generating curves, further curves passing through some of the points on the generating curves, and further points defined on the further curves;
  • Figure 16 shows an example of another three-dimensional surface with a starting point, generating curves, points on the generating curves, and further curves passing through some of the points on the generating curves;
  • Figure 17 shows an example of the three-dimensional surface of figure 16- when converted into cells according to embodiments of the invention.
  • Figure 18 shows an example of the three-dimensional surface of figure 16 when converted into cells according to embodiments of the invention
  • Figure 19 shows an example of the three-dimensional surface of figure 16 when converted into cells according to embodiments of the invention
  • Figure 20 shows an example of a three-dimensional surface where curves of intersection are defined, on the surface
  • Figure 21 shows an example of a three-dimensional surface that has been converted into cells according to embodiments of the invention.
  • Figure 22 shows a process for defining a plurality of cells according to embodiments of the invention
  • Figure 23 illustrates an example of a process for defining a fourth point in a cell from two or three other points
  • Figure 24 shows an example of a three-dimensional surface that has been converted into cells according to embodiments of the invention.
  • Figure 25 shows an example of 4-sided cells which have been divided into triangular cells using triaxial mapping
  • Figure 26 shows an example of a grid shell structure constructed from grid shell members defined according to embodiments of the invention.
  • Embodiments of the invention provide a method of converting any three-dimensional surface, including doubly curved surfaces, into a design of a structure.
  • the structure can then " be constructed according to the design to produce a structure having substantially the same shape as the three-dimensional surface.
  • Figure 2 shows a flow chart of steps which are undertaken by software implementing a method according to embodiments of the invention.
  • Ih step 20 a definition, description or representation of the three-dimensional surface is obtained. This is predetermined by a designer of a structure, or a part of the structure which is to conform to the three-dimensional surface.
  • the three-dimensional surface is preferably specified using NURBS (Non-Uniform Rational B-Splines), an industry standard for representation of curves and three-dimensional surfaces. Further information on NURBS can be found in Farin, G. "Curves and surfaces for computer aided geometric design", 3rd Edition, Academic Press, USA, 1992 and Mortenson, M.E. "Geometric modelling", 2nd Edition, Wiley Computer Publishing, New York, 1997. These references are incorporated herein by reference in their entirety for all purposes. Other representations of a three-dimensional surface e.g. Bezier, Hermite- Spline, etc. are possible.
  • the definition, description or representation of the three-dimensional surface may be obtained, for example, from CAD (computer-aided design) software, such, as IGES, DXF and RMno 3DM.
  • CAD computer-aided design
  • a user may be able to design a three-dimensional surface using software according to embodiments of titie invention.
  • step 22 which follows from step 20, the three-dimensional surface is converted into a plurality of cells as described in more detail below.
  • step 24 which follows from step 22, the software outputs cell data which, contains information about the cells found in step 22.
  • step 22 of converting the three-dimensional surface into a plurality of cells is shown in more detail in the flow chart of figure 3.
  • a point is chosen on the three-dimensional surface. This is done by the user, for example, by the user graphically choosing a point on a computer screen. Alternatively, the point can be chosen by the software, and can be, for example, the highest point on the three- dimensional surface, a corner, a randomly chosen point or any other point.
  • the position of the point chosen in step 30 may have some impact on the cells produced, such as, for example, the number, size, shape and/or planarity of the cells.
  • Figure 4 shows an example of a three-dimensional surface 32. A point 34 on the surface 32 has been chosen in step 30.
  • step 36 which, follows from step 30, first and second generating curves are determined which pass through the point 34 chosen in step 30.
  • Generating curves are curves of a type specified by user of the software which lie on the three-dimensional surface. Examples of types of curve include, among others, lines of curvature, geodesic curves and curves of intersection between the three- dimensional surface and a plane.
  • Figure 5 shows the surface 32 with two example generating curves 38 and 40 passing through the point 34.
  • the generating curves 38 and 40 are the two lines of curvature through the point 34.
  • the two generating curves do not have to be the same type of curve.
  • each of these curves has a curvature at the point 34.
  • the curvature of one of the curves at the point 34 has a magnitude equal to the reciprocal of the radius of an osculating circle (a circle that "kisses" or closely touches the curve at the given point), and is a vector pointing in the direction of that circle's centre. It can be appreciated that at the point 34, the osculating circle and the curve share a common tangent. It can be appreciated that for straight lines, the radius of the osculating circle is infinity and therefore the curvature is zero. The value of the curvature may vary along the curves. However, only the value at the point 34 is considered.
  • the tangents to the surface 32 at the point 34 which lie in the plane, when the plane is at positions corresponding to maximum and minimum curvatures, are called the principal directions.
  • the principal directions are normal (i.e. at right angles) to each other.
  • a line of curvature is a line on a three-dimensional surface which always follows one of the principal directions.
  • Curves can be described mathematically in non-parametric and parametric forms.
  • a non-parametric curve usually the coordinates y and z of a point on the curve are expressed as two separate functions of the third coordinate x as the independent variable.
  • a parameter u is introduced and the coordinates (x, y, z) are expressed as functions of u.
  • C(u) is an expression of a parametric curve C(u):
  • C(u) thus gives a vector from the origin to a point on the curve, and is therefore a vector- valued function.
  • Figure 6 shows an example of a parametric representation of a curve 60.
  • the value of C(u) is a vector 62 from the origin 64 to a point 66 on the curve 60.
  • the parametric representation of a three-dimensional surface (such as the surface 32 shown in figure 4) is a vector valued function P(u, v) of two variables, or parameters, u and v:
  • Figure 7 shows an example of a parametric representation of a surface 70.
  • the value of P(u, v) is a vector 72 from the origin 74 to a point 76 on the surface 70.
  • NURBS is a further representation of a three-dimensional surface which can be used with the present invention. Other representations of three-dimensional surfaces can be used with the present invention.
  • the arc length s of a curve between points P(M 1 ) and P(M 2 ) is given by:
  • the surface normal vector at a point on the surface is given by the following expression in terms of the tangent vectors P" and P v :
  • Any curve C(t) mapped on the three-dimensional surface as P(u(t), v(t)) (with t as the parameter) may or may not have, at a given point on the curve, a principal normal vector which is the same as the surface normal vector at that point.
  • the curvature of a curve lies along the curve's principal normal vector.
  • the curvature of the curve C(f) can therefore be split into two components: normal curvature fa (along the surface normal N) and geodesic curvature k g (along a tangential component n g to the curve).
  • the first fundamental form is associated with the arc length s of a curve on the surface:
  • E P u • P"
  • F P" • P v
  • G P v • P v
  • ⁇ and v are first derivatives of the surface parameters u(t) and v(t) with respect to the curve parameter t.
  • the second fundamental form is associated with the normal curvature of a surface curve:
  • the normal curvature fa depends only on the direction of the curve at the. point considered, and is the same for all curves tangent at that point. If a curve is a curve of intersection between a three-dimensional surface and a plane containing the surface normal N , then kg is zero. From equations (8) and (9), and rearranging [Mortenson], the principal curvature values h and k 2 are found to be the roots of the following equation:
  • the principal direction vectors (denoted S 1 and J 2 ) at a point on the surface are orthogonal to each other and both lie in a single plane tangent to the surface at that point.
  • the principal direction vectors can therefore be specified as an angle ⁇ from a reference direction, as other information about H 1 and d 2 can be derived from the tangent plane. Since the two tangent vectors P u and P v are not necessarily orthogonal, another reference direction must be used to achieve an orthonormal frame.
  • a set of reference vectors U 1 and e 2 is used, given by:
  • equation 12 provides both principal direction vectors S 1 and d 2 . Further information can be found in Gallier, J. H. "Geometric methods and applications for computer science and engineering", Dept of Computer and Information Science, University of Pennsylvania, USA, 2000 which is incorporated herein by reference in its entirety for all purposes.
  • An algorithm to calculate principal curves over a surface through the point 34 chosen in step 30 above can be implemented as follows, although other implementations are possible. Firstly, one of the principal direction vectors d x or d 2 is calculated. Next, a new point is determined on the surface a small increment in this direction from the point 34. The new point lies substantially on the line of curvature. The process is then repeated from the new point, finding the next point substantially on the line of curvature, until the edge of the surface is reached. The entire line is found by repeating the process from the point 34 and incrementing in the opposite direction. Ih this way, a line of curvature is calculated across the surface. An orthogonal line of curvature can be found by repeating the process and following the other principal direction.
  • the lines of curvature can be determined by solving the differential equations that define them:
  • the two differential equations resulting from equation 16 can be numerically solved to find points on the lines of curvature.
  • magnitudes of the maximum and minimum curvatures are equal.
  • the principal directions ' may therefore be undefined.
  • Umbilical points can occur, for example, over a planar or spherical region on a three- dimensional surface.
  • embodiments of the present invention decide to extend the curve "straight ahead", for example along a geodesic direction, until a non- umbilical point is found. When the non-umbilical point is found, embodiments of the present invention continue to find points on the line of curvature.
  • first and second generating curves 38 and 40 through the point 34 on the surface 32 have been determined in step 36, further points are defined on the first and second generating curves 38 and 40 in step 80.
  • a plurality of first points 82 is defined on the first generating curve 38
  • a plurality of second points 84 is defined on the second generating curve 40. Therefore, on each of the generating curves 38 and 40, there are a plurality of points including the first point 34.
  • the points defined on a curve in step 80 are preferably equally spaced along the curve, and preferably are spaced apart by approximately the desired length of a side of a cell on the three-dimensional surface.
  • the cells on the three-dimensional surface correspond to panels and/or grid shell members of a structure constructed according to the three-dimensional surface. The spacing of the points may be in terms of, for example, the straight Line distance between the points or the length of the curve between the points.
  • step 86 which follows from step 80, a plurality of further curves is defined through the points defined oh one of the generating curves in step 80.
  • further curves 90 passing through the points 84 on the second generating curve 40 are determined. These curves are preferably lines of curvature, although in alternative embodiments one or more types of curve may be used. Only a small number of further curves 90 are shown in figure 9. However, each of the points 84 has a further curve 90 passing though it.
  • step 92 which follows from step 86, a plurality of cells are determined on the three-dimensional surface 32.
  • Cells are polygons (although not necessarily planar polygons) which, when put together or assembled, correspond substantially to the three-dimensional surface.
  • One example of a process for determining cells on the three-dimensional surface 32 is as follows. For three adjacent points determined in steps 30 or 80 in figure 3, a fourth point is determined, thus making a four-sided cell with corners at the four points.
  • the three adjacent points must not all lie on or substantially on a single curve. Therefore, at least two of the points must lie on or substantially on different curves in a first set of curves, where the first set of curves comprises the curves 38 and 90.
  • the three adjacent points comprise the first point 34, one of the points 82 on the first generating curve 38, and one of the points 84 on the second generating curve 40. These three points 34, 82 and 84 lie in a single plane.
  • this plane intersects a curve determined in step 86 (hi the example shown hi figure 10, this curve is the further curve 90 which passes through the point 84), the fourth point 100 is defined.
  • a cell is determined with corners at the points 34, 82, 84 and 100.
  • the fourth point 100 can now be used as one of the three adjacent points for finding a fourth point of a further cell.
  • a fourth point can be found where the three adjacent points are the point 100 and two of the points 82 on the first generating curve 38.
  • a fourth point can also be found where the three adjacent points are the point 100 and two of the points 84 on the second generating curve 40.
  • These new points can also be used to find further fourth points in further cells, and so on until the entire surface has been converted into cells.
  • triangular cells can be used so as to avoid a jagged edge.
  • FIG 11 shows an example of the surface 32 when converted into cells using the above described method.
  • Each of the cells comprises a plane.
  • This is particularly useful when, for example, a structure is constructed conforming substantially to the shape of the three-dimensional surface and where the cells are replaced by panels, for example panels of glass.
  • Planar panels are less costly than non-planar panels and therefore the resulting structure is less costly to construct, and panels in the structure are less costly to replace.
  • planar glass panels can be distorted slightly (for example, a few degrees out of plane) to form non-planar glass panels, the panels may be under strain and therefore may be less desirable in a structure than planar glass panels.
  • Each cell comprises corners at four points. These points are further points, although some cells have points on the first generating curve, and some cells have points on the second generating curve (the starting point is considered to be a point on both the first and second generating curves).
  • a bidirectional grid has been defined on the three- dimensional surface.
  • a bidirectional grid is a grid comprising two sets of curves, where curves from one set cross lines of the other set, and vice versa.
  • the cells are optimised in step 110.
  • Optimisation of the cells recognises that there can be a density variation (and therefore also a size variation) of the cells across the surface.
  • the cells in a first region 112 are generally larger than cells in a second region 114 across the surface. Therefore, the density of the cells is lower in the first region 112 and higher in the second region 114.
  • Certain cells in the second region 114 can be merged and/or rearranged to make larger cells, so that there is a more uniform density variation of cells across the surface.
  • a surface has a first region 120 containing a number of cells.
  • the cells in a second region 122 would have a higher density than those in the first region 120. Therefore, groups of three consecutive cells have been merged to form two cells.
  • the three cells ⁇ 24 in the first region 120 would be adjacent to three cells in the second region i22 without optimisation. Instead, they are adjacent to two larger cells 126 in the second region 122 after optimisation.
  • cells in the third region 128 are merged in the same way as cells in the second region 122 to form merged cells.
  • pairs of merged cells are merged to make one larger cell. For example, a pair of cells 130 in the second region 122 is adjacent to a larger cell 132 in the third region 128.
  • the quality of the cells is calculated in step 136.
  • a number of quality parameters can be calculated, including shear angle, aspect ratio, warp angle, offset and warp factor. - ⁇ - ⁇
  • each four-sided cell To reduce the cost of the structure to be constructed, especially if panels such as glass panels are to be used, it is desirable for each four-sided cell to have the following properties:
  • - shear angle (deviation of corner angles from 90°) is as smali as possible aspect ratio (ratio of the longest side to the shortest side) as close to 1 as possible - warp angle (the degree of distortion of the cell out of a plane) is as small as possible, and preferably 0°
  • - offset distance of a point, or corner, of a cell from the plane defined by the other three points in the cell
  • Figure 13 shows a typical four-sided cell with four corner points p ⁇ , p%, p $ and j? 4 .
  • the internal angle of these points is ⁇ ⁇ , ⁇ 2 , # 3 and # 4 respectively.
  • the vector from point pi to pointy is an, from/?2 top 3 is ⁇ 23s from /J 3 top 2 is ⁇ 32 and so on.
  • the shear angle can be calculated as:
  • the warp angle is calculated as:
  • the warp angle is the angle between the two planes defined by the four points of a cell.
  • Figure 14 shows a cell which is non-planar.
  • a first plane is defined by points p ⁇ , P 2 and pi,.
  • a second plane is defined by points p 2j Pi and JP 4 .
  • the warp angle is the angle a between the first and second planes as shown.
  • the warp factor is calculated as:
  • any one or more of the above quality parameters may be calculated in step 136.
  • step 138 which follows from step 136, a user decides whether or not the three- dimensional surface has been mapped into acceptable cells. This can be done, for example, by inspecting the quality parameters calculated in step 136 for each of the cells, or for the "worst case" cell or cells hi the plurality of cells (i.e. the cell or cells which have the worst quality parameters). Additionally or alternatively, the user can be presented with a graphical display of the cells, similar to that shown in figure 11. The user can then visually inspect the cells, which may include interacting with the cells, for example by rotating the point of view. If the user decides that the quality is acceptable, the process shown in figure 3 ends.
  • the process returns to step 30.
  • the user will then be able to alter one or more factors that affect the cells, such as, for example, the type or types of curve used and/or the position of the starting point 34, in an attempt to produce a more acceptable plurality of cells. Additionally or alternatively, the factors may be altered automatically.
  • Certain steps in the process shown in figure 3 may be optional, for example the step 110 of optimising the cells, and/or the step 136 of calculating quality parameters of the cells.
  • Figure 15 shows another example of a tiiree-dimensional surface 140.
  • a first point 142 has been chosen in step 30 (shown in figure 3).
  • First and second generating curves 144 and 146 (which are lines of curvature) have been defined in step 36.
  • points 148 have been defined in the first curve 144
  • points 150 have been defined on the second curve 150.
  • further curves 152 have been defined passing through the points 150 on the second curve 146, and are also lines of curvature.
  • the surface 140 shown in figure 14 also shows points 154 on the further curves 152. The points 154 are found in step 92 when determining cells on the surface 140, such as a cell 156.
  • Figure 16 shows an example of a portion of a three-dimensional surface 160.
  • a first point 162 is defined in step 30.
  • a first generating curve 164 is defined in step 36 with a plurality of points 166 defined thereon in step 80.
  • a second generating curve 168 is defined in step 36 with a plurality of points 170 defined thereon in step 80.
  • a plurality of further curves 172 are defined in step 86 which pass through the points 170.
  • Figure 17 shows the cells defined in step 92 in the area 174 below the first and second generating curves 164 and 168 on the surface 160. Other cells are not shown for clarity purposes.
  • the area has been converted into a small number of cells 176, some of which are relatively large. This is because the conversion of the surface into cells requires that the cells are planar.
  • the step 92 of determining cells on the surface therefore finds only a small number of points where the plane defined by three adjacent points intersects one of the further curves 172.
  • Certain embodiments of the present invention recognise that panels in a structure, including glass panels, can undergo a small amount of out-of-plane bending, so that they are slightly non-planar cells. It is therefore not necessary that the cells defined in step 92 are strictly planar. Therefore, in certain embodiments of the invention, the user is able to specify that the cells need not be strictly planar. For example, embodiments of the invention allow the user to specify that in step 92, for three adjacent points, a fourth point is determined where the plane defined by the three adjacent points passes within a predetermined distance (for example, a distance specified by the user) of one of the further curves defined in step 86 of figure 3.
  • a predetermined distance for example, a distance specified by the user
  • the user may, for example, specify the predetermined distance in a number of ways, such as, for example, by specifying the predetermined distance itself, or by specifying a maximum value for the warp angle, offset or warp factor calculated in step 136 of figure 3.
  • the user may specify a maximum warp angle (see equation 19 above), and the software according to embodiments of the invention will iteratively search for a panel which has a size closest to the desired size.
  • the iterative procedure begins by mapping the fourth point at the desired distance from the known points on the generating curves.
  • the property (eg warp angle) of the resulting panel is then determined and checked if it is within the acceptable limits. If not, the process is repeated by searching the fourth point in the neighbourhood of the one already determined.
  • Figure 18 shows the area 174 on the surface 160 which has been mapped such that slightly non-planar cells have been determined. Comparing this to figure 17, it can be appreciated that the panels in figure 18 are of a more acceptable; more uniform size and are more uniformly distributed across the area 174.
  • the cells are determined in step 110 of figure 3 such that they have corners at intersection points where two sets of curves intersect on the three-dimensional surface. Therefore, for example, in step 86, a first set of curves is defined passing through points on the second generating curve as above. However, in addition, a * second set of curves is also defined in step 86, passing through points on the first generating curve defined in step 80.
  • the first and second sets of curves are lines of curvature, and intersect at right angles to each other. Intersection points are defined at the points where the curves intersect.
  • the cells determined in step 110 are therefore cells with corners at the intersection points and points defined in steps 30 and 80, and the edges of the cells are straight lines between the points.
  • the area 174 on the surface 160 of figure 16 has been converted to cells which have corners at intersection points. It can be appreciated that the cells have a more uniform size and shape to those cells shown in figure 18. This method however may produce cells with a larger warp angle, offset and/or warp factor than other methods described. However, the warp angle, offset and/or warp factor may still be within acceptable limits.
  • one or more of the generating curves and/or one or more of the further curves defined in step 36 and/or step 86 are not lines of curvature.
  • one or more of the curves defined in step 36 and/or 86 comprise a line of intersection between the surface and a plane.
  • figure 20 shows a side view of the surface 140 of figure 15.
  • steps 30, 36, 80 and 86 of figure 3 a plurality of curves 190 are defined on the surface.
  • Each curve 190 is a curve of intersection between the surface 140 and a vertical plane.
  • the planes forming the curves 190 are, in the example shown, equally spaced parallel planes, although in certain embodiments the planes need not be equally spaced and/or parallel.
  • the second generating curve defined in step 36 may be any type of curve such as, for example, a line of curvature or a curve of intersection with a further vertical plane.
  • the points defined on the second curve in step 80 are points where the second curve intersects one of the vertical planes (i.e. points where the second curve intersects one of the curves 190).
  • the surface 140 may then be converted into cells using the remaining steps 92, 110 and 136 of figure 3 as above, or by any other method according to embodiments of the invention.
  • a planar curve can be mapped onto a three-dimensional surface by simultaneously solving the equation of the surface (see equation 2 above) with that of a plane.
  • the equation of a plane is given by
  • d is the direction vector along the plane normal and through the origin.
  • cells near one of the ends 192 may be large compared to cells in other areas of the surface. Additionally or alternatively, for example, the aspect ratio of one or more cells may be considerably larger or smaller than the desired value (for example 1), and/or other quality parameters may lie outside of acceptable limits. Therefore, in order to make the cells of a comparable size across the surface 140, and/or to improve the quality parameters ofat least some of the cells, the vertical planes making the curves 190 may be unequally spaced, and spaced closer together towards the ends 192 of the surface 140.
  • Figure 21 shows the surface 140 converted into cells where the vertical planes are closer together towards the ends 192. Large cells occurring towards the ends 192 are avoided. However, the density of the cells is high around the ends 192.
  • At least some of the curves defined in step 36 and/or 86 are isoparametric curves.
  • const a series of bidirectional curves is generated, which are the isoparametric curves.
  • Other examples of isoparametric curves might include, for example, circles along the smaller and larger circumferences of a torus.
  • one or more the curves defined in step 36 and/or 86 comprise a geodesic curve.
  • a geodesic curve is a curve that follows the shortest distance on the three-dimensional surface between two points on the surface. In other words, a geodesic curve goes "straight ahead" without deviating from its path on the surface.
  • a characteristic of the geodesic curve is that the geodesic curvature k g is zero everywhere.
  • one or more of the curves defined in step 86 comprise a "parallel curve” which is "parallel" to another curve on the three-dimensional surface (such as, for example, one of the generating curves or another one of the further curves).
  • a parallel curve is a derived curve, in that it is derived from another curve.
  • a parallel curve is formed on the three-dimensional surface by taking a copy of another curve on the three-dimensional surface, translating it in space, and then projecting it onto the three-dimensional surface.
  • a parallel curve parallel to a first curve (which can be any curve on the surface, such as a generating curve or a further curve) are as follows:
  • the local first curve point a starting point on the first curve
  • the local parallel curve point a point on the surface which is to be the corresponding point on the parallel curve
  • the local parallel curve point a point on the surface which is to be the corresponding point on the parallel curve
  • the local parallel curve point a point on the surface which is to be the corresponding point on the parallel curve
  • the local parallel curve point a point on the surface which is to be the corresponding point on the parallel curve
  • the process may also be repeated, but moving in the opposite direction, so that a full curve is formed which extends between two edges of the surface (although the two edges may be the same edge for certain curves).
  • the local normal vector n on the surface is given by equation 5 above.
  • the local first curve tangent (a vector) is given by:
  • P 1 is the local first curve point that is being considered.
  • equal mesh net generation (also called draping) is used to define cells on the three-dimensional surface.
  • Equal mesh net generation defines cells where edges of the cells correspond substantially to fibres of a fabric which is theoretically forced to conform to tie three-dimensional surface.
  • the cells always have edges of fixed (i.e. predetermined) lengths.
  • Figure 22 shows a flow chart of a process of converting a three-dimensional surface into cells using equal mesh net generation. Where steps are the same as those shown in figure 3, they are given the same reference numerals.
  • the steps 30, 36 and 80 are carried out to define a plurality of points on first and second generating curves on the surface.
  • the points on any one curve are preferably equally spaced such that the cells produced have equal length sides.
  • Step 210 follows from step 80.
  • Ih step 210 a plurality of further points is defined on the three-dimensional surface. This is illustrated in figure 23, which shows a part 230 of a three-dimensional surface.
  • Three adjacent points (from the points determined in step 30 or 8 ' O) are considered (referred to as PQ S0 , P o>1 and P 1; o) and a further point ' (referred to as a fourth point Pi ; i) is defined as follows.
  • the adjacent points P OjO and PQ 3 I have a fixed separation distance, being the length of one of the edges of each cell.
  • the adjacent points Po , o and Pi ; o will also have a fixed separation distance, being the length of another of the edges of each cell.
  • Two spheres are considered, one having its centre at Po,i and a radius of the distance between the points Po,o and P 0) l.
  • the other sphere has its centre at P 1;0 and a radius of the distance between the points P o, o and Pi,o.
  • the spheres intersect to form a circular curve of intersection 236.
  • the circular curve will intersect the three-dimensional surface 230 at two points. One of these points will be substantially at the point Po , o-
  • the other will be the fourth point, denoted P 1 ⁇ . Because the fourth point is determined where the circular curve of intersection intersects the three-dimensional surface, the fourth point P 1 ⁇ 1 will always be a fixed distance from the point P 1 ⁇ and a fixed distance from the point P 0;1 .
  • step 212 which follows from step 210, a plurality of cells are determined which have corners at the points found in steps 30, 80 and 210.
  • Figure 24 shows the example surface of figure 15, when converted into cells using equal mesh net generation.
  • a starting point 220 is chosen in step 30.
  • First and second generating curves 222 and 224 are determined in step 36. Ih the example shown in figure 24, the generating curves are lines of curvature, although other curves can be used.
  • the cells have fixed length sides. Towards the edges of the surface, no fourth point is found which lies on the surface. There are therefore jagged edges shown in figure 24. These can be resolved, for example, by defining cells at the edges which are triangular or do not have equal length sides.
  • step 214 which follows from step 212, the cells determined in step 212 are optimised. This may include, for example, merging of panels in high-density areas as described above.
  • step 216 quality parameters of the cells determined in step 212 are calculated.
  • the quality parameters which are calculated are the shear angle (see equation 17 above) and shear deformation factor.
  • the shear deformation factor is the ratio of the area of a cell to the area of a cell with the same length sides but with corners of 90°.
  • the aspect ratio of the cells is not determined as it is the same for all cells.
  • the warp angle, offset and/or warp factor may additionally or alternatively be calculated, as the equal mesh net generation algorithm does not necessarily find planar cells.
  • step 138 which follows from step 216, the user decides whether or not the cells are acceptable. This can be done, for example, by visual inspection of a graphical display of the cells and/or consideration of the quality parameters determined in step 216.
  • step 136 both in figure 3 and figure 22
  • the decision whether or not the quality is acceptable can be made automatically instead of by a user. For example, if the maximum shear angle is greater than an acceptable threshold, the process can be restarted from step 30 automatically.
  • the cells determined in step 212 of figure 22 have sides of equal length.
  • Each cell can therefore be regarded as a square which may be sheared and/or bent out of plane, hi alternative embodiments, the cells can have sides of unequal length.
  • the radii of the spheres 232 and 234 having respective centres at points P 1;0 and Po ;1 are not equal, and each fourth point Pi ;1 is not an equal distance from the two points P 1>0 and P 0;1 .
  • each cell can be regarded as a rectangle (or any other polygon) which may be sheared and/or bent out of plane.
  • triaxiaT mapping a technique called "triaxiaT mapping" is used on the cells.
  • triaxial mapping each 4-sided cell is divided into two triangular cells by connecting two opposite comers of the cell.
  • Each triangular cell is planar, even if the divided cell is non-planar.
  • Figure 25 shows an example of cells corresponding to a portion of a three-dimensional surface to which triaxial mapping has been applied. Any of the methods described above is used to produce a bidirecional grid of cells, arising from a first set of curves 300 (which may include one of the generating curves) and a second set of curves 302 (which may include the other generating curve).
  • Each cell for example cell 304, has been divided into two triangular cells 306, 308 using a dividing line 310.
  • the dividing lines are arranged such that where a dividing line in a cell ends at a corner, cells which share the same corner point (i.e. three other cells in a bidirectional grid) also have an end of the dividing line at the corner point.
  • the dividing lines effectively form another bidirectional grid.
  • Other implementations are possible, for example where the dividing lines are generally "parallel" and form a set of lines which do not intersect each other.
  • Triaxial mapping reduces the size of the cells. Cells which are generally too small can be avoided by specifying that the cells produced using methods according to embodiments of the invention (such as, for example, those shown in figures 3 and 22) should be larger.
  • Methods which create a bidirectional grid from curves on the three-dimensional surface can also be used with triaxial mapping.
  • the intersection points on the grid can simply be connected with straight lines to form a 4-sided cell which can then be split into two triangular cells as described above.
  • Planarisation is a method of adjusting non-planar cells such that they become planar.
  • An example of a method of planarisation is described below: 1. Set the status of points on the generating curves to "moved”. Set the status of all other points to "unmoved”.
  • step 3 4. Find the point of intersection between this normal and the plane determined in step 3. 5. Move the "unmoved” point to the intersection point found in step 4, and set its status to "moved”. 6. Repeat steps 2 to 5 until all points have been set as "moved”.
  • the first cells that have three "moved” points are the four cells that include the starting point as one of the points of the cell, as only these cells have three "moved” points. As points are moved, other cells become cells which have three "moved” points.
  • the software instead of providing cell data, provides data on a plurality of points identified or found on the surface. This data on a plurality of points may be used accordingly, for example the data may be used as corners of a plurality of panels when constructing a structure according to the three-dimensional surface.
  • a user may be able to specify the type of data which is provided, for example whether data is provided on a plurality of cells or a plurality of points.
  • a structure can be constructed according to the cells determined using the above described methods, scaling as appropriate and replacing the cells with panels (for example, glass panels).
  • a grid shell structure can be constructed whereby the cells are scaled as appropriate and edges of the cells are replaced with grid shell members.
  • the shape of the structure will conform substantially with the shape of the three-dimensional surface.
  • Figure 26 shows an example of a grid shell structure conforming substantially to the shape of the surface 140 of figure 15 when the cells are converted to grid shell members.
  • the cells in the structure do not necessarily have edges which match or share the edges of adjacent cells.
  • support members can be included in the structure which ⁇ support corners of adjacent cells, where the corners are not substantially at the same point. This may give the structure an uneven look, although the effect may not be noticeable if the corners of adjacent cells are offset by only small amounts, and/or the structure is large enough for the corners to be a significant distance from the viewer.
  • This technique could be used to allow planar panels to be used in a structure where the determined cells are non-planar.

Abstract

A method of determining points on a three-dimensional surface, comprising determining a plurality of first points on a first curve on the surface; determining a plurality of second points on a second curve on the surface; determining a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise: at least one first point and at least one second point; at least one first point and at least one point in the set of further points; at least one second point and at least one further point in the set of further points; or a plurality of further points in the set of further points.

Description

Data processing method and system
This invention relates to a data processing system and method.
Background to the Invention
Modern building structures often include unusual three-dimensional shapes for part or all of the structure. The three-dimensional part can include, for example, doubly curved surfaces. The three-dimensional part must generally be designed before being included in the plans for the structure .
Computer aided design (CAD) techniques can be used to define doubly curved surfaces, where a physical model does not necessarily exist. A doubly curved surface is a three-dimensional surface which appears curved, not flat, when following any direction along a surface. Thus,- for example, a cylinder is not a doubly curved,,, surface as when following the axial direction along the surface, the surface appears flat, not curved, and a straight line is followed.
These CAD techniques typically involve providing a mechanism by which an architect or a designer defines a curve using a set of points, and a surface using a set of curves. The CAD software internally stores the curve arid surface models as . parametric mathematical equations. Once the surface has been fully defined according to the architect's wishes, the computer' model then gets passed onto engineers who, working with the architects, define the physical layout, materials and properties of the structure that will provide and support the form of the three- dimensional surface, scaled as appropriate. This process is usually complex, and iterativeiy passed between- the engineers- and- architects- untiha- final- strueture-plan-is- agreed upon.
Typically, the engineers focus on coming up with a physical structure that is possible to construct, not necessarily conforming to the form of the three-dimensional surface that the architect specified. For instance, if an architect specifies an ellipsoidal form for a roof that is to be built out of timber, the engineer might start with a fiat timber grid. The engineer would then raise the grid in the centre, resulting in a grid-shell that is approximately of the ellipsoidal form intended. Similarly, if the architect specifies a doubly-curved glass facade that is to be build out of flat 4-sided panels, one solution chosen by the engineers would be to use a 'translated arch' method, described below, to provide a shape close to or approximating the architect's intended form. In the majority of cases, the methods used lead to a great degree of simplification and deviation from the form provided by the architect, and also result in a large number of iterations and inefficiencies and wastage associated with them.
In the translated arch method, a piecewise linear curve is specified. A piecewise linear curve is a 'curve' which is made up of a number of short straight lines. The specified curve is translated along a spine curve which is also piecewise linear, resulting in a piecewise flat approximation to a doubly curved three-dimensional surface which is made up of flat 4-sided panels. This method however limits flexibility as the form of the three-dimensional surface is a direct result of the translation. The designer or engineer can vary the transjated curve and spine curve but does not have complete freedom over the final form.
Figure 1 shows an example of a three-dimensional surface 10 produced using the translated arch method. A first piecewise linear curve 12 is specified. This is then translated along a second piecewise linear curve 14. The resulting surface 10 comprises a plurality of flat 4-sided panels 16.
Summary of the Invention
According to a first aspect of embodiments of the invention, there is provided a method of determining points on a three-dimensional surface, comprising determining a- plurality of first points on a first curvσ on the surface, determining a plurality of second points on a second curve on the surface and deteπruning a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise at least two points from the plurality of first points, the plurality of second points and/or the set of further points.
Thus a user may specify virtually any three-dimensional surface and embodiments of the invention provide a plurality of points on the surface. These points may be converted to panels with corners at the points, or grid shell members with ends at the points, which can then be constructed. Embodiments of the invention therefore determine a buildable structure which corresponds to virtually any three-dimensional surface, with little or no deviation from the surface specified by the user.
Other aspects of embodiments of the invention are defined in the appended claims:
Brief Description of the Drawings
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 shows a three-dimensional surface generated using the known translated arch , method; ...
Figure 2 shows a process of converting a three-dimensional surface to a plurality of cells according to embodiments of the invention;
Figure 3 shows process of defining a plurality of cells according to embodiments of the invention;
Figure 4 shows an example of a three-dimensional surface with a starting point;
Figure 5 shows an example of a three-dimensional surface with generating curves passing through the starling point;
Figure 6- shows an example of a parametric representation of a curve;
Figure 7 shows an example of a parametric representation of a three-dimensional surface;
Figure 8 shows an example of a three-dimensional surface where a number of points have been identified on the generating curves; Figure 9 shows an example of a three-dimensional surface where a number of further curves have been determined, passing through some of the points on the generating curves;
Figure 10 illustrates an example of a process for finding a fourth point in a cell from three other points;
Figure 11 shows a three-dimensional surface that has been completely converted into cells according to embodiments of the invention;
Figure 12 shows an example of cell merging according to embodiments of the invention;
Figure 13 shows an example of a cell; _
Figure 14 shows an example of a non-planar cell;
Figure 15 shows an example of another three-dimensional surface with a starting point, generating curves, points on the generating curves, further curves passing through some of the points on the generating curves, and further points defined on the further curves;
Figure 16 shows an example of another three-dimensional surface with a starting point, generating curves, points on the generating curves, and further curves passing through some of the points on the generating curves;
Figure 17 shows an example of the three-dimensional surface of figure 16- when converted into cells according to embodiments of the invention;
Figure 18 shows an example of the three-dimensional surface of figure 16 when converted into cells according to embodiments of the invention;
Figure 19 shows an example of the three-dimensional surface of figure 16 when converted into cells according to embodiments of the invention; Figure 20 shows an example of a three-dimensional surface where curves of intersection are defined, on the surface;
Figure 21 shows an example of a three-dimensional surface that has been converted into cells according to embodiments of the invention;
Figure 22 shows a process for defining a plurality of cells according to embodiments of the invention;
Figure 23 illustrates an example of a process for defining a fourth point in a cell from two or three other points;
Figure 24 shows an example of a three-dimensional surface that has been converted into cells according to embodiments of the invention;
Figure 25 shows an example of 4-sided cells which have been divided into triangular cells using triaxial mapping; and
Figure 26 shows an example of a grid shell structure constructed from grid shell members defined according to embodiments of the invention.
Detailed Description of Embodiments of the Invention
Embodiments of the invention provide a method of converting any three-dimensional surface, including doubly curved surfaces, into a design of a structure. The structure can then" be constructed according to the design to produce a structure having substantially the same shape as the three-dimensional surface.
Figure 2 shows a flow chart of steps which are undertaken by software implementing a method according to embodiments of the invention. Ih step 20, a definition, description or representation of the three-dimensional surface is obtained. This is predetermined by a designer of a structure, or a part of the structure which is to conform to the three-dimensional surface. The three-dimensional surface is preferably specified using NURBS (Non-Uniform Rational B-Splines), an industry standard for representation of curves and three-dimensional surfaces. Further information on NURBS can be found in Farin, G. "Curves and surfaces for computer aided geometric design", 3rd Edition, Academic Press, USA, 1992 and Mortenson, M.E. "Geometric modelling", 2nd Edition, Wiley Computer Publishing, New York, 1997. These references are incorporated herein by reference in their entirety for all purposes. Other representations of a three-dimensional surface e.g. Bezier, Hermite- Spline, etc. are possible.
In step 20, the definition, description or representation of the three-dimensional surface may be obtained, for example, from CAD (computer-aided design) software, such, as IGES, DXF and RMno 3DM. In certain embodiments, a user may be able to design a three-dimensional surface using software according to embodiments of titie invention.
In step 22, which follows from step 20, the three-dimensional surface is converted into a plurality of cells as described in more detail below. In step 24, which follows from step 22, the software outputs cell data which, contains information about the cells found in step 22.
The step 22 of converting the three-dimensional surface into a plurality of cells is shown in more detail in the flow chart of figure 3. Firstly, in step 30, a point is chosen on the three-dimensional surface. This is done by the user, for example, by the user graphically choosing a point on a computer screen. Alternatively, the point can be chosen by the software, and can be, for example, the highest point on the three- dimensional surface, a corner, a randomly chosen point or any other point. The position of the point chosen in step 30 may have some impact on the cells produced, such as, for example, the number, size, shape and/or planarity of the cells.
Figure 4 shows an example of a three-dimensional surface 32. A point 34 on the surface 32 has been chosen in step 30.
Referring back to figure 3, in step 36, which, follows from step 30, first and second generating curves are determined which pass through the point 34 chosen in step 30. Generating curves are curves of a type specified by user of the software which lie on the three-dimensional surface. Examples of types of curve include, among others, lines of curvature, geodesic curves and curves of intersection between the three- dimensional surface and a plane.
Figure 5 shows the surface 32 with two example generating curves 38 and 40 passing through the point 34. In this example, the generating curves 38 and 40 are the two lines of curvature through the point 34. The two generating curves do not have to be the same type of curve.
Consider that there are an infinite number of curves which pass through the point 34. Each of these curves has a curvature at the point 34. The curvature of one of the curves at the point 34 has a magnitude equal to the reciprocal of the radius of an osculating circle (a circle that "kisses" or closely touches the curve at the given point), and is a vector pointing in the direction of that circle's centre. It can be appreciated that at the point 34, the osculating circle and the curve share a common tangent. It can be appreciated that for straight lines, the radius of the osculating circle is infinity and therefore the curvature is zero. The value of the curvature may vary along the curves. However, only the value at the point 34 is considered.
All curves that pass through the point 34 and share a common tangent at the point 34 have the same curvature at the point 34. Therefore, when considering curvature at the point 34, it is sufficient only to consider, for example, a curve of intersection between the three-dimensional surface 32 and an intersecting plane containing the normal vector to the surface at the point 34. This may be simpler than considering a more complex curve which passes through the point 34 and shares a common tangent with the curve of intersection. The intersecting plane forming the curve of intersection can be rotated about an axis containing the normal vector to the surface at the point 34. As the plane is rotated, the curvature of the curve of intersection at the point 34 exhibits a maximum and a minimum. The tangents to the surface 32 at the point 34 which lie in the plane, when the plane is at positions corresponding to maximum and minimum curvatures, are called the principal directions. At any point on the surface 32, the principal directions are normal (i.e. at right angles) to each other. A line of curvature is a line on a three-dimensional surface which always follows one of the principal directions.
Curves can be described mathematically in non-parametric and parametric forms. For a non-parametric curve, usually the coordinates y and z of a point on the curve are expressed as two separate functions of the third coordinate x as the independent variable. For a parametric curve, a parameter u is introduced and the coordinates (x, y, z) are expressed as functions of u. The following is an expression of a parametric curve C(u):
Figure imgf000009_0001
C(u) thus gives a vector from the origin to a point on the curve, and is therefore a vector- valued function. Figure 6 shows an example of a parametric representation of a curve 60. For a certain value of u, the value of C(u) is a vector 62 from the origin 64 to a point 66 on the curve 60.
The parametric representation of a three-dimensional surface (such as the surface 32 shown in figure 4) is a vector valued function P(u, v) of two variables, or parameters, u and v:
"^ < Vmaχ (2)
Figure imgf000009_0002
Figure 7 shows an example of a parametric representation of a surface 70. For certain values of u and v, the value of P(u, v) is a vector 72 from the origin 74 to a point 76 on the surface 70. NURBS is a further representation of a three-dimensional surface which can be used with the present invention. Other representations of three-dimensional surfaces can be used with the present invention.
In the following analysis, the first derivative of P with respect to u is denoted as Pu, the seeond derivative as Puu, and so on.
The arc length s of a curve between points P(M1) and P(M2) is given by:
Figure imgf000010_0001
The principal normal vector at a point Pj on a curve is given by:
Figure imgf000010_0002
The surface normal vector at a point on the surface is given by the following expression in terms of the tangent vectors P" and Pv:
P" x Pv . ,„ n = Ii ϋ (5)
P" x Pi
Any curve C(t) mapped on the three-dimensional surface as P(u(t), v(t)) (with t as the parameter) may or may not have, at a given point on the curve, a principal normal vector which is the same as the surface normal vector at that point. The curvature of a curve lies along the curve's principal normal vector. The curvature of the curve C(f) can therefore be split into two components: normal curvature fa (along the surface normal N) and geodesic curvature kg (along a tangential component ng to the curve).
These can be summed leading to a principal normal component k along the principal normal direction nc : knc = kNN + kgήg (6)
There are two fundamental forms of three-dimensional surface representation used in differential geometry. The first fundamental form is associated with the arc length s of a curve on the surface:
Figure imgf000011_0001
where E = Pu • P" , F = P" • Pv and G = Pv • Pv , and are the coefficients of the first fundamental form, ύ and v are first derivatives of the surface parameters u(t) and v(t) with respect to the curve parameter t.
The second fundamental form is associated with the normal curvature of a surface curve:
k 7 N = L Tu a'2 + - 2.Mi ru fV t + N -KTv a = — Lu2 : + 2Mύv + Nv τ 2 ( /O8N)
N2 + 2Fύv + Gv2
where L = PUU » N , M = Puv • JV and N = P™ * N and are the coefficients of the second fundamental form, u' and v' are first derivatives of the surface parameters with respect to the arc length s such that:
-,- du - du'l-dt- : -U-- - „. u — — = -^- — = ' (9) ds ds I dt V Eu2 + 2Fύv + Gv2
The normal curvature fa depends only on the direction of the curve at the. point considered, and is the same for all curves tangent at that point. If a curve is a curve of intersection between a three-dimensional surface and a plane containing the surface normal N , then kg is zero. From equations (8) and (9), and rearranging [Mortenson], the principal curvature values h and k2 are found to be the roots of the following equation:
(EG-F2)Jc2 - (EN + GL -2FM)Jc - (LN- M2) = 0 (10)
The principal direction vectors (denoted S1 and J2 ) at a point on the surface are orthogonal to each other and both lie in a single plane tangent to the surface at that point. The principal direction vectors can therefore be specified as an angle θ from a reference direction, as other information about H1 and d2 can be derived from the tangent plane. Since the two tangent vectors Pu and Pv are not necessarily orthogonal, another reference direction must be used to achieve an orthonormal frame. A set of reference vectors U1 and e2 is used, given by:
Figure imgf000012_0001
The principal vectors dx and d2 are then given by:
dλ,d2 - cosθej +sinθe2 (12)
The angle θ is given by:
θ = tan (13)
A
where
Λ = L(EG -2F2) + 2EFM - E2N β _ EM -FL 2E(EG-F2) ' ~ EΛIEG-F2
There are two solutions for θ in equations 13 and 14. Therefore equation 12 provides both principal direction vectors S1 and d2 . Further information can be found in Gallier, J. H. "Geometric methods and applications for computer science and engineering", Dept of Computer and Information Science, University of Pennsylvania, USA, 2000 which is incorporated herein by reference in its entirety for all purposes.
An algorithm to calculate principal curves over a surface through the point 34 chosen in step 30 above can be implemented as follows, although other implementations are possible. Firstly, one of the principal direction vectors dx or d2 is calculated. Next, a new point is determined on the surface a small increment in this direction from the point 34. The new point lies substantially on the line of curvature. The process is then repeated from the new point, finding the next point substantially on the line of curvature, until the edge of the surface is reached. The entire line is found by repeating the process from the point 34 and incrementing in the opposite direction. Ih this way, a line of curvature is calculated across the surface. An orthogonal line of curvature can be found by repeating the process and following the other principal direction.
Alternatively, the lines of curvature can be determined by solving the differential equations that define them:
Figure imgf000013_0001
This equation can be transformed into a quadratic equation:
O (16)
Figure imgf000013_0002
The two differential equations resulting from equation 16 can be numerically solved to find points on the lines of curvature. At umbilical points on a three-dimensional surface, magnitudes of the maximum and minimum curvatures are equal. The principal directions 'may therefore be undefined. Umbilical points can occur, for example, over a planar or spherical region on a three- dimensional surface.
When an umbilical point is detected, embodiments of the present invention decide to extend the curve "straight ahead", for example along a geodesic direction, until a non- umbilical point is found. When the non-umbilical point is found, embodiments of the present invention continue to find points on the line of curvature.
Referring back to figure 3, once the first and second generating curves 38 and 40 through the point 34 on the surface 32 have been determined in step 36, further points are defined on the first and second generating curves 38 and 40 in step 80. As shown for example in figure 8, a plurality of first points 82 is defined on the first generating curve 38, and a plurality of second points 84 is defined on the second generating curve 40. Therefore, on each of the generating curves 38 and 40, there are a plurality of points including the first point 34. The points defined on a curve in step 80 are preferably equally spaced along the curve, and preferably are spaced apart by approximately the desired length of a side of a cell on the three-dimensional surface. The cells on the three-dimensional surface correspond to panels and/or grid shell members of a structure constructed according to the three-dimensional surface. The spacing of the points may be in terms of, for example, the straight Line distance between the points or the length of the curve between the points.
In step 86, which follows from step 80, a plurality of further curves is defined through the points defined oh one of the generating curves in step 80. For example, as shown in figure 9, further curves 90 passing through the points 84 on the second generating curve 40 are determined. These curves are preferably lines of curvature, although in alternative embodiments one or more types of curve may be used. Only a small number of further curves 90 are shown in figure 9. However, each of the points 84 has a further curve 90 passing though it.
Referring back to figure 3, in step 92, which follows from step 86, a plurality of cells are determined on the three-dimensional surface 32. Cells are polygons (although not necessarily planar polygons) which, when put together or assembled, correspond substantially to the three-dimensional surface.
One example of a process for determining cells on the three-dimensional surface 32 is as follows. For three adjacent points determined in steps 30 or 80 in figure 3, a fourth point is determined, thus making a four-sided cell with corners at the four points. The three adjacent points must not all lie on or substantially on a single curve. Therefore, at least two of the points must lie on or substantially on different curves in a first set of curves, where the first set of curves comprises the curves 38 and 90. For example, as shown in figure 10, the three adjacent points comprise the first point 34, one of the points 82 on the first generating curve 38, and one of the points 84 on the second generating curve 40. These three points 34, 82 and 84 lie in a single plane. Where this plane intersects a curve determined in step 86 (hi the example shown hi figure 10, this curve is the further curve 90 which passes through the point 84), the fourth point 100 is defined. Thus a cell is determined with corners at the points 34, 82, 84 and 100.
The fourth point 100 can now be used as one of the three adjacent points for finding a fourth point of a further cell. In the example shown in figure 10, a fourth point can be found where the three adjacent points are the point 100 and two of the points 82 on the first generating curve 38. A fourth point can also be found where the three adjacent points are the point 100 and two of the points 84 on the second generating curve 40. These new points can also be used to find further fourth points in further cells, and so on until the entire surface has been converted into cells. At the edges of the surface, for example, triangular cells can be used so as to avoid a jagged edge.
Figure 11 shows an example of the surface 32 when converted into cells using the above described method. Each of the cells comprises a plane. This is particularly useful when, for example, a structure is constructed conforming substantially to the shape of the three-dimensional surface and where the cells are replaced by panels, for example panels of glass. Planar panels are less costly than non-planar panels and therefore the resulting structure is less costly to construct, and panels in the structure are less costly to replace. Furthermore, although planar glass panels can be distorted slightly (for example, a few degrees out of plane) to form non-planar glass panels, the panels may be under strain and therefore may be less desirable in a structure than planar glass panels.
Each cell comprises corners at four points. These points are further points, although some cells have points on the first generating curve, and some cells have points on the second generating curve (the starting point is considered to be a point on both the first and second generating curves).
It can be appreciated that a bidirectional grid has been defined on the three- dimensional surface. A bidirectional grid is a grid comprising two sets of curves, where curves from one set cross lines of the other set, and vice versa.
Referring back to figure 3, once the cells have been determined in step 92, the cells are optimised in step 110. Optimisation of the cells recognises that there can be a density variation (and therefore also a size variation) of the cells across the surface. For example, as shown in figure 11, it can be appreciated that the cells in a first region 112 are generally larger than cells in a second region 114 across the surface. Therefore, the density of the cells is lower in the first region 112 and higher in the second region 114. Certain cells in the second region 114 can be merged and/or rearranged to make larger cells, so that there is a more uniform density variation of cells across the surface.
As shown for example in figure 12, a surface has a first region 120 containing a number of cells. Before optimisation, the cells in a second region 122 would have a higher density than those in the first region 120. Therefore, groups of three consecutive cells have been merged to form two cells. For example, the three cells Ϊ24 in the first region 120 would be adjacent to three cells in the second region i22 without optimisation. Instead, they are adjacent to two larger cells 126 in the second region 122 after optimisation.
Similarly, -in a third region 128 on the surface, the density of the cells would.be higher still without optimisation. Therefore, cells in the third region 128 are merged in the same way as cells in the second region 122 to form merged cells. In addition, pairs of merged cells are merged to make one larger cell. For example, a pair of cells 130 in the second region 122 is adjacent to a larger cell 132 in the third region 128.
Referring back to figure 3, once the cells have been optimised in step 110, the quality of the cells is calculated in step 136. A number of quality parameters can be calculated, including shear angle, aspect ratio, warp angle, offset and warp factor. - -
To reduce the cost of the structure to be constructed, especially if panels such as glass panels are to be used, it is desirable for each four-sided cell to have the following properties:
- shear angle (deviation of corner angles from 90°) is as smali as possible aspect ratio (ratio of the longest side to the shortest side) as close to 1 as possible - warp angle (the degree of distortion of the cell out of a plane) is as small as possible, and preferably 0°
- offset (distance of a point, or corner, of a cell from the plane defined by the other three points in the cell) is as small as possible, and preferably 0
- warp factor (offset divided by the square root of the cell area) as close to 0 as possible
Figure 13 shows a typical four-sided cell with four corner points p\, p%, p$ and j?4. The internal angle of these points is Θ\ , Θ2, #3 and #4 respectively. The vector from point pi to pointy is an, from/?2 top3 is α23s from /J3 top2 is α32 and so on.
The shear angle can be calculated as:
Shear = absl cos"1 (an • a2S ) (17)
The aspect ratio is calculated as the magnitude of the longest vector over the magnitude of the smallest vector: Aspectratio = ****»"* ^ O (18) miα(α12233441)
The warp angle is calculated as:
Warp angle a
Figure imgf000018_0001
The warp angle is the angle between the two planes defined by the four points of a cell. Figure 14 shows a cell which is non-planar. A first plane is defined by points p\, P2 and pi,. A second plane is defined by points p2j Pi and JP4. The warp angle is the angle a between the first and second planes as shown.
The offset is calculated as the distance between a plane defined by three points (and expressed as Ax + By + Cz + D = 0) and the fourth point fø, >v, z#):
Offset = AX* +By* + Cz* + D) (20)
V Α2 + B2 + C2
The warp factor is calculated as:
Warp factor = -^SfL (21)
'J Area
Any one or more of the above quality parameters may be calculated in step 136.
In step 138, which follows from step 136, a user decides whether or not the three- dimensional surface has been mapped into acceptable cells. This can be done, for example, by inspecting the quality parameters calculated in step 136 for each of the cells, or for the "worst case" cell or cells hi the plurality of cells (i.e. the cell or cells which have the worst quality parameters). Additionally or alternatively, the user can be presented with a graphical display of the cells, similar to that shown in figure 11. The user can then visually inspect the cells, which may include interacting with the cells, for example by rotating the point of view. If the user decides that the quality is acceptable, the process shown in figure 3 ends.
If the user decides that the quality is unacceptable, the process returns to step 30. The user will then be able to alter one or more factors that affect the cells, such as, for example, the type or types of curve used and/or the position of the starting point 34, in an attempt to produce a more acceptable plurality of cells. Additionally or alternatively, the factors may be altered automatically.
Certain steps in the process shown in figure 3 may be optional, for example the step 110 of optimising the cells, and/or the step 136 of calculating quality parameters of the cells.
Figure 15 shows another example of a tiiree-dimensional surface 140. A first point 142 has been chosen in step 30 (shown in figure 3). First and second generating curves 144 and 146 (which are lines of curvature) have been defined in step 36. In step 80, points 148 have been defined in the first curve 144, and points 150 have been defined on the second curve 150. In step 86, further curves 152 have been defined passing through the points 150 on the second curve 146, and are also lines of curvature. The surface 140 shown in figure 14 also shows points 154 on the further curves 152. The points 154 are found in step 92 when determining cells on the surface 140, such as a cell 156.
The above described process may not produce an acceptable plurality of cells, even when various first points 34 are used. Figure 16 shows an example of a portion of a three-dimensional surface 160. In the process of figure 3, a first point 162 is defined in step 30. A first generating curve 164 is defined in step 36 with a plurality of points 166 defined thereon in step 80. A second generating curve 168 is defined in step 36 with a plurality of points 170 defined thereon in step 80. A plurality of further curves 172 are defined in step 86 which pass through the points 170. Figure 17 shows the cells defined in step 92 in the area 174 below the first and second generating curves 164 and 168 on the surface 160. Other cells are not shown for clarity purposes. The area has been converted into a small number of cells 176, some of which are relatively large. This is because the conversion of the surface into cells requires that the cells are planar. The step 92 of determining cells on the surface therefore finds only a small number of points where the plane defined by three adjacent points intersects one of the further curves 172.
Certain embodiments of the present invention recognise that panels in a structure, including glass panels, can undergo a small amount of out-of-plane bending, so that they are slightly non-planar cells. It is therefore not necessary that the cells defined in step 92 are strictly planar. Therefore, in certain embodiments of the invention, the user is able to specify that the cells need not be strictly planar. For example, embodiments of the invention allow the user to specify that in step 92, for three adjacent points, a fourth point is determined where the plane defined by the three adjacent points passes within a predetermined distance (for example, a distance specified by the user) of one of the further curves defined in step 86 of figure 3.
The user may, for example, specify the predetermined distance in a number of ways, such as, for example, by specifying the predetermined distance itself, or by specifying a maximum value for the warp angle, offset or warp factor calculated in step 136 of figure 3. For example, the user may specify a maximum warp angle (see equation 19 above), and the software according to embodiments of the invention will iteratively search for a panel which has a size closest to the desired size. The iterative procedure begins by mapping the fourth point at the desired distance from the known points on the generating curves. The property (eg warp angle) of the resulting panel is then determined and checked if it is within the acceptable limits. If not, the process is repeated by searching the fourth point in the neighbourhood of the one already determined.
Figure 18 shows the area 174 on the surface 160 which has been mapped such that slightly non-planar cells have been determined. Comparing this to figure 17, it can be appreciated that the panels in figure 18 are of a more acceptable; more uniform size and are more uniformly distributed across the area 174.
In alternative embodiments of the invention, the cells are determined in step 110 of figure 3 such that they have corners at intersection points where two sets of curves intersect on the three-dimensional surface. Therefore, for example, in step 86, a first set of curves is defined passing through points on the second generating curve as above. However, in addition, a*second set of curves is also defined in step 86, passing through points on the first generating curve defined in step 80. For example, the first and second sets of curves are lines of curvature, and intersect at right angles to each other. Intersection points are defined at the points where the curves intersect. The cells determined in step 110 are therefore cells with corners at the intersection points and points defined in steps 30 and 80, and the edges of the cells are straight lines between the points.
For example, as shown in figure 19, the area 174 on the surface 160 of figure 16 has been converted to cells which have corners at intersection points. It can be appreciated that the cells have a more uniform size and shape to those cells shown in figure 18. This method however may produce cells with a larger warp angle, offset and/or warp factor than other methods described. However, the warp angle, offset and/or warp factor may still be within acceptable limits.
In certain embodiments, one or more of the generating curves and/or one or more of the further curves defined in step 36 and/or step 86 are not lines of curvature.
In certain embodiments, one or more of the curves defined in step 36 and/or 86 comprise a line of intersection between the surface and a plane. For example, figure 20 shows a side view of the surface 140 of figure 15. In steps 30, 36, 80 and 86 of figure 3, a plurality of curves 190 are defined on the surface. Each curve 190 is a curve of intersection between the surface 140 and a vertical plane. The planes forming the curves 190 are, in the example shown, equally spaced parallel planes, although in certain embodiments the planes need not be equally spaced and/or parallel. The second generating curve defined in step 36 may be any type of curve such as, for example, a line of curvature or a curve of intersection with a further vertical plane. The points defined on the second curve in step 80 are points where the second curve intersects one of the vertical planes (i.e. points where the second curve intersects one of the curves 190). The surface 140 may then be converted into cells using the remaining steps 92, 110 and 136 of figure 3 as above, or by any other method according to embodiments of the invention. A planar curve can be mapped onto a three-dimensional surface by simultaneously solving the equation of the surface (see equation 2 above) with that of a plane. The equation of a plane is given by
Ax + By + Cz + D = 0 (22)
and
d J AD BD CD
(23)
LA2 +B2 + CZ A2 + B* + C2 A2 +B2 +C2
where d is the direction vector along the plane normal and through the origin.
For a plane intersecting the three-dimensional surface, the scalar product of d with the vector [P(u,v) — d] lying in the plane must equal zero:
[P(u,v) - d] » d = 0 (24)
This can be solved to find the equation of the intersecting curve.
In the example shown in figure 20, cells near one of the ends 192 may be large compared to cells in other areas of the surface. Additionally or alternatively, for example, the aspect ratio of one or more cells may be considerably larger or smaller than the desired value (for example 1), and/or other quality parameters may lie outside of acceptable limits. Therefore, in order to make the cells of a comparable size across the surface 140, and/or to improve the quality parameters ofat least some of the cells, the vertical planes making the curves 190 may be unequally spaced, and spaced closer together towards the ends 192 of the surface 140. Figure 21 shows the surface 140 converted into cells where the vertical planes are closer together towards the ends 192. Large cells occurring towards the ends 192 are avoided. However, the density of the cells is high around the ends 192. This may be difficult to construct, and if the cells are converted into glass panels, the density of the supporting structure and edges of the panels towards the ends 192 will result in a structure which is difficult to see though towards the ends 192. This may be avoided at least in part by making use of cell merging in step 110. It can be seen that, as shown in figure 14, when lines of curvature are used as the further curves this problem is avoided, and it can be appreciated that a resulting glass panel structure will not have such dense panels at the ends 192 when lines of curvature are used.
In certain embodiments, at least some of the curves defined in step 36 and/or 86 are isoparametric curves. Isoparametric curves are parametric curves used to define the three-dimensional surface (for example a NURBS surface) before it is obtained in step 20 of figure 2. These are the curves for which one of the two defining parameters (u and v) of the surface are constant. Two families of isoparametric curves exist to define the surface: P(u, v = vc) and P(u - uc, v) where uc and vc are constants.
A parametric cylinder is defined by sweeping a circle (cross-section) along a straight line (axis). Both these curves are modelled using one parameter each (say u for the circle and v for the line). The resulting surface is then fully defined by these two parameters. Therefore theorist defines a straight line on the surface whereas v=const defines a circle. By varying the value of const a series of bidirectional curves is generated, which are the isoparametric curves. Other examples of isoparametric curves might include, for example, circles along the smaller and larger circumferences of a torus.
In certain embodiments, one or more the curves defined in step 36 and/or 86 comprise a geodesic curve. A geodesic curve is a curve that follows the shortest distance on the three-dimensional surface between two points on the surface. In other words, a geodesic curve goes "straight ahead" without deviating from its path on the surface.
From every point on a surface, depending upon which direction one shoots off at, an infinite number of geodesic curves exit. A characteristic of the geodesic curve is that the geodesic curvature kg is zero everywhere.
Having regard to the equation of the surface (see equation 2 above), the equation of a geodesic is given by:
Figure imgf000024_0001
where,
Figure imgf000024_0002
The above differential equation is numerically solved to yield the points on the geodesic curve.
In certain embodiments, one or more of the curves defined in step 86 comprise a "parallel curve" which is "parallel" to another curve on the three-dimensional surface (such as, for example, one of the generating curves or another one of the further curves).
A parallel curve is a derived curve, in that it is derived from another curve. A parallel curve is formed on the three-dimensional surface by taking a copy of another curve on the three-dimensional surface, translating it in space, and then projecting it onto the three-dimensional surface.
The steps to be taken to determine a parallel curve parallel to a first curve (which can be any curve on the surface, such as a generating curve or a further curve) are as follows:
1. Choose a starting point on the first curve (called the local first curve point), and a point on the surface which is to be the corresponding point on the parallel curve (called the local parallel curve point). 2. Calculate the surface normal at the local first curve point, and the tangent to the first curve at the local first curve point. Define a plane (called the local intersecting plane) containing these two vectors.
3. Translate the local intersecting plane to the local parallel curve point. 4. Find the curve of intersection between the local intersecting plane and the surface. Choose a point on the curve of intersection which is close to the local parallel curve point. This is the new local parallel curve point. 5. Choose another point on the first curve close to the local first curve point.
This is the new local first curve point. 6. Repeat steps 2 to 5 until the edge of the surface is reached. The local parallel curve points all lie on the parallel curve. These points can therefore be joined to form the parallel curve.
The process may also be repeated, but moving in the opposite direction, so that a full curve is formed which extends between two edges of the surface (although the two edges may be the same edge for certain curves).
The local normal vector n on the surface is given by equation 5 above. The local first curve tangent (a vector) is given by:
Figure imgf000025_0001
These two vectors define the local intersecting plane:
. (JP" x Pv) 0 (P -Pj) = O (30)
where P1 is the local first curve point that is being considered.
In certain embodiments, equal mesh net generation (also called draping) is used to define cells on the three-dimensional surface. Equal mesh net generation defines cells where edges of the cells correspond substantially to fibres of a fabric which is theoretically forced to conform to tie three-dimensional surface. The cells always have edges of fixed (i.e. predetermined) lengths.
Figure 22 shows a flow chart of a process of converting a three-dimensional surface into cells using equal mesh net generation. Where steps are the same as those shown in figure 3, they are given the same reference numerals.
As shown in figure 22, the steps 30, 36 and 80 are carried out to define a plurality of points on first and second generating curves on the surface. The points on any one curve are preferably equally spaced such that the cells produced have equal length sides.
Step 210 follows from step 80. Ih step 210, a plurality of further points is defined on the three-dimensional surface. This is illustrated in figure 23, which shows a part 230 of a three-dimensional surface. Three adjacent points (from the points determined in step 30 or 8'O) are considered (referred to as PQS0, Po>1 and P1;o) and a further point' (referred to as a fourth point Pi;i) is defined as follows. The adjacent points POjO and PQ3I have a fixed separation distance, being the length of one of the edges of each cell. The adjacent points Po,o and Pi;o will also have a fixed separation distance, being the length of another of the edges of each cell. Two spheres are considered, one having its centre at Po,i and a radius of the distance between the points Po,o and P0)l. The other sphere has its centre at P1;0 and a radius of the distance between the points Po,o and Pi,o. The spheres intersect to form a circular curve of intersection 236. The circular curve will intersect the three-dimensional surface 230 at two points. One of these points will be substantially at the point Po,o- The other will be the fourth point, denoted P1^. Because the fourth point is determined where the circular curve of intersection intersects the three-dimensional surface, the fourth point P1^1 will always be a fixed distance from the point P1^ and a fixed distance from the point P0;1.
In step 212, which follows from step 210, a plurality of cells are determined which have corners at the points found in steps 30, 80 and 210.
Figure 24 shows the example surface of figure 15, when converted into cells using equal mesh net generation. A starting point 220 is chosen in step 30. First and second generating curves 222 and 224 are determined in step 36. Ih the example shown in figure 24, the generating curves are lines of curvature, although other curves can be used. The cells have fixed length sides. Towards the edges of the surface, no fourth point is found which lies on the surface. There are therefore jagged edges shown in figure 24. These can be resolved, for example, by defining cells at the edges which are triangular or do not have equal length sides.
Referring back to figure 22, in step 214, which follows from step 212, the cells determined in step 212 are optimised. This may include, for example, merging of panels in high-density areas as described above.
In step 216, which follows from step 214, quality parameters of the cells determined in step 212 are calculated. The quality parameters which are calculated are the shear angle (see equation 17 above) and shear deformation factor. The shear deformation factor is the ratio of the area of a cell to the area of a cell with the same length sides but with corners of 90°.
The aspect ratio of the cells is not determined as it is the same for all cells. The warp angle, offset and/or warp factor may additionally or alternatively be calculated, as the equal mesh net generation algorithm does not necessarily find planar cells.
In step 138, which follows from step 216, the user decides whether or not the cells are acceptable. This can be done, for example, by visual inspection of a graphical display of the cells and/or consideration of the quality parameters determined in step 216.
In step 136 (both in figure 3 and figure 22), the decision whether or not the quality is acceptable can be made automatically instead of by a user. For example, if the maximum shear angle is greater than an acceptable threshold, the process can be restarted from step 30 automatically.
In certain embodiments, the cells determined in step 212 of figure 22 have sides of equal length. Each cell can therefore be regarded as a square which may be sheared and/or bent out of plane, hi alternative embodiments, the cells can have sides of unequal length. In this case, the radii of the spheres 232 and 234 having respective centres at points P1;0 and Po;1 are not equal, and each fourth point Pi;1 is not an equal distance from the two points P1>0 and P0;1. In this case, each cell can be regarded as a rectangle (or any other polygon) which may be sheared and/or bent out of plane.
In certain embodiments, a technique called "triaxiaT mapping" is used on the cells. With triaxial mapping, each 4-sided cell is divided into two triangular cells by connecting two opposite comers of the cell. Each triangular cell is planar, even if the divided cell is non-planar. Figure 25 shows an example of cells corresponding to a portion of a three-dimensional surface to which triaxial mapping has been applied. Any of the methods described above is used to produce a bidirecional grid of cells, arising from a first set of curves 300 (which may include one of the generating curves) and a second set of curves 302 (which may include the other generating curve). Each cell, for example cell 304, has been divided into two triangular cells 306, 308 using a dividing line 310. The dividing lines are arranged such that where a dividing line in a cell ends at a corner, cells which share the same corner point (i.e. three other cells in a bidirectional grid) also have an end of the dividing line at the corner point. Thus, as shown in figure 25, the dividing lines effectively form another bidirectional grid. Other implementations are possible, for example where the dividing lines are generally "parallel" and form a set of lines which do not intersect each other.
Triaxial mapping reduces the size of the cells. Cells which are generally too small can be avoided by specifying that the cells produced using methods according to embodiments of the invention (such as, for example, those shown in figures 3 and 22) should be larger.
Methods which create a bidirectional grid from curves on the three-dimensional surface, such as a method using two intersecting sets of lines of curvature as described above, can also be used with triaxial mapping. The intersection points on the grid can simply be connected with straight lines to form a 4-sided cell which can then be split into two triangular cells as described above.
In certain embodiments, a method called "planarisation" is applied to the cells. Planarisation is a method of adjusting non-planar cells such that they become planar. An example of a method of planarisation is described below: 1. Set the status of points on the generating curves to "moved". Set the status of all other points to "unmoved".
2. For a cell with three "moved" points and one "unmoved" point, define a plane through the three "moved" points.
3. Determine a surface normal on the three-dimensional surface at the "unmoved" point.
4. Find the point of intersection between this normal and the plane determined in step 3. 5. Move the "unmoved" point to the intersection point found in step 4, and set its status to "moved". 6. Repeat steps 2 to 5 until all points have been set as "moved".
The first cells that have three "moved" points are the four cells that include the starting point as one of the points of the cell, as only these cells have three "moved" points. As points are moved, other cells become cells which have three "moved" points.
In certain embodiments, instead of providing cell data, the software according to embodiments of the invention provides data on a plurality of points identified or found on the surface. This data on a plurality of points may be used accordingly, for example the data may be used as corners of a plurality of panels when constructing a structure according to the three-dimensional surface. In certain embodiments, a user may be able to specify the type of data which is provided, for example whether data is provided on a plurality of cells or a plurality of points.
A structure can be constructed according to the cells determined using the above described methods, scaling as appropriate and replacing the cells with panels (for example, glass panels). Alternatively, a grid shell structure can be constructed whereby the cells are scaled as appropriate and edges of the cells are replaced with grid shell members. The shape of the structure will conform substantially with the shape of the three-dimensional surface. Figure 26 shows an example of a grid shell structure conforming substantially to the shape of the surface 140 of figure 15 when the cells are converted to grid shell members. In certain embodiments, when a structure is constructed according to the cells, the cells in the structure do not necessarily have edges which match or share the edges of adjacent cells. For example, support members can be included in the structure which ■ support corners of adjacent cells, where the corners are not substantially at the same point. This may give the structure an uneven look, although the effect may not be noticeable if the corners of adjacent cells are offset by only small amounts, and/or the structure is large enough for the corners to be a significant distance from the viewer.
This technique could be used to allow planar panels to be used in a structure where the determined cells are non-planar.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features:
The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

Claims

Claims
1. A method of determining points on a three-dimensional surface, comprising: determining a plurality of first points on a first curve on the surface; determining a plurality of second points on a second curve on the surface; determining a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise at least two points from the plurality of first points, the plurality of second points and/or the set of further points.
2. A method as claimed in claim 1, comprising determining a plurality of further points associated with respective associated points.
3. A method as claimed in claim 1 or 2, wherein determining a further point comprises determining a point on or within a predetermined distance of the surface which is also on a plane defined by the associated points, where the associated points comprise at least three points.
4. A method as claimed in claim 3, wherein determining a further point comprises determining a point on or within the predetermined distance of the surface where the plane intersects or passes within the predetermined distance of one of a first set of curves on the surface.
5. A method as claimed in claim 4, wherein each curve in the first set of curves passes through at least one of the first plurality of points.
6. A method as claimed in any of claims 3 to 5, wherein at least one curve of the first set of curves is one of a line of curvature and a curve of intersection between the three-dimensional surface and an intersecting plane.
7. A method as claimed in any of the preceding claims, wherein determining a further point comprises determining a point on or within a predetermined distance of a point where a curve of a first set of curves on the three-dimensional surface intersects a curve of a second set of curves on the three-dimensional surface. ,
8. A method as claimed in claim 7, wherein at least one curve of the first set of curves is one of a line of curvature and a curve of intersection between the three- dimensional surface and an intersecting plane.
9. A method as claimed in claim 7 or 8, wherein at least one curve of the second set of curves is one of a line of curvature, an isoparametric curve and a curve of intersection between the three-dimensional surface and an intersecting plane.
10. A method as claimed in any of claims 7 to 9, wherein determining a further point comprises determining a point on the three-dimensional surface which is a first predetermined distance from one of the associated points and a second predetermined distance from another of the associated points.
11. A method as claimed in any of the preceding claims, wherein at least one of the first and second curves is one of a line of curvature, an isoparametric curve and a curve of intersection between the three-dimensional surface and an intersecting plane.
12. A method as claimed in any of the preceding claims, comprising determining a plurality of cells where each cell has corners at or within a predetermined distance of respective ones of the first points, the second points and the further points.
13. A method as claimed in claim 12, wherein each cell has four edges.
14. A method as claimed in claim 12 or 13, comprising merging selected cells to form one or more larger cells.
15. A method as claimed in any of claims 12 to 14, comprising providing, for at least one of the cells, an indication of at least one of deviation of corner angles from a predetermined angle, a ratio of longest edge to shortest edge of a cell, an angle between cell planes defined by the points at the corners of the cell, a distance of a corner of a cell from a plane defined by other comers of the cell, and the distance divided by the square root of the area of the cell.
16. A method as claimed in any of claims 12 to 15, comprising defining a plurality of panels corresponding to the cells.
17. A method as claimed in claim 16, comprising constructing a structure according to the panels.
18. A method as claimed in any of claims 12 to 17, comprising defining a plurality of structure members corresponding to edges of the cells.
19. A method as claimed in claim 18, comprising constructing a grid shell structure according to the structure members.
20. A method as claimed in any of the preceding claims, wherein the three- dimensional surface is a doubly curved surface.
21. A method as claimed in any of the preceding claims, wherein the method is a computer-implemented method.
22. A computer program comprising code for implementing a method or system as claimed in any of the preceding claims.
23. Computer readable storage storing a computer program as claimed in claim
22.
24. A system comprising means to implement the method as claimed in any of claims 1 to 21.
25. A system for defining a three-dimensional surface, arranged to identify a plurality of first points on a first curve on the surface, identify a plurality of second points on a second curve on the surface, and identify one or more further points associated with at least two associated points, wherein the at least two associated points comprise zero or more first points, zero or more second points and zero and/or more other further points.
26. A method of constructing a three-dimensional structure, comprising: determining a plurality of first points on a first curve on a three-dimensional surface; determining a plurality of second points on a second curve on the surface; determining a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise at least two points from the plurality of first points, the plurality of second points and/or the set of further points; constructing a structure from at least one of panels having corners at structure points and grid shell members at structure points, where the structure points comprise points taken from at least one of the plurality of first points, the plurality of second points and the set of further points.
27. A method of constructing a three-dimensional structure, comprising determining a plurality of points on the three-dimensional surface using the method as claimed in any of claims 1 to 21, and constructing a structure from at least one of panels having corners at the points and grid shell members having ends at the points.
28. A method of determining a plan for a three-dimensional structure, comprising: identifying a plurality of points on or within a predetermined distance of a plurality of points on the three-dimensional surface; and converting the plurality of points into a plan of at least one of panels and grid shell members.
29. A system arranged to carry out the method as claimed in any of claims 26 to 28.
30. A computer program comprising code for implementing the system as claimed in claim 24, 25 or 29.
31. A structure constructed according to the method as claimed in claim 17, 19, 26 or 27.
32. A panel or grid shell member for use in a structure as claimed in claim 31.
33. A method of producing a panel for a structure, comprising determining a shape of a panel from a plurality of points on a three-dimensional surface, and producing a panel according to the determined shape.
34. A method as claimed in claim 33, comprising defining the plurality of points on the three-dimensional surface using to the method as claimed in any of claims 1 to 21.
35. A panel produced according to the method as claimed in claim 33 or 34.
36. A method of producing a panel, comprising: determining a plurality of first points on a first curve on a three-dimensional surface; determining a plurality of second points on a second curve on the surface; determining a further point in a set of further points, wherein the further point is associated with associated points, and the associated points comprise at least two points from the plurality of first points, the plurality of second points and/or the set of further points; determining a shape of a panel from a plurality of points taken from at least one of the plurality of first points, the plurality of second points and the set of further points; and producing a panel according to the determined shape.
PCT/GB2007/001411 2006-04-18 2007-04-18 Data processing method and system WO2007119065A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0900481A GB2454626A (en) 2006-04-18 2007-04-18 Data processing method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/406,515 2006-04-18
US11/406,515 US20070242067A1 (en) 2006-04-18 2006-04-18 SmartForm

Publications (2)

Publication Number Publication Date
WO2007119065A2 true WO2007119065A2 (en) 2007-10-25
WO2007119065A3 WO2007119065A3 (en) 2008-10-09

Family

ID=38604427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2007/001411 WO2007119065A2 (en) 2006-04-18 2007-04-18 Data processing method and system

Country Status (3)

Country Link
US (1) US20070242067A1 (en)
GB (1) GB2454626A (en)
WO (1) WO2007119065A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107310169A (en) * 2017-06-09 2017-11-03 南京航空航天大学 One kind is based on geodesic piddler method between 2 points on curved surface
CN111914456A (en) * 2020-08-05 2020-11-10 湖南科技大学 Method for predicting development of air leakage crack of regenerated roof by finite difference method and similar experiment

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514238B2 (en) * 2008-11-21 2013-08-20 Adobe Systems Incorporated System and method for adding vector textures to vector graphics images
KR20110024053A (en) * 2009-09-01 2011-03-09 삼성전자주식회사 Apparatus and method for transforming 3d object
US8731869B2 (en) * 2010-03-24 2014-05-20 The Boeing Company Advancing layer surface grid generation
EP2383669B1 (en) * 2010-04-02 2018-07-11 Dassault Systèmes Design of a part modeled by parallel geodesic curves
WO2015057391A1 (en) * 2013-10-14 2015-04-23 United Technologies Corporation Automated laminate composite solid ply generation
EP3143529A4 (en) * 2014-05-13 2018-01-10 Siemens Product Lifecycle Management Software Inc. Geodesic sketching on curved surfaces
CN105654543B (en) * 2014-09-25 2019-01-22 南京林业大学 The modeling of broad leaf tree real blade and deformation method towards laser point cloud data
US10062202B2 (en) * 2014-12-22 2018-08-28 General Electric Company System and methods of generating a computer model of a composite component
US10421267B2 (en) 2015-02-12 2019-09-24 Arevo, Inc. Method to monitor additive manufacturing process for detection and in-situ correction of defects
US9895845B2 (en) 2015-02-16 2018-02-20 Arevo Inc. Method and a system to optimize printing parameters in additive manufacturing process
US10339226B2 (en) * 2016-06-08 2019-07-02 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for defining watertight and locally refinable surfaces with interpolatory control points
US9656429B1 (en) 2016-08-09 2017-05-23 Arevo, Inc. Systems and methods for structurally analyzing and printing parts
WO2018213334A1 (en) 2017-05-15 2018-11-22 Arevo, Inc. Systems and methods for determining tool paths in three-dimensional printing
US11315299B1 (en) * 2020-11-13 2022-04-26 Unity Technologies Sf Method for computation of local densities for virtual fibers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649079A (en) * 1994-02-28 1997-07-15 Holmes; David I. Computerized method using isosceles triangles for generating surface points
US6639592B1 (en) * 1996-08-02 2003-10-28 Silicon Graphics, Inc. Curve network modeling
US5999188A (en) * 1997-03-03 1999-12-07 Lsi Logic Corporation System and method for parametric surface representation from polygonal descriptions of arbitrary objects
US7196702B1 (en) * 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
US6781582B1 (en) * 1999-12-27 2004-08-24 Alcoa Nederland B.V. Mesh generator for and method of generating meshes in an extrusion process
US7212205B2 (en) * 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
US6819966B1 (en) * 2003-12-06 2004-11-16 Paul E. Haeberli Fabrication of free form structures from planar materials
US7295202B2 (en) * 2003-12-26 2007-11-13 Toyota Jidosha Kabushiki Kaisha System for approximating and displaying three dimensional CAD data, and system for executing method thereof

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ALLIEZ P ET AL: "Anisotropic polygonal remeshing" ACM TRANSACTIONS ON GRAPHICS, ACM, vol. 22, no. 3, 1 July 2003 (2003-07-01), pages 485-493, XP002463076 ISSN: 0730-0301 *
DATABASE INSPEC [Online] XP002489539 Database accession no. 8187520 & GLYMPH J ET: "A parametric strategy for free-form glass structures using quadrilateral planar facets" AUTOMATION IN CONSTRUCTION ELSEVIER, vol. 13, no. 2, March 2004 (2004-03), pages 187-202, NETHERLANDS ISSN: 0926-5805 *
FARIN G: "Curves and Surfaces for CAGD" 2005, MORGAN KAUFMANN , SAN FRANCISCO , XP002489538 page 395 - page 397 *
HOUMAN BOROUCHAKI, PASCAL FREY: "adaptive triangular-quadrilateral mesh generation" INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, vol. 41, 1998, pages 914-934, XP002489536 *
PAUL SHEPHERD: "Textiles, Composites and Other Things in Construction" ENGINEERING TEXTILES WORKSHOP, 12 April 2005 (2005-04-12), - 13 April 2005 (2005-04-13) XP002489534 Nottingham Retrieved from the Internet: URL:http://textiles.nottingham.ac.uk/Workshop2005/PShepherd.pdf> *
ROGER CASS, STEVEN BENZLEY, RAY MEYERS, TED BLACKER: "Generalized 3-D Paving: An Automated Quadrilateral Surface Mesh Generation Algorithm" INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, vol. 39, 1996, pages 1475-1489, XP002489537 *
STEPHAN SÖREN, JAIME SÀNCHEZ-ALVAREZ, KLAUS KNEBEL: "Reticulated structures on free-form surfaces"[Online] 2003, XP002489535 Retrieved from the Internet: URL:http://www.meroform.de/uploads/tx_cwtcartoongallery/free_ret_stru_e.pdf> *
STEPHAN SÖREN, JAIME SÀNCHEZ-ALVAREZ, KLAUS KNEBEL: "stabwerke auf freiformflachen" STAHLBAU, vol. 73, no. 8, 2004, pages 562-572, XP002489533 Berlin Retrieved from the Internet: URL:http://www3.interscience.wiley.com/cgi-bin/fulltext/109609121/PDFSTART> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107310169A (en) * 2017-06-09 2017-11-03 南京航空航天大学 One kind is based on geodesic piddler method between 2 points on curved surface
CN107310169B (en) * 2017-06-09 2019-10-11 南京航空航天大学 One kind is based on geodesic piddler method between two o'clock on curved surface
CN111914456A (en) * 2020-08-05 2020-11-10 湖南科技大学 Method for predicting development of air leakage crack of regenerated roof by finite difference method and similar experiment
CN111914456B (en) * 2020-08-05 2022-05-03 湖南科技大学 Method for predicting development of air leakage crack of regenerated roof by finite difference method and similar experiment

Also Published As

Publication number Publication date
WO2007119065A3 (en) 2008-10-09
GB2454626A (en) 2009-05-20
GB0900481D0 (en) 2009-02-11
US20070242067A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
WO2007119065A2 (en) Data processing method and system
EP1881458B1 (en) Computer-implemented process for creating a parametric surface
KR100936648B1 (en) Method for creating a parametric surface symmetric with respect to a given symmetry operation
Winslow et al. Multi-objective optimization of free-form grid structures
US20190088014A1 (en) Surface modelling
WO2020229883A1 (en) Method for the lightweighting and/or designing of an additively manufactured article
Tolvaly-Roșca et al. Development of Helical Teethed Involute Gear Meshed with a Multi-Edge Cutting Tool Using a Mixed Gear Teeth Modeling Method
Choi et al. Support-free hollowing with spheroids and efficient 3D printing utilizing circular printing motions based on Voronoi diagrams
Naylor Filling space with tetrahedra
Liu et al. Handling extraordinary nodes with weighted T-spline basis functions
Leimer et al. Reduced-order simulation of flexible meta-materials
Zhao et al. Geometry of axisymmetric 3D origami consisting of triangular facets
Shan et al. Simplified quadrilateral grid generation of complex free-form gridshells by surface fitting
JP6495728B2 (en) Shape deformation apparatus and shape deformation program
Alekseev Geometrical simulation of regular and irregular folded structures
JP6449703B2 (en) Shape deformation apparatus and shape deformation program
Docampo-Sánchez et al. A regularization approach for automatic quad mesh generation
Mullins et al. Voronoi Spaghetti & VoroNoodles: Topologically Interlocked, Space-Filling, Corrugated & Congruent Tiles
Anastas et al. Complex surface approximation with developable strips
Bhooshan et al. Design-friendly strategies for computational form-finding of curved-folded geometries: A case study
Jingyu et al. An approach to computing multipoint inversion and multiray surface intersection on parametric surface
Abdelmagid et al. Design Model for Block-Based Structures from Triply Orthogonal Systems of Surfaces
Liu et al. Developable strip approximation of parametric surfaces with global error bounds
Kos et al. Structure generation for free-form architectural design
Lordick Intuitive design and meshing of non-developable ruled surfaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07732453

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 0900481

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20070418

WWE Wipo information: entry into national phase

Ref document number: 0900481.3

Country of ref document: GB

122 Ep: pct application non-entry in european phase

Ref document number: 07732453

Country of ref document: EP

Kind code of ref document: A2