METHOD AND SYSTEM FOR GENERATING PATTERNED IMAGES
TECHNICAL FIELD OF THE INVENTION THIS INVENTION relates to a method and system for generating patterned images with selectable image modifying parameters. THIS INVENTION also relates to a computer program for generating patterned images with selectable image modifying parameters.
BACKGROUND OF THE INVENTION
As used herein, the term "patterned image" refers to a geometric shape or pattern. Patterned images are used in many diverse artistic and industrial applications. Examples of such usage include but are not limited to: covers for books and magazines, fabrics for clothing and furnishing materials, wall coverings and hangings, computer images for screen shots and web pages, templates for the fabrication or construction industries ( e.g. computer routing, stained glass windows, production of three dimensional graphics, use as a creative design tool in the textile industry, use as a component of CAD packages).
The construction of patterned images manually, or using a graphic design or CAD software is a time consuming process. To construct manually, a designer needs to draw every line and curve and join them together to represent a desired image pattern. When using a graphic design software, the designer generally needs to select appropriate drawing tools to generate simple lines or boxes, and to join the generated images from the selected tools to represent a desired patterned image. When such constructed patterned image is not suitable, the designer needs to redraw, if done manually, or to modify it by deleting some of the generated images and to again select other appropriate drawing tools for generating desired images for joining to the existing images. Such construction of patterned images also requires extensive experience and skills before one can produce patterned images in an adequate manner.
Accordingly, there is a need to be able to construct patterned images with relative ease.'
OBIECT OF THE INVENTION An object of the present invention is to alleviate or to reduce to a certain level one or more of the prior art disadvantages.
SUMMARY OF THE INVENTION In one aspect, the present invention resides in a system for generating patterned images. The system comprises template selection means for selecting a shape template from a set of selectable shape templates, parameter selection means for selecting one or more parameters for modifying the selected shape template, and generating means for generating a patterned image according to the selected parameter(s) and a predetermined rule.
In another aspect, the present invention resides in a method for generating patterned images. The method comprises the steps of:
(a) selecting a shape template from a set of selectable shape templates;
(b) selecting one or more parameters for modifying the selected shape template; and
(C) generating a patterned image according to the selected parameter(s) and a predetermined rule.
In a further aspect, the present invention resides in a computer program for generating patterned images. The program comprises a user interface having template selection means for selecting a shape template from a set of selectable shape templates, parameter selection means for selecting one or more parameters for modifying the selected shape template; generating means for generating a patterned image according to the selected parameter(s) and a predetermined rule; and the program is adapted to print and/or display the generated patterned image.
In preference, each said shape template has at least one guiding surface formed with a set of preassigned guiding parameters, and a number of control points distributed along the at least one guiding surface. The generating means/step is adapted to join a subset or all of said control points to form one or more connecting surfaces for generating said patterned image in accordance to said predetermined rule.
In yet another aspect the present invention resides in a method of constructing a figure on a monitor screen comprising the steps of:-
1. establishing at least one guide surface;
2. distributing control points on the surface or surfaces in a desired array; 3. outlining the desired figure by connecting at least some of the points, adjusting the characteristics of each guide surface to modify the outline and optionally colouring the figure thereby constructed.
The invention of the present invention may have a colour arrangement applying the same or different colours to predefined area of the patterned image. Said one or more parameters may include any parameter in the set of preassigned guiding parameters, and/or the number of control points, and/or the colour(s).
Desirably, the invention includes a timing means/step for modifying the selected parameter(s) at a user selectable time period so that the patterned image changes shape at said time period.
This invention thus provides a method/system/program for selecting parameterised shapes that have been created using the steps outlined below (Steps
1 to 5). The user of the invention selects the particular shape they are interested in
(e.g. Star) and modifies the parameters until an aesthetically pleasing result is achieved (Step 6).
Step 1 to 5 is typically performed by creating code or by use of a separate
GUI tool. The parameterised shapes that are created are then embedded in the application for the end user, these parameterised shapes can be thought of as a shape template that is easily modified by the user through the parameters that are exposed by the shape designer.
This invention creates a new level of possibilities for the design of interactive shapes. Previously shapes were created labouriously in each particular instance by coding the steps required to produce a particular shape e.g. A square. The most advanced form of artistic shape creation was production of regular polygons by selecting the number of sides (e.g. Photoshop by Adobe), some programs presented a set of shapes that could be modified but the flexibility was limited (e.g. Photoplus
by Serif). The algorithm outlined below provides selectable shape templates that can be modified easily by the user using standard GUI controls (knobs, sliders, buttons).
In mathematical terms, different methods have been used to create shapes that can be modified by tweaking parameters, e.g. The parabola y : = x2 creates a curve that is parameterised by the position x. To produce more complex shapes required labourious definition of each curve over a range and domain, in computer software shapes were defined by describing each part of the shape and drawing it.
The algorithm described below presents a general purpose method of describing sets of continuously differentiable curves that can be adjusted not individually but en-masse so that a complex shape can be described by a few parameters.
Any continuous differentiable curve in n space can be defined by a set of parameters. If these parameters are connected together in a consistent way that also happens to produce an aesthetically pleasing shape then it would be possible to create arbitrarily complex shapes that can be modified by adjusting only a few controlling values or parameters. The algorithm outlined below succeeds in doing this.
To provide an easily parameterisable shape, it was necessary to determine an algorithm to produce shapes that could be parameterised with a maximum of flexibility. The algorithm selected is outlined below in general terms, and rigorously defined later.
Step 1. Create the guiding surfaces.
The guiding surface is any arbitrary shape in 2,3 or 4 dimensions. This guiding surface can be as simple as a circle, or line or any arbitrarily defined shape. There can be any number of guiding surfaces, the guiding surfaces are controlled by a number of parameters, determined by the shape designer. E.g. The parameters could be the radius of the circle, the length of a line, the angle of a line to a plane.
Any number of these parameters can be exposed to the user of the software package, at the discretion of the shape designer.
Typically a set of guiding surfaces will be available to the shape designer e.g. In the 2d case lines, circles, sine curves. Each of these guiding surfaces has a set of parameters that can be exposed, for the line the start and end point are the parameters, alternatively the line can be parameterised by a start point and an angle. The circle can be parameterised by a centre point and a radius. The sine curve can be parameterised by a phase and an amplitude. Step 2. Distribute the control and end points along the surfaces. Along each surface distribute control points according to the distribution algorithm. The distribution algorithm determines where the points are plotted along the controlling surface. The simplest method of distribution is to use equal distance along the guiding surface. The points can also be distributed with a random perturbation from the controlling surface. Any function of distance can be applied. E.g. Distribute 6 points along the circumference of a circle evenly. The distribution can be parameterised (parameter is number of points), and these parameters can be exposed to the user at the shape designers discretion. Step 3. Define the connecting surfaces.
The connecting surfaces are defined as n-dimensional surfaces that use a subset of the guiding surfaces as control points, e.g. the simplest connection rule is connect adjacent points with a line (see fig 5). For multiple surfaces the connection rules define connections between the surfaces and within the same surface.
In the 2 dimensional case the connecting surfaces can be lines or curves, the lines require 2 guiding surfaces one for the start and one for the end point. For the curve, a Bezier curve can be used it requires 4 guiding surfaces, 2 for the endpoints and 2 controlling surfaces. Step 4. Create the shape from the connecting functions
The points distributed along the connecting surfaces, can now be connected according to the connection rule. The connection rule connects the points on a subset of the guiding surfaces together, the points on the guiding surface can be part of the connecting surface, or control points that are used to modify the connecting surface. Control points are used in surfaces such as splines (2d) and Bezier patches (3d).
Step 5. Optionally define a colouring of the shape produced.
The surfaces produced in step 4, may intersect each other, the intersections partition the space, into a number of subsets, each of these subsets can be coloured a different colour. Optional Modifications to the algorithm.
Modification 1.
The points created in step 2 can be used as parameters to create additional guiding surfaces, these can either replace, or augment the original set of guiding surfaces.
Modification 2. The surface created in Step 4 can be used to replace or augment the original guiding surfaces. Then Step 2, 3 and 4 can be repeated with new point distributions and connecting surfaces.
Step 6. User input
The shape created using the algorithm above can now be modified by the user, by varying the exposed parameters, until a shape that is pleasing to the user is obtained.
Step 6. Modification
Rather than the user modify the parameters by hand, some function of time can be used to modify the parameter, this will animate the shape, so that it is modified in time. The result is an animated shape displayed on the screen.
Note the process above is not restricted to 2 or 3 dimensions, so that time can be modulated using the process outlined above, i.e. Time can be used as a 4th dimension, and steps 2 through 6 can be applied to this 4th dimension.
Example 1 This will step through the process outlined above to create a star shape with the parameters, 'number of points', 'depth' and 'size'.
Step l .
The guiding surfaces are 2 concentric circles, with radius r-, and r2, with r-, > r2.
The parameter 'size' is defined as r-,, the radius of the outer circle. The parameter 'depth' is defined as the ratio r-,/r2 in percent.
Step 2.
Distribute 6 points evenly along the circumference of each circle, offset the points by 360/(Number of Points*2) degrees on the inner circle. The offset is so that the points on the inner circle appear in-between the points on the outer circle. The parameter is 'Number of Points', and has an initial value of 6. Step 3 and 4.
The connecting surfaces in this case are lines between the points on the inner and outer circle, the lines start at the first point on the outer circle and connect to the first point on the inner circle, the next line connects from this point to the second point on the outer circle and so on, ending with a connection from the last point on the inner circle to the first point on the outer circle. Step 5.
In this case we use a simple colouring and fill all the enclosed polygons. To create an outline of the star omit this step. The different colourings available can be provided to the user, so that they can be selected, according to artistic taste, i.e. The colourings are parameterised as well. Example 2.
An interesting effect can be produced in example 1 ., by adding a new parameter 'phase'. This is the relative phase of the points created in Step 2, so instead of producing the points on the inner circle every 360/(Number of points * 2) degrees, the points are offset some angle
Now by the user applying step 6. And varying the 'phase' by 10 degrees, different shapes are produced as in figure 6. The 'number of points' is set to 4, and no colouring rule is applied. Example 3. The user can apply step 6. Again and vary the colouring to the Stars produced in example 2., as in figure 7. This particular colouring is 'Colour black the area between odd-numbered and even-numbered polygon sides on each scanline'. A visually more exciting shape is created in figure 8, by modifying the 'phase' and 'number of points' values, with the same colouring rule. Example 4.
The connecting surfaces need not be straight lines, as in figure 9 and figure 10, these consist of 4 concentric circles as guiding surfaces, with 2 of the guiding surfaces as the end points of a spline curve, and the other 2 surfaces as control points for the spline. The shape construction process is performed by the shape designer. The shape can be in code, or constructed by using a GUI tool. The GUI tool can provide a number of pre-defined guiding surfaces, point distributions, connecting surfaces and colourings. The shape designer can select the elements that make up the shape, and selectively expose the parameters that control the shape design. This invention allows the user to modify shapes that are previously constructed by a programmer or designer (henceforth called the shape designer). The user can modify the shapes of the shape templates by altering a number of parameters: the parameters available to the user are decided by the shape designer. The parameters can be modified by using any of the standard GUI tools (e.g. Slidebars, numbers). The presentation of parameters to the user, using standard GUI tools is unique to this invention. By presenting the parameters to the user as GUI elements, the user can experiment with the shape parameters in real time, until a desirable and one-of-a-kind artistic result is achieved. To users the shapes appear to grow "organically" simply by adjusting the GUI. BRIEF DESCRIPTION OF THE INVENTION
In order that the present invention can be clearly understood and put into practical effect the description will now refer to the drawings which show non-limiting embodiments of the invention, wherein:-
Figure 1 is a diagram showing a simple shape template for generating a patterned image according to the present invention;
Figure 2 repeats Figure 1 with a colouring rule applied; Figure 3 shows Figure 2 with non parallel guide surfaces; Figures 4A to 4H show regular polygons that can be generated by modifying the number of control points on a circular guiding surface; Figure 5A to 5B show a "Phased Star" patterned imaged modified with a change in the phase parameter;
Figures 6A - 60 are diagrams as the "Phase Star" shown in Figure 5, with the relative phase of the two circles used in their construction, increasing by 10 degrees for each star;
Figure 7 shows the star of Figures 6A-6O with the colouring rule applied; Figure 8 is a modified "Phase Star" shown in Figure 7;
Figure 9 shows a patterned image generated with four concentric circular guide surfaces;
Figure 10 shows a shape template for generating the image shown in Figure
9; Figure 11 shows a Bezier curve template being set at various phases;
Figure 12 shows development of the template shown in Figure 10 with three curves visible;
Figure 13 shows development of the template with the three curves shown in Figure 11 ; Figure 14 shows the template in Figure 12 withoutthe construction template;
Figure 15 shows the shape of Figure 13 without the construction lines; Figure 16 shows the shape in Figure 14 with colouring rule applied; Figure 17 shows the shapes of Figure 15 with a colouring rule applied; Figure 18 shows the effect of modifying the shape in Figure 17 with and without application of the colouring rule;
Figure 19 shows the shapes of Figure 19 modified with a set of different parameters;
Figure 20 depicts daisy shapes generated from the template in Figure 9; Figure 21 depicts the shapes similar to those shown in Figure 20 with spline end points moved to the outer circle;
Figures 22 shows a template having a series of concentric stars for generating patterned images according to the present invention;
Figure 23 shows the use of connecting lines as further guiding surfaces for recursively generating a patterned image; Figure 24 is another example of the recursive generation of patterned images;
Figure 25 shows a patterned image consisting of repetitive curls;
Figures 26 to 29 are more examples of the patterned images generated according to the invention;
Figures 30 to 37 shows examples of the interfaces of the program according to the present invention; and Figure 38 is a flow chart showing the sequence of invention steps.
DETAILED DESCRIPTION OF THE INVENTION Now that we have produced an outline of the process followed to create parameterised shapes, it is defined rigorously below, a flowchart of the process is described in Figure 38. Steps 1 to 5 are typically performed by the shape designer, Step 6 is performed by the user of the software package. The user may be the shape designer, i.e. Both the role of shape designer and user may be performed by the same person.
To create a paremeterised shape in n dimensions Step 1. Create the guiding surfaces. Create a set of k, n dimensional surfaces using functions M; that has a set of parameters moi to mpi I.e. The set of surfaces is
S = {M,: M is an n-dimensional function defined by Pi parameters moi..mpi for i = 0..k}. Example 1. In 2-space, the set-S = { (x2 + y2 =r), (x2 + y2 = 2*r) } where the parameter is r for both functions. This creates 2 concentric circles with radius r and 2*r.
Step 2. Distribute the control points along the surfaces.
For each surface M,, there is t, control points. The control points may be distributed along the surface M, in any pattern. The distribution function and the number of control points are parameters that control the shape. The set of points is P = ip,-, : where ie0..k, p^eM, for j = 0..t; } Define the subset of points P, = -CpjE : where ie 0..k, p^eM, for some ie0..k, O≤j≤tj} these are all the control points that are on one guiding surface. Example 2. For the concentric circles in step 1 , the simplest distribution is to place t points every 360/t degrees around the circumference of the circle. Where t0 = , = t i.e.
P = {Pϋ : where xj0 = r*cos(j * (360/t)), yj0 = r*sin(j*(360/t)), Xjl = 2*r*cos(j*(360/t)), yπ = 2*r*sin(360/t)) } Step 3. Define the connecting surfaces.
Now that we have a parameterised set of points we can use these points to create surfaces. In general define w n-dimensional functions cw. Associate with each cw a set of guiding surfaces. This gives the set of functions C as
C = { {cw(p), r} : cw is an n-dimensional function of p in P' with optional control points r in P' } Where P' is the ordered set of points in a number of the guiding surfaces, i.e. P' = ®, Pj, for 1 or more i in 0..k.
Example 3. For the example 2, define C as the set of lines joining the corresponding points in the outer circle to the inner circle.
I.e. C = { {f(p0,p.,) : p0e P0, p-,e ? l f is the line segment between the points p0 and p. } Step 4. Create the shape from the connecting functions
Now we use the connecting functions defined in Step 3, to create the shapes. The algorithm is
Y = φ (φ is the empty set) For each function c
weC
For u : = 0 to k do
Create the set of points Y defined by the function cw by Y := {points : points cw(pu)}U Y The set Y can be displayed on screen, and displays the surfaces defined by C. Step 5. Optionally define a coloring of the shape produced.
First some definitions, so that we can define the coloring function.
Def 1. Partition of a set
The partition of a set X is a family D of disjoint non-empty subsets of X such that
U{D: D e D}. Def 2. Neighborhood of a point.
The neighborhood of a point p is the set of all points within a distance e of p. I.e. N(p,) = {p, : d(p„ p,)<e , where d is a distance metric for the n-dimensional space}
Def 3. 2 points are connected 2 points are connected if there exists a series of neighborhoods between the 2 points, with each neighborhood containing a point in the preceding neighborhood.
I.e. two points p, and p are connected if there exists px+l, 0</<n + 1 such that p eN(px), px e N(px+1), px+1 e N(px+2), ...,px+n e N(px+n+1), px+n+1 e N(p,). The path connecting p, to p, is the set of points {px,...,px + n + 1 }, i.e. Path(p„ pj) = {px, ..., px+n+1}.
We can define a partition on the n-dimensional space using the surface Y created in step 4 above as follows
D, = {p, : p, is connected to p„ and Vy eY,y^path(p„pJ), p„p, Y}
And the partition D is the set of D, for all points not in Y. Now define the coloring function T as
T(D.) : D, →Color
This coloring excludes the edges of the partition, alternatively the edges may be included by defining D, as
D, = {pJ : p, is connected to p„ and y eY,y^path(p„pJ), p,£Y, p, eY} that is the endpoints of the path are on the surface created by the boundary Y.
I.e. The surface created in step 4 creates a partition of the space. The individual elements of this partitioned space can be colored in any color.
The output color can be modified by changing the coloring function.
The above steps create complicated shapes, it is also possible to apply the steps iteratively as described in the following.
Modification 1.
The points distributed in step 2 can be used as parameters in creating additional guiding surfaces. Step 2 can then be repeated with this new set S' of guiding surfaces where S' = S U {The new guiding surfaces} or alternatively the new guiding surfaces S' can replace S.
Modification 2.
The surface created in Step 4 can be used to augment the original guiding surfaces S, or replace the original guiding surfaces S. Then Step 2, 3 and 4 can be repeated with new point distributions and connecting surfaces.
Step 6. Modification of the shape by the user
Now that the shape has been created, it can be modified by the user by adjusting the parameters moi..mpi defined in step 1 , modifying the number of steps and the distribution function, and the point labeling in step 2, modifying the connecting surfaces in step 3, and modifying the coloring function in step 5.
Typically not all these parameters would be available to the user for every shape, for example in the star example in Ex 3.2 obvious parameters the user might like to vary are the number of points and the radius of the 2 circles.
We have found the advantages of the above embodiment to be: 1. complex shapes are easily parameterised;
2. a variety of shapes are easily constructed where after colour may be added just as easily.
Referring now to Figure 1 , there is shown an embodiment of a simple shape template that a user can select from a set of the shape templates provided by the invention. This template consists of two guiding surfaces which are spaced straight lines, one atthe top and one below. The user has chosen to use 6 distribution points along each guiding surface. The number for the distribution points is one of the user selectable parameters. The user may also change the size parameter of the template if a different size is desired. The program then draws connecting lines from even numbered points on the top surface to the odd numbered points on the bottom surface, and from even numbered points on the bottom surface to the odd numbered points on the top surface, and thereby generating a patterned image.
In Figure 2, a colouring rule is applied to the image shown in Figure 1 . The rule for this template is: colour any triangle that has a long side as a guiding surface. Figure 3 shows the effect of applying a smaller size parameter at the starting point on the left of the guiding surfaces. In this case the size parameter at the left
starting point is reduced by moving both guide surfaces towards an imaginary centre line by 56%, and resulting in non parallel guiding surfaces.
Figures 4A-H showthatvarious polygonal patterned images can be generated by the invention by selecting the number of distribution point parameter on a template of circular guiding surface. In the examples shown, the points are distributed evenly around the guiding surface and the adjacent points are joined by connection lines.
Figure 5 shows the construction of 'Phased Star' patterned images. The shape template for these images consists of 2 concentric circles as guiding surfaces. Control points are distributed evenly along the circumferences of the circles. The 0th point on the outer circle, and the 0th point on the inner circle are on the radius from the centre of the circle. The phase parameter for modifying the shape is defined as the relative angle of point 0 on the outer circle to point 0 on the inner circle in an anti-clockwise sense. The parameters for this shape are: The number of points
The relative depth of the concentric circles The phase between the circles
Figures 6A to 60 show the effects of modifying the 'Phase Star' patterned image shown in Figure 5 with a progressive increment of 10 degree to the phase parameter from 0 to 1 50 degrees. Figure 7 shows the effects of applying the colouring rule to the images shown in Figures 6A to 60. In this case the colouring rule uses the 'Alternate' polygon fill method.
Figure 8 shows a patterned image generated by modifying the parameters of the template for the shapes in figure 7. In this case the parameters are number of points = 37,
Depth = 100, Phase=204. The same colouring rule was retained.
More exotic shapes can be produced by connecting the guiding surfaces with curves, rather than lines. The sequence below demonstrates construction of the
shape in Figure 9 using the method as outlined hereinbefore. Complex shapes can thus result from such simple rules.
The template for the image shown in Figure 9 uses 4 guiding surfaces. The surfaces are concentric circles. The radius of the 2 innermost circles is the same and the radius of the 2 outermost circles is the same. The circle radius is parametized by using the ratio of the innermost circle to the outermost circle in percent, 0% means the innermost radius is 0, and 100% means the innermost radius equals the outermost radius. The template used is detailed below.
Figure 10 shows the beginning of the construction of the shape in Figure 9. One Bezier curve from the shape in Figure 9 is displayed above. The parameters are Number of points = 3, Depth = 50%, Phase = 0. The outermost guiding surfaces which contain the Bezier control points are out of phase with each other by 360/(number of points) degrees, i.e. the Bezier control point is on a line with the end point that intercepts the radius of the circles when the Phase is 0. Figure 1 1 shows the single Bezier curve with Phase set to 0, 5 and 10, 20,
30, 40, 50, 60 and 70 degrees from left to right. As shown the phase angle for the 2 outermost circles is in opposite directions, so that the curve is bilaterally symmetric.
Figure 12 shows development of the template shown in Figure 10 with three curves visible;
Figure 13 shows development of the template with the three curves shown in Figure 11 ;
Figure 14 shows the template in Figure 12 withoutthe construction template;
Figure 1 5 shows the shape of Figure 13 without the construction lines; Figure 1 6 shows the shape in Figure 14 with the "alternate" polygon fill colouring rule applied;
Figure 1 7 shows the shapes of Figure 15 with the "alternate" polygon fill colouring rule applied;
Figure 1 8 shows the effect of modifying the shape in Figure 1 7 with (the leftmost drawing) and without (the rightmost drawing) application of the colouring rule; The parameters are set at:
Number of Points=18;
Depth = 60;
Phase=100.
Figure 1 9 shows the shapes of Figure 18 modified with a set of different parameters set at:
Number of Points=20;
Depth = 78;
Phase= 141 .
Figure 20 depicts daisy shapes generated from the template in Figure 9. The template for these is the same as that of Figure 10, but in this case there is no need for a phase parameter. The depth = 10, and the number of points varies from 3 to 7 from left to right.
Figure 21 depicts the shapes similar to those shown in Figure 20 with spline end points moved to the outer circle. By reversing the guiding surfaces used in Figure 10, a template is produced that gives shapes resembling sunbursts. In this case the 2 circles containing the endpoints are outermost, and the 2 circles containing the Bezier control points are innermost. In the examples the depth = 50 and the number of points varies from 3 to 7 from left to right.
Figures 22 shows a template having a series of concentric stars. This template produces a series of concentric star shapes. In this case the number of guiding surfaces is parameterised as well as the number of points. The displayed shape has number of guiding surfaces=4 and number of points=4.
Figure 23 shows the use of connecting lines as further guiding surfaces for recursively generating a patterned image. As discussed in Modification 1 and 2 to the algorithm, the lines created by the first shape can be used as guiding surfaces for another template. In this way shapes can be constructed recursively. The shape above creates a basic 4 pointed star, then uses the lines of the points of the star as guiding surfaces for the shape displayed in figure 3. The parameters of the template are number of points of the star, depth of the star and number of points of the shape in each point of the star. The circles displayed are the guiding surfaces for the star.
Figure 24 is another example of the recursive generation of patterned images. The drawing in this Figure again demonstrates the possibility of recursion with the templates. This template creates a star. It has parameters of depth and number of points. In each point of the star the shape is inscribed as in figure 21 , using the lines of the surface. Though the template for this shape is different, it simply fills one side of the point, and has no parameters exposed.
Repetitive curls along a line are possible. This shown in Figure 25. In the template shown, 2 Bezier curves are joined end to end. There are a total of 8 guiding surfaces, 4 for the top Bezier curve, and 4 for the bottom Bezier curve. The top Bezier curve has 2 guiding surfaces for the endpoint: 1 placed at the top, and one placed midway down. The guiding surfaces for the Bezier control points are placed halfway down the image and 1/4 of the way down the image. Likewise for the bottom curve, the guiding surfaces for the end points of the Bezier curve are placed at the bottom of the image and halfway up the image. The guiding surfaces for the Bezier control points are placed half way and 1/4 of the way up the image. The curl of the curve is adjusted by moving the guiding surfaces for the control points relative to the end points. There are 4 parameters for the Bezier control points: one for each guiding surface and the number of points.
The curves in Figure 25 can be used to control spirals and other-curves, and by using a non-linear guiding surface, shapes such as Celtic curves and knots can be created and adjusted by using a few parameters.
Figures 26 to 29 are more examples of the patterned images generated according to the invention. In Figure 26, the shape is a 3 pointed star. The template for this consists of 2 guiding surfaces - concentric circles. The parameters are 'Number of Points' and 'Depth'. The difference between this and stars created earlier is that the centre is not painted.
The template from Figure 24 can be modified to al low recursive construction of the shapes. In the example shown in Figure 27, at each point of the star a new star is painted. This star is reduced in size according to the parameter - 'Shrink Ratio'. The shrink ratio resizes the star at each point by a simple ratio. The other parameter added is the iteration level, as the star is painted at each point, then for each point
of the new star, a star is painted ( reduced in size by the shrink ratio ). The example displayed has a shrink ratio of 16 and only 1 iteration level.
More ambitious patterns can be created with the template by varying the parameters as shown in Figure 28. This pattern could be used for textile design or floor tiles or other architectural detailing. The parameters are:
Number of Points = 6;
Depth = 50;
Iteration Level = 3;
Shrink Ratio=16. Another example is shown in Figure 29 where the same template is used.
This pattern could be used for textile design or floor tiles or other architectural detailing. The parameters are:
Number of Points= 10;
Depth =0; Iteration Level = 2;
Shrink Ratio = 6.
Figures 30 to 37 shows examples of the interfaces of the program according to the present invention. Shown In Figure 30, is an example of the user interface of the computer programme according to the present invention. The programme has a set of shape templates on the right hand side of the interface. Any one of the shape templates can be selected for generating patterned images. The current shape selected is numbered 3, and has 3 modifying parameters indicated as 'Number of
Points', ' Depth', and 'Phase'. The values for the parameters can be adjusted and the shape changed in real-time by setting the sliders on the right hand side. The programme of the present invention makes this facility possible. That is, it allows the user to create and adjust complex images in real time (based on the shape templates) until a desired artistic result is achieved. In this way, ital lows users with no prior technical/artistic skills or experience to construct complex one-of-a-kind shapes and repeating patterns for use in a variety of industries. Below is a sequence that creates a shape from start to finish by using the shape templates in the right hand panel. As shown in Figure 31 , initially a desired
effect is selected and dragged and dropped onto the left hand window. Then the user progresses to select a desired template as shown in Figure 32. The size of the selected template can be adjusted by clicking the image of the selected template with a mouse device and dragging to a desired size as shown in Figure 33. The selected template also has certain default parameters as indicated. The user can change the values of the default parameters as detailed below.
Figure 34 shows the process of adjusting the shape by increasing the Number of Points parameter to 30. Figure 35 shows the process of further adjustment of the shape shown in Figure 34 by increasing the Depth parameter to 75. Another adjustment is made by increasing the Phase parameter to 85 as shown in Figure 36.
The completed shape as shown is suitable for use as decoration or in the construction or textile industries e.g. this particular shape could be constructed to use as a plaster moulding base attachment for light fixtures or alternatively printed onto a T-shirt or used as a random repeating pattern for quilt making or fabric design. It is worthwhile noting that due to the near limitless number of possible adjustment choices to each of the shape templates, each design created is original.
Thus each design created may be potentially trademarked.
Figure 37 shows various shapes generated by the programme according to the present invention. Figure 38 is a flow chart showing the sequence of invention steps.
Whilst the above has been given by way of illustrative example of the present invention many variations and modifications thereto will be apparentto those skilled in the art without departing from the broad ambit and scope of the invention as herein set forth.