AU744461B2 - Method and apparatus for transforming a set of closed curves - Google Patents

Method and apparatus for transforming a set of closed curves Download PDF

Info

Publication number
AU744461B2
AU744461B2 AU44585/99A AU4458599A AU744461B2 AU 744461 B2 AU744461 B2 AU 744461B2 AU 44585/99 A AU44585/99 A AU 44585/99A AU 4458599 A AU4458599 A AU 4458599A AU 744461 B2 AU744461 B2 AU 744461B2
Authority
AU
Australia
Prior art keywords
curves
crossover
crossover points
closed
curve
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
AU44585/99A
Other versions
AU4458599A (en
Inventor
Cameron Bolitho Browne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from AUPP5577A external-priority patent/AUPP557798A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU44585/99A priority Critical patent/AU744461B2/en
Publication of AU4458599A publication Critical patent/AU4458599A/en
Application granted granted Critical
Publication of AU744461B2 publication Critical patent/AU744461B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Description

S F Ref: 466823
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT *u
ORIGINAL
Name and Address of Applicant: Canon Kabushlki Kaisha 30-2, Shimomaruko 3-chome Ohta-ku Tokyo 146
JAPAN
Actual Inventor(s): Cameron Bolitho Browne Address for Service: Spruson Ferguson, Patent Attorneys Level 33 St Martins Tower, 31 Market Street Sydney, New South Nales, 2000, Australia Invention Title: Method and Apparatus for Transforming a Set of Closed Curves ASSOCIATED PROVISIONAL [31] Application No(s) PP5577 APPLICATION DETAILS [333 Country
AU
[32) Application Date 28 August 1998 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815 I- I 4 r I .L -1- METHOD AND APPARATUS FOR TRANSFORMING A SET OF CLOSED
CURVES
Field of Invention The present invention relates to a method and apparatus for transforming a set of closed curves. The invention also relates to a computer program product comprising a computer readable medium including a computer program for transforming a set of closed curves.
Background of Invention In the fields of computational geometry and graphics, it is often desirable to modify the shape of an object in some consistent, reproducible and controllable manner, to produce a result that satisfies some criteria regarding shape or form. Such criteria might include the transformation of shapes to those that are considered to be more 15 artistically appealing or complex, but still retain the basic shape of the original outline.
For instance, it may be desirable to transform a computer typeface or font defined by character shape outlines to produce more interesting and artistically pleasing results, where the basic overall outline shapes are maintained so that readability is not lost.
The publication United States Patent No. 5,701,404 discloses a method for trimming non-uniform rational B-spline surfaces according to curves projected onto them.
However, this method suffers from the disadvantage that the basic overall shape of the original outline is not retained.
Summary of the Invention It is an object of the present invention to ameliorate one or more disadvantages of the prior art.
According to one aspect of the invention there is provided a method for RA transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the method comprising the steps of: 466823 -2providing a pattern comprising a set of continuous second curves for projection over the set of first curves upon the surface, wherein the second curves contain no self-crossover points; (ii) determining a set of crossover points where the set of first curves crosses the set of second curves; and (iii) selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a predetermined rule to form closed loops; wherein the closed loops form said transformed set of closed curves.
According to another aspect of the invention there is provided an apparatus for transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the apparatus comprising; providing means for providing a pattern comprising a set of continuous second curves for projection over the set of first curves upon the surface, wherein the second curves contain no self-crossover points; a second determining means for determining a set of crossover points where the set of first curves crosses the set of second curves; and a first selecting means for selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a predetermined rule to form closed loops; wherein the closed loops form said transformed 20 set of closed curves.
ooooo According to still another aspect of the invention there is provided a computer e program product comprising a computer readable medium including a computer program for transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the computer program product comprising; 25 .providing means for providing a pattern comprising a set of continuous second curves for projection over the set of first curves upon the surface, wherein the second curves contain no self-crossover points; a second determining means for determining a set of crossover points where the A4' set of first curves crosses the set of second curves; and 466823 -3a first selecting means for selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a predetermined rule to form closed loops; wherein the closed loops form said transformed set of closed curves.
According to another aspect of the present invention there is provided a method of modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no selfcrossover points, the method comprises the steps of: projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; determining a set of crossover points where the set of first curves crosses the set of second curves; and selecting curve intervals, delimited by crossover points, from the set of first curves and the set of second curves to form a set of closed third curves, wherein said set of closed third curves form a modified said typeface, font, or character.
According to another aspect of the present invention there is provided an apparatus for modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no self-crossover points, the apparatus comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; and means for selecting curve intervals, delimited by crossover points, from the set of o 25 first curves and the set of second curves to form a set of closed third curves, wherein said set of closed third curves form a modified said typeface, font, or character.
According to another aspect of the present invention there is provided a computer program product comprising a computer readable medium including a computer program Sfor modifying a typeface, font, or character, wherein said typeface, font, or character 466823 466823 -4comprise a set of closed first curves, wherein the set of first curves contain no selfcrossover points, the computer program product comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; and means for selecting curve intervals, delimited by crossover points, from the set of first curves and the set of second curves to form a set of closed third curves, wherein said set of closed third curves form a modified said typeface, font, or character.
According to another aspect of the present invention there is provided a method of modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no selfcrossover points, the method comprises the steps of: projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; determining a set of crossover points where the set of first curves crosses the set of second curves; selecting unmarked adjacent crossover points such that curve intervals delimited by said selected crossover points form a closed loop; marking the selected adjacent crossover points; and :o oI repetitively performing the selecting and marking steps until a set of said closed loops eeoo have been formed, wherein said closed loops form a modified typeface, font, or character.
According to another aspect of the present invention there is provided an apparatus for modifying a typeface, font, or character, wherein said typeface, font, or *o 25 character comprises a set of closed first curves, wherein the set of first curves contain no S "self-crossover points, the apparatus comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; 466823 means for determining a set of crossover points where the set of first curves crosses the set of second curves; means for selecting unmarked adjacent crossover points such that curve intervals delimited by said selected crossover points form a closed loop; means for marking the selected adjacent crossover points; and means for repetitively performing the operations of the selection and marking means until a set of said closed loops have been formed, wherein said closed loops form a modified typeface, font, or character.
According to another aspect of the present invention there is provided a computer program product comprising a computer readable medium including a computer program for modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no selfcrossover points, the computer program comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; means for selecting unmarked adjacent crossover points such that curve intervals delimited by said crossover points form a closed loop; means for marking the selected adjacent crossover points; and means for repetitively performing the operations of the selection and marking means until a set of said closed loops have been formed, wherein said closed loops form a S" modified typeface, font, or character.
Brief Description of the Drawings Embodiments of the invention are described with reference to the drawings, in which: Figs. 1A to 1C illustrate the concept of a crossover point; Figs. 2A to 2C further illustrate the concept of a crossover point; Figs. 3A and 3B illustrate the definition of a crossover point, and a special case of crossover; R Fig. 4A illustrates an intersection point that is not a crossover point; 466823 S- Figs. 4B and 4C illustrate an example of the forward and backward direction for a closed curve C; Fig. 4D illustrates the concept of positive and negative direction for an open continuous curve; Fig. 5 is a flow diagram of the preferred method for transforming a set of closed curves.
Fig. 6 is a flow diagram showing in more detail the step 510 of Fig. Fig. 7A illustrates the set of closed curves C of character 4 e ee* *e es N 466823 i Ii i 1 Fig. 7B illustrates the filled counterpart of Fig. 7A; Fig. 8 illustrates an example pattern P composed of parallel sinusoidal curves; Fig. 9A illustrates C' the result of intersecting C of Fig. 7A and P of Fig. 8; Fig. 9B illustrates the filled counterpart of Fig. 9A; Fig. 10A illustrates Ci' the inverted result of intersecting C of Fig. 7A and P of Fig. 8; Fig. 1 OB illustrates the filled counterpart of Fig. 1 OA; Figs. 11 A and 11B illustrate the crossover points and curve intervals formed by the intersection of a closed curve set C and pattern P, and the resulting shape C'; 'o Fig. 12 illustrates an example of null transformed curve set C' from a single pattern P curve intersected with C; Fig. 13 illustrates an example of a transformed curve set C' from a single pattern P curve intersected with C; Fig. 14 illustrates another example of a transformed curve set C' from a single pattern P curve intersected with C; Figs. 15A and 15B illustrate the result of inverting a transformed curve set C'; Fig. 16 illustrates the order of processing for multiple C' regions; Fig. 17 illustrates the order of processing for multiple C' regions in the presence of a hole; Figs. 18A to 18C illustrate various transformations that can be achieved using different P base shapes; Fig. 19 illustrates a transformation utilising a checkerboard effect; Fig. 20 illustrates a transformation utilising a gradient effect; and Fig. 21 is a block diagram of a general purpose computer with which the embodiments can be implemented; Detailed Description Preferred Embodiment of Method(s) CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM li ri. I iji. r!.il 1: .I.lr r:1.,1 i;ii~: ji~: i Some portions of the detailed descriptions which follow are explicitly or implicitly presented in terms of algorithms and symbolic representations of operations on data within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled: in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven to convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
o It should be borne in mind, however, that all of these and similar terms, such as fonts, typefaces or characters, are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated Is otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as "selecting" "determining", "generating", "providing", "comparing", "orientating" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose machines may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method CFP1416AU OPEN42 466823 [I :\ELEC\CISRA\OPEN\OPEN42]466823.DOC: PWM -8steps. The structure of a conventional general purpose computer will appear from the description below.
In addition, the present invention also relates to a computer program product comprising a computer readable medium including a computer program for orientating a space curve. The computer readable medium is taken herein to include any transmission medium for transmitting the computer program between a source and a designation. The transmission medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer. The transmission medium may also include a hard-wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program is not described with reference to any •particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and implementations thereof may be used to implement the teachings of the invention as described herein.
Before proceeding with a description of the embodiments, a brief review of terminology used hereinafter is provided.
Figs. 1A to 1C illustrate the concept of the term "crossover point". In Fig. 1A, curves AB 100 and CD 102 do not contain any intersection or crossover points. In Fig.
1B, curves AB 104 and CD 106 intersect at point I 108 but do not crossover. In Fig. 1C, curves AB 110 and CD 112 have two intersection points J 114 and K 116, which are both hereby classed as being crossover points.
This concept is further illustrated in Figs. 2A to 2C, where an identical case is shown for differently shaped curves. In Fig. 2A, curves AB 200 and CD 202 contain no intersection or crossover points. In Fig. 2B, curves AB 204 and CD 206 contain one intersection point I 208 but no crossover points. In Fig. 2C, curves AB 210 and CD 212 contain two intersection points J 214 and K 216, which are both also crossover points.
Fig. 3A illustrates in more formal terms the definition of a "crossover point".
Curves AB 300 and CD 302 intersect at point P 304. Examining point 0 306 along AB immediately prior to the intersection point P, and point Q 308 along AB immediately CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM following the intersection point P, it is observed that 0 and Q lie on opposite sides of curve CD, that is, curve AB has "crossed over" curve CD at point P. Similarly, it can be said that curve CD has "crossed over" curve AB. Intersection points exactly define crossover points, but not all intersection points are necessarily crossover points. The complete set of crossover points between a first set of curves C and a second set of curves P is referred to as a crossover set X. A closed curve which crosses over itself and thus intersects itself, is referred to as a self-crossover.
Fig. 3B illustrates a special case of curves EFGH 310 and IJ 312 that share a common interval between points F 314 and G 316. Points F and G and all points within the interval FG are intersection points. However, there is only one crossover along this interval FG, so a single point from this interval must be chosen to represent the crossover point. To maintain consistency and ensure a reproducible result, the convention used in the preferred embodiment is that the first point encountered along the shared interval is chosen as the crossover point, point F 314 in this case.
Fig. 4A illustrates the case of an intersection point that is not a crossover point.
Curves AB 400 and CD 402 intersect at point P 404. However, in this case it is observed that point 0 406 along AB immediately prior to the intersection point P, and point Q 408 along AB immediately following the intersection point P, both lie on the same side of curve CD, that is, curves AB and CD have not crossed over.
Fig. 4B illustrates the concept of positive and negative direction for an open continuous curve. The open continuous curve AB is represented in a parametric form y=g(t) having a parameter t commencing at to and terminating at tn. The direction from to to tn along the curve AB is defined as the positive direction where t o t tn. The negative direction is defined as that direction along the open curve AB which is opposite to the positive direction. Of course, the actual direction of the positive direction of a curve AB is dependent upon the choice of parametric functions.
Figs. 4C and 4D illustrate an example of the forward and backward direction of a closed continuous curve C. The forward direction of a closed curve C which bounds an object R is defined herein as that direction along the closed curve C which has the object CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM on a specified side. The backward direction of the closed curve C is defined herein as that direction along the closed curve C which has the object on the side opposite to the specified side. In the examples given herein, the specified side is the right hand side. In Fig. 4C, the object R bounded by the curve C is located inside the curve C. Thus the forward direction is along the curve C in the direction tp to tq. In Fig. 4D, the same curve C is shown. However, the object R bounded by the curve C is located outside the curve C. Thus, the forward direction in these circumstances is from tq to tp. In these examples, it can be seen that the forward direction is in a clockwise direction where the closed curve C bounds the object R within its interior and that the forward direction is in the anticlockwise direction where the closed curve C bounds the object R on its exterior.
Alternatively, the specified side may be chosen as the left hand side. In this case, the forward directions of Figs. 4C and 4D are consequently reversed. Whatever alternative is chosen, it should be used consistently throughout the preferred method to ensue reproducibility.
Now turning to Fig. 5, there is illustrated a flow diagram of the preferred method for transforming a set of closed first curves defined on a surface. The preferred method is described with reference to 2-dimensional examples, in particular the orientation of 2dimensional curves that describe the paths of stroke-based typeface characters. However, .95*55 the principles of this invention have general applicability to n-dimensional space curves and are not intended to be limited to 2-dimensional curves only.
In step 500 of the preferred method, the process commences and a set of closed first curves defined on a 2-dimensional planar surface is inputted. Alternatively, the set of closed first curves may be defined on a 3-dimensional surface, where a 3-dimensional effect is desired. Figs. 7A and 7B illustrate a typical example of a set of closed first curves. Specifically, Fig. 7A illustrates a character glyph of a font described by its outline path 700. Fig. 7B illustrates its filled counterpart that describes a region R 704 enclosed by the outline path 700. In Figs. 7A and 7B the outline path 700 describes a set of curves C, which are continuous closed curves that contain no self-crossovers. The set of curves may include holes in the outline shape 702, typically represented in industry CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM -11standard typefaces by curves oriented in the opposite direction to exterior curves. The shape of C dictates the overall shape of the transformed result.
In step 502, a pattern including a set of second curves is generated in response to user input 504. Fig. 8 illustrates a typical example of a pattern including a set of second curves that lie on the same surface as C, and constitute such a pattern P 800. The constituent curves of P may be open-ended, but within the region R they are continuous and contain no self-crossovers or intersections between members of P. The pattern P may be generated by an implicit function, and parameterized to describe characteristics such as base shape, period, amplitude, gradient, and so on. The pattern P need only be generated for the region R, increasing efficiency. Alternatively, the pattern P may be retrieved from storage means.
In the next step 506, the intersection points of the set of first curves C and the set of second curves P are determined. The intersection step can be performed efficiently o •:through the use of standard computational methods such as local neighborhood search, or ordering curve segments by coordinate and performing scanline traversal. Fig. 1 lA illustrates the intersections of a set of closed first curves C and a set of pattern curves P.
Specifically, Fig. 11A shows one closed curve C 1100 and a set of pattern curves P composed of curves P1 1102 and P2 1104. In the step 506, firstly all the intersection points Xi,X2,X3 and X4 between C and P are determined.
In the next step 508, a set of crossover points X is determined from the set of intersection points. In this step 508, each intersection point is tested for crossover, resulting in the crossover point set X composed of X1 1106, X2 1108, X3 1110 and X4 1112. As the curve C is continuous, closed, and contains no self-crossovers, and as the curves P are continuous and contain no self-crossovers within the region R of the closed curve C, then the crossover point set X will always contain an even number of crossover points, as any crossover entering R must have a corresponding crossover leaving R.
In the next step 510, the transformed curve set C' 1122 shown in Fig. 11 B is constructed by assembling closed loops of intervals along C and P delimited by crossover CFP1416AU OPEN42 466823 4I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM 2.2 -12points Xn. For instance, the transformed curve set C' 1122 is assembled from the following curve intervals: a) interval 1114 along C between Xi and X2, b) interval 1116 along P between X2 and X3, s c) interval 1118 along C between X3 and X4, d) interval 1120 along P between X4 and X1.
Curve intervals are directed according to crossover point ordering, and adjacent intervals are joined at crossover points. The complete loop returns to the start point X1, reclosing the transformed curve. This example results in a transformed curve set C' 1122 to with a single closed curve member, however multiple C' members may as easily be obtained, and there is not necessarily any correspondence between the cardinality of C and the cardinality of C'.
In step 512, the transformed closed set of curves are displayed on a monitor and/or *o printed. Afterwards, the processing terminates at step 514.
9.
Turning now to Fig. 6, there is shown the step 510 of Fig. 5 in more detail. In step 610, all the crossover points within the set of crossover points X are ordered in accordance with a predetermined order. The ordering of crossover points within X is independent of intersection point ordering. In the preferred embodiment, crossover points are ordered according to their position along C in a clockwise direction (note that each crossover member of X has a defined position along both P and C) to ensure consistency and reproducibility.
In step 611, the transformed curve set C' is set to empty and all the crossover points Xn are marked as "unvisited". In step 612, the set of crossover points is examined in order, and a new transformed curve is started at an "unvisited" crossover point X1, that is highest in the order. This "unvisited" crossover is then marked as "visited".
In decision block 614, a check is made to determine whether or not the crossover point last marked as "visited" is the first crossover point Xi in the current closed loop. If decision block 614 returns false then processing continues at step 622. Otherwise processing continues at step 616. In step 616, the first curve interval of the current loop CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM -J l 13 selected, delimited by crossover points. This selection process 616 selects the curve interval along C that commences at the first crossover point X1 and that proceeds in the forward direction and terminates at the next adjacent unmarked crossover point X2. In the next step 618, the terminating crossover point X2 is marked as "visited".
In the decision block 620, a check is made whether or not a closed loop has been formed. This is determined by checking whether the last mentioned terminating crossover point Xn is the same as the first crossover point X1. If the decision block 620 returns true (Yes), then processing continues at step 625. Otherwise processing continues at decision block 614.
l0 If decision block 614 returns false, namely when the last marked crossover point is se 0not the first crossover point X1 in the closed loop, then processing continues at step 622.
9...i In step 622, the next curve interval in the current loop is selected delimited by crossover points. This selection process 622 selects the curve interval along C or P that commences e*e99 ee at the last marked terminating crossover point and terminates at an unmarked adjacent crossover point. This selection process 622 can thus choose the next curve interval from 99 the four curve intervals available. The selection process selects the first interval 9.99 encountered around the last marked terminating crossover point in the anticlockwise direction. In the next step 624, the unmarked adjacent crossover point of the selected interval is marked as "visited" and the processing continues at decision block 620. If the decision block 620 determines a closed loop has been formed, then the processing continues at step 625. Otherwise the steps 614, 622, 624 and 620 continue until the transformed loop is formed. In step 625, the transformed closed curve is added to the transformed curve set C'.
Given that crossover points by definition result in intervals belonging to alternating curve sets P, C, P and so on) around any crossover point Xn, then the first interval encountered around X2 in the anticlockwise direction must belong to P. Also, intervals along C will always be followed in the forward direction, however, intervals along P may be followed in either the positive or negative directions. During the first pass of step 622 the interval X2X3 will be selected. The next interval selected by step CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM -14- 622 is interval X3X4. Arriving at X4, the first interval in anticlockwise order belongs to P, and thus the next pass of step 622 selects interval X4XI. As the next crossover point Xn is Xi, the curve's starting point, a complete loop has been traversed and the curve is closed and added to the transformed curve set Each terminating crossover point Xn is marked as "visited" once a curve interval has been selected and processed.
In the decision block 626, a check is made whether or not all closed loops have been formed. This is preferably determined by checking whether all the crossover points Xn are marked as "visited". If the decision block 626 returns true (Yes), then processing continues at step 512 and the transformed curve set C' is complete. Otherwise the to processing is returned to step 612.
e:c The preferred method has the advantage that it is applicable to general surfaces, and assumes minimal dependency between the source and target curve sets, beyond their existing on the same surface. The transformation may be safely applied to arbitrary
O.
outline shapes provided that they have no self-crossovers.
0* Moreover, the transformation process is consistent, reproducible and controlled so that it can be applied to any outline shape, without the need for intervention by the user beyond the setting of certain parameters. The pattern curve set may be defined implicitly, and calculated on demand to fit the region occupied by the source curve set.
In addition, the transformed curve set is preferably alternating, in the sense that neighboring closed regions may touch at common points but do not overlap or intersect.
Consequently, a regularly spaced pattern set will result in a set of regularly spaced closed curves alternating with regularly spaced vacant areas. This allows artistic effects such as striping, gradient and checkerboard to be applied to outline shapes.
Examples The following examples are simply provided for illustrative purposes of the preferred method and other closed curve sets C and patterns P can be employed without departing from the scope and spirit of the invention.
CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM Fig. 9A shows the result of the implementation of the preferred method on the text characters shown in Fig. 7A using the pattern shown in Fig. 8. Specifically, Fig. 9A shows the result of transforming the curve set C 700 with the pattern P 800, giving the transformed curve set C' 900. The transformed curve set C' 900 encloses a region R' 902.
In Fig. 9B, this region R' may be filled resulting in filled regions 904 which alternate with vacant areas 906. These filled regions do not overlap or intersect with other filled regions, but may share common points.
Shown in Figs. 10A and 10B are inverted transformed curve sets Ci' 1000 created by transforming curve set C 700 with the pattern set P 800. The filled region Ri' enclosed o10 by Ci' 1000 is shown as 1004. It can be seen that filled regions 904 described by C' become vacant areas in Ci' 1006, and that vacant areas 906 described by C' 900 become filled areas 1004 in Ci' 1000. Again, filled regions 1004 do not overlap or intersect with each, but may share common points.
Turning now to Fig. 12, there is shown non-intersecting first curve sets C 1202 and P 1200 that result in the empty curve set C' following transformation. As there are no intersection points, there can be no crossover points, and therefore no new transformed curves are assembled.
Fig. 13 shows intersecting curve sets C 1300 and P 1302 that result in a transformed curve set C' with a single member 1304. This is similar to the result illustrated in Fig. 11A.
Turning now to Fig. 14, there is shown intersecting curve sets C 1400 and P 1402 that result in a transformed curve set C' with multiple members 1404 1406. Note that in all three cases shown in Figs. 12 to 14 the curve sets C and P are similar but are in different relationships to each other, giving markedly different transformation results.
In the example illustrated in Fig. 14, the crossover point Xi 1408 is examined first, and the interval XlX2 along C is traversed. At X2 1410 the interval X2X1 along P is chosen, leading back to the starting point Xl and closing the transformed curve 1416 that is added to At this stage XI has been examined as a candidate for a new CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM L^ lNsi -16transformed curve, and X1 and X2 have been visited. X2 is examined next, but is ignored as it has already been visited.
The crossover point X3 1412 is next examined and is found to be unvisited. A new transformed curve is started at X3, and the interval X3X4 along C is traversed. At X4 1414 the interval X4X3 along P is chosen, leading back to this transformed curve's starting point and closing the transformed curve 1418 that is added to At this stage X1, X2 and X3 have been examined as candidates for new transformed curves, and X1, X2, X3 and X4 have been visited. X4 is examined next, but is ignored as it has already been visited, and the transformed curve set C' is complete.
S. 1to Figs. 15A and 15B demonstrate that the cardinality of C' and the cardinality of Ci' are not necessarily the same. The same curve set C 1500 and pattern set P 1502 is used in both cases, but C' yields a transformed curve set with two members curves 1504 and 1506, while the inverted transformed curve set Ci' has only one member 1508.
:Fig. 16 illustrates the complete transformation process of curve set C 1600 and 15 pattern set P composed of curves P1 1602, P2 1604, P3 1606 and P4 1608 into the transformed curve set C' composed of two curves 1612 and 1610. Following the intersection of C with P, the following crossover point set X is obtained and ordered as follows in the forward direction around C: Xi 1614, X2 1616, X3 1618, X4 1620, 1622, X6 1624, X7 1626 and Xg 1628. The transformed curves are assembled in the following order: a) interval X1X2 1630, b) interval X 2 X7 1632, c) interval X7X8 1634, d) interval X8Xl 1636, e) interval X3X4 1638, f) interval X4X5 1640, g) interval X5X6 1642, h) interval X6X3 1644, CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM 17following which two new transformed curves 1610 and 1612 have been added to C' and all the crossover points Xn have been visited.
Fig. 17 illustrates the behaviour of the transformation process in the presence of holes. Curve set C consists of two distinct non-intersecting curves 1700 and 1702. The interior curve C2 1702 has a forward direction opposite to that of the exterior curve Ci 1700 and defines a hole in region R. The pattern curve set P consists of three distinct non-intersecting curves P 1704, P2 1706 and P3 1708. P3 is closed and totally contained within the region bounded by exterior curve C1, but is valid as it is continuous within R, and does not intersect itself or any other member of P. In this example, the crossover 10 points are ordered in a clockwise direction around Cl and in an anticlockwise direction :around C2, and thus form the ordered set X1 1710, X2 1712, X3 1714, X4 1715, 1716, X6 1718, X7 1720, X8 1722, X9 1724 and X10 1726. Starting at the first point X1 a new transformed curve C1' 1728 is created, and is assembled in the following order: a) interval X 1X2 along C1, b) interval X2X3 along P2, c) interval X3X4 along C1, d) interval X4X5 along P2, e) interval X5X6 along C f) interval X6X8 along Pi, g) interval X8X9 along C2, h) interval X9X1 along P1.
The next unvisited point in the ordered set X is X7, from which a new transformed curve C2' 1730 is assembled. In this case, the forward interval along C2 X7X8 leads to a visited point X8, so the method backtracks to the C2 point immediately prior to X7, which in this case is the crossover point X 1 0. The crossover point X10 is now treated as the starting point for C2', and the method proceeds as for the usual case. C2' is assembled in the following order: a) interval X10X7 along C2, b) interval X7X10 along P3.
CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN42]466823.DOC:PWM -18- Following this all points X have been visited and the transformed curve set C' is complete.
By way of further example, Figs. 18A to 18C illustrate various transformations of the curve set C 1800 with pattern sets composed of different base shapes. The transformed curve set C' 1802 shows the transformation resulting from a pattern set derived from a triangular wave shape. The transformed curve set C' 1804 shows the transformation resulting from a pattern set derived from a square wave shape.
Fig. 19 illustrates a further transformation of the curve set C 1800 (Fig 18A). The transformed curve set C' 1900 shows a checkerboard effect. The checkerboard effect is 10o achieved during the filling operation and is not part of the transformation as such.
Fig. 20 illustrates a further transformation of the curve set C 1800 (Fig. 18A). The transformed curve set C' 2000 shows a gradient effect. The gradient is applied during the generation of the pattern set P and is not part of the transformation as such.
Preferred Embodiment of Apparatus(s) The preferred method is preferably practiced using a conventional general-purpose computer, such as the one shown in Fig. 21, wherein the processes of Figs. 5 and 6 may be implemented as software executing on the computer. In particular, the steps of the method are effected by instructions in the software that are carried out by the computer.
The software may be divided into two separate parts; one part for carrying out the transformation method; and another part to manage the user interface between the latter and the user. The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for transforming a set of closed first curves defined on a surface in accordance with the embodiments of the invention.
CFPI416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM 2; 2 I .rll r' I. r.~,i -19- The computer system 2100 consists of the computer 2102, a video display 2116; and input devices 2118, 2120. In addition, the computer system 2100 can have any of a number of other output devices including line printers, laser printers, plotters, and other reproduction devices connected to the computer 2102. The computer system 2100 can be connected to one or more other computers via a communication interface using an appropriate communication channel such as a modem communications path, a computer network, or the like. The computer network may include a local area network (LAN), a wide area network (WAN), an Intranet, and/or the Internet The computer 2102 itself consists of a central processing unit(s) (simply referred 1o to as a processor hereinafter) 2104, a memory 2106 which may include random access memory (RAM) and read-only memory (ROM), input/output (IO) interfaces, a video interface 2110, and one or more storage devices generally represented by a block 2112 in Fig. 21. The storage device(s) 2112 can consist of one or more of the following: a floppy .disc, a hard disc drive, a magneto-optical disc drive, CD-ROM, magnetic tape or any other of a number of non-volatile storage devices well known to those skilled in the art.
'Each of the components 2104 to 2112 is typically connected to one or more of the other devices via a bus 2114 that in turn can consist of data, address, and control buses.
The video interface 2110 is connected to the video display 2116 and provides video signals from the computer 2102 for display on the video display 2116. User input to operate the computer 2102 can be provided by one or more input devices. For example, an operator can use the keyboard 2118 and/or a pointing device such as the mouse 2120 to provide input to the computer 2102.
The system 2100 is simply provided for illustrative purposes and other configurations can be employed without departing from the scope and spirit of the invention. Exemplary computers on which the embodiment can be practiced include IBM-PC/ATs or compatibles, one of the Macintosh (TM) family of PCs, Sun Sparcstation or the like. The foregoing is merely exemplary of the types of computers with which the embodiments of the invention may be practiced. Typically, the processes of the embodiments, described hereinafter, are resident as software or a program recorded on CFP1416AU OPEN42 466823 [I:\ELEC\CISRA\OPEN\OPEN421466823.DOC:PWM a hard disk drive (generally depicted as block 2112 in Fig. 21) as the computer readable medium, and read and controlled using the processor 2104. Intermediate storage of the program and pixel data and any data fetched from the network may be accomplished using the semiconductor memory 2106, possibly in concert with the hard disk drive 2112.
In some instances, the program may be supplied to the user encoded on a CD- ROM or a floppy disk (both generally depicted by block 2112), or alternatively could be read by the user from the network via a modem device connected to the computer, for example. Still further, the software can also be loaded into the computer system 2100 from other computer readable medium including magnetic tape, a ROM or integrated to circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer and another device, a computer readable card such as a PCMCIA card, and the °.Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums.
•Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
o.
Applications ~The preferred embodiment has many areas of application and a number of examples follow but are not seen as exhaustive. One application is the use of the preferred embodiment in the generation of different typefaces or fonts. Another application of the preferred embodiment is in the generation of patterns on objects in digital videos for special effects.
The foregoing only describes a small number of embodiments of the present invention, however, modifications and/or changes can be made thereto by a person skilled in the art without departing from the scope and spirit of the invention.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
CFP1416AU PEN42 466823 lI :\ELEC\CISRA\OPEN\OPEN421]466823. DOC:PWM
L

Claims (51)

1. A method for transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the method comprising the steps of: providing a pattern comprising a set of continuous second curves for projection over the set of first curves upon the surface, wherein the second curves contain no self-crossover points; (ii) determining a set of crossover points where the set of first curves crosses the set of second curves; and (iii) selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a predetermined rule to form closed loops; wherein the closed loops form said transformed set of closed curves.
2. A method as claimed in claim 1 wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves. o
3. A method as claimed in claims 1 or 2, wherein said step (iii) comprises the substeps of: (iii)(1) ordering all the crossover points in accordance with a predetermined order; (iii)(2) marking one of said crossover points that is highest in the order and that has not been previously marked; (iii)(3) determining, if a last marked crossover point is a first point in a said 25 closed loop, and if so: selecting one of said curve intervals starting at said first point and terminating at an unmarked crossover point; and (iii)(3)(ii) marking the terminating crossover point of said zone curve interval; 466823 -22- or if not: (iii)(3)(iii) selecting a further said curve interval starting at the previous said terminating crossover point and terminating at an unmarked crossover point; and (iii)(3)(iv) marking the current terminating crossover point of said further curve interval; (iii)(4) repetitively performing the substep (iii)(3) until said closed loop is formed; and repetitively performing the substeps (iii)(2) to (iii)(4) until all possible closed loops have been formed.
4. A method as claimed in claim 3, wherein said substep comprises selecting a further said curve interval from the set of first curves, which said one curve interval starts at a said first point and continues in a first direction and terminates at the next adjacent unmarked crossover point.
5. A method as claimed in claim 4, wherein said substep (iii)(3)(iii) comprises selecting a said curve interval from the set of first or second curves, which selected curve interval is the first of said curve intervals located in a second direction from the previously selected curve interval and which selected curve interval continues in a third direction and terminates at the next adjacent unmarked crossover point.
6. A method as claimed in claim 5, wherein said substep of ordering said crossover points comprises ordering the crossover points according to their position along the set of first curves in a fourth direction. 466823 Z. 2 -23-
7. A method as claimed in claim 6, wherein said first direction and fourth direction are in the forward direction and said third direction is either in the positive or negative direction and said second direction is the backward direction.
8. A method as claimed in claim 6, wherein said first direction and fourth direction are in the backward direction and said third direction is either in the positive or negative direction and said second direction is the forward direction.
9. A method as claimed'in claim 1, wherein said surface is a 2-dimensional surface. A method as claimed in claim 1, wherein said surface is a 3-dimensional surface.
11. A method as claimed in claim 1, wherein said step of selecting curve intervals comprises the substep of filling the closed loops with a predetermined color.
12. A method as claimed in claim 1, wherein said step of providing a pattern, *comprises the substep of: generating said pattern.
13. A method as claimed in claim 1, wherein said step of providing a pattern, comprises the substep of: *accessig said patter from storage. :25 14. A method as claimed in claim 1, wherein said step of providing a pattern, comprises the substep of: selecting one of many said patterns in response to user input. O 466823 -I -24- A method as claimed in claim 12, wherein said generating step comprises inputting parameters.
16. A method as claimed in claim 15, wherein said input parameters comprise one or more of the following; base shapes of the patterns, period of the patterns, or amplitude of the patterns.
17. A method as claimed in claim 16, wherein the amplitude of the pattern varies throughout the pattern.
18. A method as claimed in claim 1, wherein the set of first curves constitutes a character glyph of a font.
19. Apparatus for transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the apparatus comprising; o**providing means for providing a pattern comprising a set of continuous second curves for projection over the set of first curves upon the surface, wherein the second curves contain no self-crossover points; a second determining means for determining a set of crossover points where the set of first curves crosses the set of second curves; and •a first selecting means for selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a 9. predetermined rule to form closed loops; wherein the closed loops form said transformed 555555 o*oo° set of closed curves. S- 20. Apparatus as claimed in claim 19, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves. 466RA4 V7 O 466823
21. Apparatus as claimed in claims 19 or 20, wherein said first selecting means comprises: ordering means for ordering all the crossover points in accordance with a predetermined order; a first marking means for marking one of said crossover points that is highest in the order and that has not been previously marked; a second selecting means for selecting one of said curve intervals starting at said one crossover point and terminating at an unmarked crossover point; a second marking means for marking the terminating crossover point of said one curve interval; a third selecting means for selecting a said curve interval starting at the previous said terminating crossover point and terminating at an unmarked crossover point; a third marking means for marking the current terminating crossover point of said one curve interval; a third determining means for determining, if a last marked crossover point is the first point in a said closed loop, and if so performing the operations of the second selecting means and the second marking means, or if not, performing the operations of the third selecting means and third marking means; means for repetitively performing the operations of the third determining means until said closed loop is formed; and oooi means for repetitively performing the operations of first marking means and third determining means until all possible closed loops have been formed. oo
22. Apparatus as claimed in claim 21, wherein said second selecting means selects 25 one of said curve intervals from the set of first curves, which said one curve interval starts at said one crossover point and continues in a first direction and terminates at the next adjacent unmarked crossover point. R662 -o- 466823 -26-
23. Apparatus as claimed in claim 22, wherein said third selecting means selects a further said curve interval from the set of first or second curves, which selected curve interval is the first of said curve intervals located in a second direction from the previously selected curve interval and which selected curve interval continues in a third direction and terminates at the next adjacent unmarked crossover point.
24. Apparatus as claimed in claim 23, wherein said ordering means orders the crossover points according to their position along the set of first curves in a fourth direction. Apparatus as claimed in claim 24, wherein said first direction and fourth direction are in the forward direction and said third direction is either in the positive or negative direction and said second direction is the backward direction.
26. Apparatus as claimed in claim 24, wherein said first direction and fourth direction are in the backward direction and said third direction is either in the positive or negative direction and said second direction is the forward direction.
27. Apparatus as claimed in claim 19, wherein said surface is a 2-dimensional surface.
28. Apparatus as claimed in claim 19, wherein said surface is a 3-dimensional surface.
29. Apparatus as claimed in claim 19, wherein said first selecting means comprises means for filling the closed loops with a predetermined color. Apparatus as claimed in claim 19, wherein said providing means comprises means for generating said pattern. 466823 -27-
31. Apparatus as claimed in claim 19, wherein said providing means comprises means for accessing said pattern from storage.
32. Apparatus as claimed in claim 19, wherein said providing means comprises means for selecting one of many said patterns in response to user input.
33. Apparatus as claimed in claim 30, wherein said generating means comprises means for inputting parameters.
34. Apparatus as claimed in claim 33, wherein said input parameters comprise one or more of the following; base shapes of the patterns, period of the patterns, or amplitude of the patterns. Apparatus as claimed in claim 34, wherein the amplitude of the pattern varies throughout the pattern.
36. Apparatus as claimed in claim 19, wherein the set of first curves constitutes a character glyph of a font.
37. A computer program product comprising a computer readable medium including a computer program for transforming a set of closed first curves defined on a surface, wherein the first curves contain no self-crossover points, the computer program product comprising; providing means for providing a pattern comprising a set of continuous second 25 curves for projection over the set of first curves upon the surface, wherein the second o S"curves contain no self-crossover points; a second determining means for determining a set of crossover points where the set of first curves crosses the set of second curves; and 7 466823 ~i I -28- a first selecting means for selecting curve intervals, delimited by the crossover points, from the set of first curves and the set of second curves in accordance with a predetermined rule to form closed loops; wherein the closed loops form said transformed set of closed curves.
38. A computer program as claimed in claim 37, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves.
39. A computer program product as claimed in claims 37 or 38, wherein said first selecting means comprises: ordering means for ordering all the crossover points in accordance with a predetermined order; a first marking means for marking a said crossover point that is highest in the order and that has not been previously marked; a second selecting means for selecting a said curve interval starting at said crossover point and terminating at an unmarked crossover point; a second marking means for marking the terminating crossover point; a third selecting means for selecting a said curve interval starting at the previous said terminating crossover point and terminating at an unmarked crossover point; .••ooi a third marking means for marking the current terminating crossover point; a third determining means for determining, if the last marked crossover point is o the first point in a said closed loop, and if so performing the operations of the second selecting means and the second marking means, or if not, performing the operations of the •25 third selecting means and third marking means; ""i means for repetitively performing the operations of the third determining means until said closed loop is formed; and means for repetitively performing the operations of first marking means and third Sdetermining means until all possible closed loops have been formed. 466823 29 A computer program product as claimed in claim 39, wherein said second selecting means selects a said curve interval from the set of first curves, which said curve interval starts at said crossover point and continues in a first direction and terminates at the next adjacent unmarked crossover point.
41. A computer program product as claimed in claim 40, wherein said third selecting means selects a said curve interval from the set of first or second curves, which selected curve interval is the first of said curve intervals located in a second direction from the lo previously selected curve interval and which selected curve interval continues in a third direction and terminates at the next adjacent unmarked crossover point.
42. A computer program product as claimed in claim 41, wherein said ordering means orders the crossover points according to their position along the set of first curves in a 15 fourth direction.
43. A computer program product as claimed in claim 42, wherein said first direction and fourth direction are in the forward direction and said third direction is either in the positive or negative direction and said second direction is the backward direction. oeo i
44. A computer program product as claimed in claim 42, wherein said first direction and fourth direction are in the backward direction and said third direction is either in the positive or negative direction and said second direction is the forward direction. o:o eI 25 45. A computer program product as claimed in claim 37, wherein said surface is a **2-dimensional surface.
46. A computer program product as claimed in claim 37, wherein said surface is a N 3-dimensional surface. 466823 30
47. A computer program product as claimed in claim 37, wherein said first selecting means comprises means for filling the closed loops with a predetermined color.
48. A computer program product as claimed in claim 37, wherein said providing means comprises means for generating said pattern.
49. A computer program product as claimed in claim 37, wherein said providing means comprises means for retrieving said pattern from storage. A computer program product as claimed in claim 37, wherein said providing means comprises means for selecting one of many said patterns in response to user input.
51. A computer program product as claimed in claim 48, wherein said generating means comprises means for inputting parameters.
52. A computer program product as claimed in claim 51, wherein said input parameters comprise one or more of the following; base shapes of the patterns, period of 0:0. the patterns, or amplitude of the patterns. °53. A computer program product as claimed in claim 52, wherein the amplitude of the wool pattern varies throughout the pattern. to.* 69 9 4 54. A computer program product as claimed in claim 37, wherein the set of first 25 curves constitutes a character glyph of a font. A method of modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no self-crossover points, the method comprises the steps of: 466823 -31 projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; determining a set of crossover points where the set of first curves crosses the set of second curves; and selecting curve intervals, delimited by crossover points, from the set of first curves and the set of second curves to form a set of closed third curves, wherein said set of closed third curves form a modified said typeface, font, or character.
56. A method as claimed in claim 55, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves.
57. Apparatus for modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no self-crossover points, the apparatus comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves 6066 crosses the set of second curves; and means for selecting curve intervals, delimited by crossover points, from the set of oeooo first curves and the set of second curves to form a set of closed third curves, wherein said 0055 set of closed third curves form a modified said typeface, font, or character. S.. @05665 e0
58. Apparatus as claimed in claim 57, wherein the set of crossover points is 25 determined from a set of intersection points of the set of first curves with the set of second curves.
59. A computer program product comprising a computer readable medium including a computer program for modifying a typeface, font, or character, wherein said typeface, 466823 32 font, or character comprise a set of closed first curves, wherein the set of first curves contain no self-crossover points, the computer program product comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; and means for selecting curve intervals, delimited by crossover points, from the set of first curves and the set of second curves to form a set of closed third curves, wherein said set of closed third curves form a modified said typeface, font, or character. A computer program product as claimed in claim 59, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves. 15 61. A method of modifying a typeface, font, or character, wherein said typeface, font, 00or character comprises a set of closed first curves, wherein the set of first curves contain •no self-crossover points, the method comprises the steps of: projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; 20 determining a set of crossover points where the set of first curves crosses the set of o* o second curves; selecting unmarked adjacent crossover points such that curve intervals delimited by said selected crossover points form a closed loop; marking the selected adjacent crossover points; and o. 25 repetitively performing the selecting and marking steps until a set of said closed loops have been formed, wherein said closed loops form a modified typeface, font, or character. 466823 33
62. A method as claimed in claim 61, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set of second curves.
63. Apparatus for modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no self-crossover points, the apparatus comprising: means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; means for selecting unmarked adjacent crossover points such that curve intervals delimited by said selected crossover points form a closed loop; 15 means for marking the selected adjacent crossover points; and means for repetitively performing the operations of the selection and marking means until a set of said closed loops have been formed, wherein said closed loops """form a modified typeface, font, or character. 20 64. Apparatus as claimed in claim 63, wherein the set of crossover points is "determined from a set of intersection points of the set of first curves with the set of second o curves. S•. o, A computer program product comprising a computer readable medium including a 25 computer program for modifying a typeface, font, or character, wherein said typeface, font, or character comprises a set of closed first curves, wherein the set of first curves contain no self-crossover points, the computer program comprising: 466823 34- means for projecting a pattern comprising a set of continuous second curves over the set of first curves, wherein the set of second curves contain no self-crossover points; means for determining a set of crossover points where the set of first curves crosses the set of second curves; means for selecting unmarked adjacent crossover points such that curve intervals delimited by said crossover points form a closed loop; means for marking the selected adjacent crossover points; and means for repetitively performing the operations of the selection and marking means until a set of said closed loops have been formed, wherein said closed loops form a modified typeface, font, or character.
66. A computer program product as claimed in claim 65, wherein the set of crossover points is determined from a set of intersection points of the set of first curves with the set 15 of second curves.
67. A method for transforming a set of closed curves, the method substantially as described herein with reference to Figs. 1A to 21 of the accompanying drawings. S 20 68. Apparatus for transforming a set of closed curves, the apparatus substantially as .described herein with reference to Figs. 1A to 21 of the accompanying drawings.
69. A computer program product comprising a computer readable medium including a computer program for transforming a set of closed curves, the computer program o 25 product substantially as described herein with reference to Figs. 1A to 21 of the accompanying drawings. DATED this nineteenth Day of December, 2001 Canon Kabushiki Kaisha Patent Attorneys for the Applicant 30"1 SPRUSON FERGUSON 466823
AU44585/99A 1998-08-28 1999-08-19 Method and apparatus for transforming a set of closed curves Ceased AU744461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU44585/99A AU744461B2 (en) 1998-08-28 1999-08-19 Method and apparatus for transforming a set of closed curves

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPP5577 1998-08-28
AUPP5577A AUPP557798A0 (en) 1998-08-28 1998-08-28 Method and apparatus for transforming a set of closed curves
AU44585/99A AU744461B2 (en) 1998-08-28 1999-08-19 Method and apparatus for transforming a set of closed curves

Publications (2)

Publication Number Publication Date
AU4458599A AU4458599A (en) 2000-03-16
AU744461B2 true AU744461B2 (en) 2002-02-21

Family

ID=25626817

Family Applications (1)

Application Number Title Priority Date Filing Date
AU44585/99A Ceased AU744461B2 (en) 1998-08-28 1999-08-19 Method and apparatus for transforming a set of closed curves

Country Status (1)

Country Link
AU (1) AU744461B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077608A (en) * 1990-09-19 1991-12-31 Dubner Computer Systems, Inc. Video effects system able to intersect a 3-D image with a 2-D image
EP0550236A2 (en) * 1991-12-30 1993-07-07 Xerox Corporation Sequencing and scheduling moves for converting concave polyhedra to their convex hulls
WO1994018655A1 (en) * 1993-02-04 1994-08-18 Hughes Training, Inc. Terrain and culture generation system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077608A (en) * 1990-09-19 1991-12-31 Dubner Computer Systems, Inc. Video effects system able to intersect a 3-D image with a 2-D image
EP0550236A2 (en) * 1991-12-30 1993-07-07 Xerox Corporation Sequencing and scheduling moves for converting concave polyhedra to their convex hulls
WO1994018655A1 (en) * 1993-02-04 1994-08-18 Hughes Training, Inc. Terrain and culture generation system and method

Also Published As

Publication number Publication date
AU4458599A (en) 2000-03-16

Similar Documents

Publication Publication Date Title
Lambert et al. Winding roads: Routing edges into bundles
Lipp et al. Interactive visual editing of grammars for procedural architecture
US10754515B2 (en) Systems and methods for 3D scripting language for manipulation of existing 3D model data
Tai et al. Prototype modeling from sketched silhouettes based on convolution surfaces
US6628295B2 (en) Modifying a stylistic property of a vector-based path
JP2642021B2 (en) Display systems
KR100914846B1 (en) Method and system for texturing of 3d model in 2d environment
CN108099203A (en) For the orientation of the real object of 3D printings
US20090073187A1 (en) Rendering Electronic Chart Objects
WO1998044459A1 (en) Interactive timeline visualization
US7502511B2 (en) Shape grammar interpreter
US10796497B2 (en) Distance field coupled fitted deformation lattices for shape modification
GB2313028A (en) Method of transforming a basic shape element of a character
US6459431B1 (en) Method and apparatus for orientating a set of finite n-dimensional space curves
KR0185245B1 (en) Character pattern generation apparatus and method
de Figueiredo Adaptive sampling of parametric curves
US6972764B1 (en) Method and apparatus for transforming a set of closed curves
AU744461B2 (en) Method and apparatus for transforming a set of closed curves
EP1230587A1 (en) Data visualization
US6654015B1 (en) Method and apparatus for generating a geometric skeleton of a polygonal shape
US7330183B1 (en) Techniques for projecting data maps
US7095408B1 (en) System and method for creating three-dimensional graphic object having convex or concave portions
CN101750882B (en) Method for determining manufacturability of lithographic mask
JP3899421B2 (en) Character and character string generation and display device
Thaller et al. Procedural mesh features applied to subdivision surfaces using graph grammars

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)