Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
AU768344B2 - Animating character outlines - Google Patents
[go: Go Back, main page]

AU768344B2 - Animating character outlines - Google Patents

Animating character outlines Download PDF

Info

Publication number
AU768344B2
AU768344B2 AU18312/01A AU1831201A AU768344B2 AU 768344 B2 AU768344 B2 AU 768344B2 AU 18312/01 A AU18312/01 A AU 18312/01A AU 1831201 A AU1831201 A AU 1831201A AU 768344 B2 AU768344 B2 AU 768344B2
Authority
AU
Australia
Prior art keywords
splines
spline
outline
new
original
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
AU18312/01A
Other versions
AU1831201A (en
Inventor
Catherine Jane Arnold
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 AUPQ5530A external-priority patent/AUPQ553000A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU18312/01A priority Critical patent/AU768344B2/en
Publication of AU1831201A publication Critical patent/AU1831201A/en
Application granted granted Critical
Publication of AU768344B2 publication Critical patent/AU768344B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

7W S&FRef: 536213
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan Catherine Jane Arnold Spruson Ferguson St Martins Tower,Level 31 Market Street Sydney NSW 2000 Animating Character Outlines r ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PQ5530 [32] Application Date 10 Feb 2000 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c ANIMATING CHARACTER OUTLINES Technical Field of the Invention The present invention relates generally to a method of creating a new outline from an original outline and, in particular, to a method of animating an outline such as a font character outline. The present invention also relates to apparatus and a computer readable medium comprising a computer program for implementing the aforesaid methods.
Background Recently, it has become popular to provide computer-animated advertising, particularly in relation to Internet-based advertising. Such animated adverts typically include animated text as an attention-seeking tool to "catch" the eye of a viewer. In an otherwise text-filled electronic document, animated text or animated images can provide a visually interesting embellishment that goes beyond coloured or textured characters.
At present, approaches to animated text require the creation of several key frames from which an animation sequence is achieved by interframe interpolation.
Unfortunately, this approach is time consuming since the selected key frames must generally be supplied by a graphic designer, and is an approach much more suited to unconstrained animation such as computer generated "cartoons". In addition, the fonts used for such animated text are proprietary and are generally constructed for application specific tasks.
Thus, it would be desirable if the animated text process can be substantially automated whilst still maintaining substantial artistic control over each character, reducing the graphic designer's workload. It is also desirable to obtain a smooth and reasonably accurate result when animating outlines, while at the same time only processing a minimal number of points.
Further, it would also be desirable if the animated text process could use "off the 0 shelf' (industry standard) typefaces to provide animated text.
9* *9 Summary of Invention It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
30 According to one aspect of the invention, there is provided a method of creating a new outline from an original outline, the method comprising the steps of: 536213 amendments01.doc providing a first set of splines, wherein the first set of splines is representative of the original outline, and each said spline of the first set having a plurality of knot points associated therewith; converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates; and generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline.
According to another aspect of the invention, there is provided a method of animating an outline, the method comprising the steps of: providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and is dependent on a variable parameter having a predetermined value; and generating a second set of splines, wherein each spline of the second set is •i 20 generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline; outputting said new outline; altering the predetermined value of said variable parameter; and repeating the conversion step, the step of generating a second set of splines, and the altering steps to produce an animated sequence of the new outlines.
According to a still another aspect of the invention, there is provided apparatus for creating a new outline from an original outline, the apparatus comprising: ::means for providing a first set of splines, wherein the first set of splines is representative of the original outline, and each said spline of the first set having a S. 30 plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined 536213 amendments0l.doc function, wherein the predetermined function is a lens function expressed in polar coordinates; and means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline.
According to a still another aspect of the invention, there is provided apparatus for animating an outline, the apparatus comprising: means for providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and is dependent on a variable parameter having a predetermined value; and means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline; means for outputting said new outline; means for altering the predetermined value of said variable parameter; and .i 20 means for repeating the operations of the conversion means, the generation means, and the altering means to produce an animated sequence of the new outlines.
According to a still another aspect of the invention, there is provided a computer program for creating a new outline from an original outline, the computer program comprising: means for providing a first set of splines, wherein the first set of splines is representative of the original outline, and each said spline of the first set having a S"plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined 30 function, wherein the predetermined function is a lens function expressed in polar coordinates; and 536213 amendments01 .doc means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline.
According to a still another aspect of the invention, there is provided a computer program comprising a computer program for animating an outline, the computer program comprising: means for providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and is dependent on a variable parameter having a predetermined value; and means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline; means for outputting said new outline; means for altering the predetermined value of said variable parameter; and means for repeating the operations of the conversion means, the generation means, 20 and the altering means to produce an animated sequence of said new outlines.
Brief Description of the Drawings A number of preferred embodiments of the present invention will now be described •oo.oi with reference to the accompanying drawings, in which: Fig. 1 is a flow-chart of a method of animating character outlines in accordance with a preferred embodiment; Fig. 2 illustrates the steps in determining an exemplary outline of a character.
Fig. 3 illustrates an exemplary animated sequence; *•go Fig. 4 illustrates a flow chart of the process of step 106 of the method of Fig. 1 for an exemplary function; 30 Fig. 5 illustrates a flow chart of the process of step 116 of the method of Fig. 1 for the exemplary function of Fig. 4; and Fig. 6 is a schematic block diagram of a general-purpose computer upon which the preferred embodiment of the present invention can be practiced.
536213 amendments01.doc Detailed Description including Best Mode Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
The principles of the preferred method described herein have general applicability to animating outlines of objects. However, for ease of explanation, the steps of the preferred method are described with reference to animating character outlines. In the preferred embodiment, a method is provided for the creation of animated font characters, which allows for the creation of animated text. However, it is not intended that the present invention be limited to the described method. For example, the invention may have application to a method of animating any objects represented by splines or to a method of creating new images from original images having objects represented by splines.
oo* -7-.i 536213_amendments0l .doc Turning now to Fig. 1, there is shown a flow chart of a method of animating character outlines in accordance with a preferred embodiment. The method commences at step 100, where any necessary parameters are initialised. As will be shown, the method processes only one character outline at a time. In order to create animated text, the method will need to be called for each character in the text.
After the commencement of the method, a glyph representing the character is input 102. This glyph is then decomposed 104 into a series of Bezier splines that describe its outline. The method is not restricted to Bezier splines but may decompose the glyph into any spline in general. Each Bezier spline is provided to a predetermined function, which converts 106, the knot-points of the spline to new output knot-points. These knot-points have initial Polar co-ordinates, the co-ordinates of which are transformed to new Polar coordinates by the predetermined function. Instead of the location of the knot points being described with reference to Polar co-ordinates, the location of the knot points may be described with reference to other co-ordinate systems without departing from the spirit and scope of the invention. A new spline represented by these newly converted knot points is then generated 107.
The predetermined function is selected depending upon the animation effect the user desires. This predetermined function is dependent upon a variable parameter value 120, which can be varied 116 effectively as an arbitrary function of time. During the first pass of the process, the function takes a predetermined default value as the variable parameter value. The spline represented by these newly converted knot-points is then generated 107 to determine 108 if it is a sufficiently accurate representation of the •original curve if it were transformed by the provided function. As would be clear to a person skilled in the art, the new spline represented by these newly converted knot points 25 will differ to some extent from the original curve if it were transformed by the provided predetermined function. That is, the new spline represented by these newly converted knots can differ from a new original curve created by transforming the sampling points on the original curve in accordance with the predetermined function.
If the new spline is a sufficiently accurate representation of the original curve, the next spline will then be processed 104, and so on, until all the splines for the outline have been converted. If the output spline from the function is not accurate enough, the original spline processed is subdivided 112, with each new spline being passed, in turn, to the provided function for conversion 106. In this way, the subdivision of splines results in a 536213.doc more accurate representation of the original curve if it were transformed by the provided function. When all the splines have been converted 110, the resulting accurate splines that make up the new outline can be rendered 114. The variable parameter in the provided function is then altered (116) and the whole process repeated to provide another render 114 of the outline. This process is repeated until interrupted by a user, or until a specified number of iterations has been completed, or a predetermined amount of time passed 118. The method then terminates 122.
Fig. 2 shows six stages, labelled to of an example process of applying a function to the outline for use in step 106. The outline font selected is the character "I of the "Arial" font. The Bezier splines representing the outline are shown in stage the knot-points being marked with an For this example, the function applied to the outline is simulating a lens effect.
The predetermined function applied in the example shown in Fig. 2, is a lens function in polar coordinates, the values for the radius and the angle of the converted knot points being calculated as follows: rk rk P(R rk) Eqn(1) where: rk is the new radius of the knot point k 20 rk is the original radius equivalent to the distance from the point taken to be .*o.oi the centre of the effect and the knot point k that is being recalculated; R is the maximum radius of the original radii of the knot points of the spline being considered; P is a parameter value; and new angle original angle of the knot point k that is being recalculated.
Adjusting the centre point of the effect over time results in new values of the 'original radius', and produces the effect as shown as shown in Fig. 3. Alternatively, the value of P could be adjusted over time to produce a different sort of effect.
Returning to Fig. 2, taking the spline on the left of the character as the initial spline, and setting the initial value of the parameter in the lens function, the new knot-points created are shown in stage In this particular example, the adjustable parameter value is the centre position of the lens, which is set to the centre of the character. The new 536213.doc spline created is then tested to see if it is a good approximation for the lens effect.
Preferably, this is achieved by sampling a point on the original spline and applying the function to this point, and comparing the resultant point with the corresponding point on the new spline. Specifically, the difference between the resultant point and corresponding point is compared with a predeternined absolute threshold value. The number of points chosen to be sampled on a spline depends on the accuracy that is desired. If there is too much deviation between the output spline and the required result, the original spline is to be subdivided, as is the case in this example. That is, if any one of the sampled points differs by an amount greater than the predetermined threshold, the original spline is subdivided. Stage shows the result of subdividing the spline into two new splines, and the new knot-points that result. The first of these new splines is then passed to the lens function, the resulting knot-points can be seen in stage These are then checked, as already described. When the processing of the first spline is complete, the second is processed in the same way. Subdivision of a spline will be repeated until the spline produced is sufficiently accurate, or a limit has been reached. Stage shows the new left hand side of the outline as a result of the steps described above. Applying this method to all four splines in the original outline produces the new outline as shown in stage ooooo To create an animated outline in this manner, the above procedure is repeated, 20 varying at least one parameter in the lens function. Fig. 3 shows six stages, labelled to in an animated sequence where the centre position of the lens is moved down along the centre line of the character.
•Turning now to Fig. 4, there is illustrated a flow chart of the process of step 106 shown in Fig. 1 for applying an exemplary predetermined function as described above in o 25 Eqn As mentioned above this predetermined function produces a lens effect.
A predetermined default value of a variable parameter and the original knot points of each original spline are passed (in turn) to step 106 for processing. During subsequent passes of the loop the adjusted value of this variable parameter and original knot points of each original spline are passed (in turn) to step 106 for processing. This variable parameter is the "centre of the effect" described in Eqn(1) and represents a variable location point with respect to the knot-points being converted. In the example shown in Fig. 2, the location point of the variable parameter is the centre of the character 536213.doc -9- The step 106 commences by initializing 402 the location of the variable parameter "centre of the effect", which is expressed in Cartesian co-ordinates The step 106 then obtains 404 the original spline currently under consideration and obtains all the knot points of that spline. The step 106 then proceeds to step 406, where the method calculates the maximum radius R of the original radii rk of the current knot points under consideration. During this step 406, the method calculates the original radii rk and original angle Ok for respective knots k in accordance with the following formulae: rk -X) 2 k -X) 2 and Eqn(2) Ok tan 1 k Eqn(3) where (Xk, Yk) are the cartesian co-ordinates of knot points k of the current spline under consideration.
The step 406 then calculates the maximum radius R of the calculated original radii rk, which is retained for use in the subsequent steps of step 106. The original radii rk and original angles Ok of the current knot points are also retained for use in the subsequent steps of step 106.
S•The step 106 then proceeds to step 408, where the method obtains the original .radius and original angle of the first knot point.
The step 106 then proceeds to a loop 410, 412, 414, and 416 were each knot point of the current spline is processed in turn commencing with the first knot point. This loop takes as its input the original radius rk and original angle Ok of the current knot-point to be processed by the loop and the maximum radius R. The loop 410, 412, 414, and 416 firstly calculates 410 the new radius of the knot-point currently under consideration in accordance with the following formulae: rk =rk +P(R -rk) Eqn(4) where rk is the new radius of the current knot point under consideration and P is a parameter which is typically constant. The original angle of the current knot point is unchanged.
536213.doc After step 410, the method then calculates 412 the new knot point under consideration in Cartesian co-ordinates in accordance with the following formulae: xk =X+rk cosOk Yk Y rk sin Ok Eqn(6) where xk and Yk are the Cartesian co-ordinates of the newly converted knot point.
The method then proceeds to decision block 414, where a check is made whether there are any more knot points of the current spline under consideration to be processed.
If the decision block 414 returns TRUE (Yes), then step 106 proceeds to step 416, where the step 106 advances to the next knot point of the current spline and obtains the original radius and angle of that knot point for processing by the loop 410, 412, 414, and 416. If the decision block 414 returns FALSE then step 106 proceeds to step 107.
Fig. 5 illustrates a flow chart of the process of step 116 of the method of Fig. 1 for the adjusting the variable parameter of Eqn(1). As mentioned above, the variable parameter (ie centre of the effect) represents a variable location point with respect to the knot-points being converted. The original radius of an original knot point is the distance from this variable location point and the co-ordinates of the original knot point(s). In the example shown in Fig. 2, the location point of the variable in that instance is the centre of the character Initially, the method sets the variable location point to initial values (Xo, Y 0 during step 402. The method then during each S.step 116 shifts the "centre of the effect" variable parameter in accordance with the formulae Y Y Yshift and X X, where Yshift is a constant. This results in an effect as shown in Fig. 3. Alternatively, the "centre of the effect" variable parameter can be shifted in accordance with the formulae Y Y Yshift.t and X X, where t is time. In a further variation, the location point is kept constant and the variable P is varied. The latter results in a magnification of the lens effect. Namely, this results in the magnitude of the lens effect changing over time.
It will be appreciated that the variations can be employed to suit particular circumstances. For example, any function can be applied to the knot-points of the splines 536213.doc -11to produce a different effect. In any case, each effect produced is done with a minimal amount of processing, as subdividing the splines is only done on a needs basis.
The aforementioned preferred method comprises a particular control flow. There are many other variants of the preferred method, which use different control flows without departing from the spirit and scope of the invention. Furthermore one or more of the steps of the preferred method may be performed in parallel rather then sequentially.
The method of animating font outlines is preferably practiced using a conventional general-purpose computer system 600, such as that shown in Fig. 6, wherein the processes of Figs. 1 may be implemented as software, such as an application program executing within the computer system 600. In particular, the steps of the method of animating font outlines are effected by coding 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 animating methods; 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. The use of the computer program readable medium in the computer preferably •effects an advantageous apparatus for animating fonts in accordance with the S* embodiments of the invention.
Io •20 The computer system 600 comprises a computer module 601, input devices such as a keyboard 602 and mouse 603, output devices including a printer 615 and a display device 614. A Modulator-Demodulator (Modem) transceiver device 616 is used by the "computer module 601 for communicating to and from a communications network 620, for example connectable via a telephone line621 or other functional medium. The 25 modem 616 can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN).
The computer module 601 typically includes at least one processor unit 605, a memory unit606, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output interfaces including a video interface607, and an I/O interface613 for the keyboard602 and mouse603 and optionally a joystick (not illustrated), and an interface 608 for the modem 616. A storage device 609 is provided and typically includes a hard disk drive 610 and a floppy disk drive611. A magnetic tape drive (not illustrated) may also be used. A CD-ROM 536213.doc drive 612 is typically provided as a non-volatile source of data. The components 605 to 613 of the computer module 601, typically communicate via an interconnected bus 604 and in a manner which results in a conventional mode of operation of the computer system 600 known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program of the preferred embodiment is resident on the hard disk drive 610 and read and controlled in its execution by the processor 605.
Intermediate storage of the program and any data fetched from the network 620 may be accomplished using the semiconductor memory 606, possibly in concert with the hard disk drive 610. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 612 or 611, or alternatively may be read by the user from the network 620 via the modem device 616.
Still further, the software can also be loaded into the computer system 600 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 601 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 Cz S 20 mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
The method of animating fonts may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of Fig. 1. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
Industrial Applicability It is apparent from the above that the embodiment(s) of the invention are applicable to the computer and data processing industries. In particular, the embodiments have application in Internet-based advertising.
The foregoing describes some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiment(s) being illustrative and not restrictive.
536213.doc 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.
0@ Soo 00 0* 0006
S
S B
OOS
536213.doc

Claims (26)

  1. 2. A method as claimed in claim 1, further comprising the steps of: outputting said new outline; altering a predetermined value of a variable parameter of said function; and repeating the conversion step, the step of generating a second set of splines, and the altering steps to produce an animated sequence of new outlines. S
  2. 3. A method as claimed in claims 1 or 2, wherein said lens function is centred at a location and values for a new radii and new angles of the polar coordinates of the converted knot points are calculated as follows: new radius original radius k(R original radius) where: the original radius is the distance between said location and the knot point that is to be converted; R is the maximum radius of the radii of the plurality of knot points of 000 the spline being considered; 30 k is a parameter value; and "."the new angle original angle of the knot point that is to be converted. 536213 amendments0l.doc
  3. 4. A method as claimed in claim 3, wherein said variable parameter is said parameter value A method as claimed in claim 2, said method further comprising the steps of: subdividing any one of the splines of said first set, if a corresponding said spline of the second set does not substantially approximate said new outline and repeating the conversion step and generation step for the subdivided splines; repeating the subdivision step together with the conversion step, the generation step, the output step and the altering step to produce said animated sequence of new outlines.
  4. 6. A method as claimed in claim 5, wherein said subdividing step comprises, for each spline of the first set including any subdivided splines, the sub-steps of: selecting a sample point on a said spline of the first set converting said sample point in accordance with said predetermined function; determining the difference between said converted sample point and a corresponding point on said corresponding spline of the second set; and repeating, if said difference is less than or equal to a predetermined threshold, the selection, conversion, and determining sub-steps for a predetermined number of samples *:.ess and if any said difference is greater than said predetermined threshold subdividing said 20 spline of the first set.
  5. 7. A method as claimed in claim 6, wherein said subdividing substep is not performed ooo,• if the spline to be subdivided is below a predetermined limit.
  6. 8. A method as claimed in any one of claims 1 to 7, wherein said original outline is a font character and said providing step comprises the sub-steps of: providing a glyph representation of the font character; and generating said first set of splines representing an outline of said glyph. ooee 30 9. A method as claimed in any one of claims 1 to 7, wherein said original outline is an S outline of an object. 536213 amendments0l.doc -16- A method as claimed in any one of claims 1 to 9, wherein said splines are Bezier splines.
  7. 11. A method as claimed in any one of claims 2 to 10, wherein said repeating step is repeated until interrupted by a user.
  8. 12. A method as claimed in any one of claims 2 to 10, wherein said repeating step is repeated a predetermined number of times.
  9. 13. A method as claimed in any one of claims 2 to 10, wherein said repeating step is repeated for a predetermined time.
  10. 14. A method of animating an outline, the method comprising the steps of: providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and 20 is dependent on a variable parameter having a predetermined value; and S: generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set *oooo of splines is representative of the new outline; outputting said new outline; altering the predetermined value of said variable parameter; and repeating the conversion step, the step of generating a second set of splines, and the S:altering steps to produce an animated sequence of the new outlines. 99 oo..
  11. 15. A method as claimed in claim 14, wherein said lens function is centred at a location 9o9o 30 and values for a new radii and new angles of the polar coordinates of the converted knot 0 *a points are calculated as follows: new radius original radius k(R original radius) where: 536213 amendments01.doc
  12. 17- the original radius is the distance between said location and the knot point that is to be converted; R is the maximum radius of the radii of the plurality of knot points of the spline being considered; k is a parameter value; and the new angle original angle of the knot point that is to be converted. 16. A method as claimed in claim 15, wherein said variable parameter is said parameter value 17. A method as claimed in claim 15, wherein said variable parameter is said location and said altering step alters said location.
  13. 18. A method as claimed in any one of claims 14 to 17, said method further comprising the steps of: subdividing any one of the splines of said first set, if a corresponding said spline of the second set does not substantially approximate said new character outline and repeating the conversion step and generation step for the subdivided splines; repeating the subdivision step together with the conversion step, the generation step, 20 the output step and the altering step to produce said animated sequence of the new outlines. .:t.oi
  14. 19. A method as claimed in claim 18, wherein said subdividing step comprises, for each spline of the first set including any subdivided splines, the sub-steps of: selecting a sample point on a said spline of the first set converting said sample point in accordance with said predetermined function; determining the difference between said converted sample point and a corresponding point on said corresponding spline of the second set; and 0000 S• o-repeating, if said difference is less than or equal to a predetermined threshold, the °000 .i 30 selection, conversion, and determining sub-steps for a predetermined number of samples *e and if any said difference is greater than said predetermined threshold subdividing said spline of the first set. 536213 amendments0l.doc A method as claimed in claim 19, wherein said subdividing substep is not performed if the spline to be subdivided is below a predetermined limit.
  15. 21. A method as claimed in any one of claims 14 to 20, wherein the original outline is a font character and said providing step comprises the sub-steps of: providing a glyph representation of the font character; and generating said first set of splines representing an outline of said glyph.
  16. 22. A method as claimed in any one of claims 14 to 20, wherein the original outline is an outline of an object.
  17. 23. A method as claimed in any one of claims 14 to 22, wherein said splines are Bezier splines.
  18. 24. A method as claimed in any one of claims 14 to 23, wherein said repeating step is repeated until interrupted by a user. A method as claimed in any one of claims 14 to 23, wherein said repeating step is repeated a predetermined number of times. o
  19. 26. A method as claimed in any one of claims 14 to 23, wherein said repeating step is repeated for a predetermined time. ooogo
  20. 27. Apparatus for creating a new outline from an original outline, the apparatus comprising: means for providing a first set of splines, wherein the first set of splines is **representative of the original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the 30 first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates; and 536213 amendments0l.doc means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline.
  21. 28. Apparatus for animating an outline, the apparatus comprising: means for providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and is dependent on a variable parameter having a predetermined value; and means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline; means for outputting said new outline; means for altering the predetermined value of said variable parameter; and means for repeating the operations of the conversion means, the generation means, and the altering means to produce an animated sequence of the new outlines.
  22. 29. A computer program for creating a new outline from an original outline, the :.computer program comprising: means for providing a first set of splines, wherein the first set of splines is representative of the original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates; and 30 means for generating a second set of splines, wherein each spline of the second set o. is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline. 536213 amendments0l.doc A computer program comprising a computer program for animating an outline, the computer program comprising: means for providing a first set of splines, wherein the first set of splines is representative of an original outline, and each said spline of the first set having a plurality of knot points associated therewith; means for converting the plurality of knot points associated with each spline of the first set to a corresponding plurality of knot points in accordance with a predetermined function, wherein the predetermined function is a lens function expressed in polar coordinates and is dependent on a variable parameter having a predetermined value; and means for generating a second set of splines, wherein each spline of the second set is generated from a corresponding said converted plurality of knot points, and the second set of splines is representative of the new outline; means for outputting said new outline; means for altering the predetermined value of said variable parameter; and means for repeating the operations of the conversion means, the generation means, and the altering means to produce an animated sequence of said new outlines.
  23. 31. An animated sequence of outlines as produced by any one of the methods as claimed in claims 1 to 26.
  24. 32. A method for animating character outlines, the method substantially as described •*.herein with reference to Fig. 1, or Figs 1,4 and 5 of the accompanying drawings.
  25. 33. Apparatus for animating character outlines, the apparatus substantially as described herein with reference to Fig. 1 and 6, or Figs. 1,4, 5 and 6 of the accompanying drawings.
  26. 34. A computer program for animating character outlines, the computer program substantially as described herein with reference to Figs. 1 and 6, or Figs. 1, 4, 5 and 6 of the accompanying drawings. 30 DATED this Third Day of June 2003 S"CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant SPRUSON FERGUSON 536213 amendments0l.doc
AU18312/01A 2000-02-10 2001-02-06 Animating character outlines Ceased AU768344B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU18312/01A AU768344B2 (en) 2000-02-10 2001-02-06 Animating character outlines

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPQ5530 2000-02-10
AUPQ5530A AUPQ553000A0 (en) 2000-02-10 2000-02-10 Animating character outlines
AU18312/01A AU768344B2 (en) 2000-02-10 2001-02-06 Animating character outlines

Publications (2)

Publication Number Publication Date
AU1831201A AU1831201A (en) 2001-08-16
AU768344B2 true AU768344B2 (en) 2003-12-11

Family

ID=25617107

Family Applications (1)

Application Number Title Priority Date Filing Date
AU18312/01A Ceased AU768344B2 (en) 2000-02-10 2001-02-06 Animating character outlines

Country Status (1)

Country Link
AU (1) AU768344B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0745945A2 (en) * 1995-05-31 1996-12-04 Canon Kabushiki Kaisha Parametric curve generating device
AU2250199A (en) * 1998-03-27 1999-10-07 Canon Kabushiki Kaisha Animated font characters
WO1999052081A1 (en) * 1998-04-03 1999-10-14 Avid Technology, Inc. Method and apparatus for three-dimensional character animation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0745945A2 (en) * 1995-05-31 1996-12-04 Canon Kabushiki Kaisha Parametric curve generating device
AU2250199A (en) * 1998-03-27 1999-10-07 Canon Kabushiki Kaisha Animated font characters
WO1999052081A1 (en) * 1998-04-03 1999-10-14 Avid Technology, Inc. Method and apparatus for three-dimensional character animation

Also Published As

Publication number Publication date
AU1831201A (en) 2001-08-16

Similar Documents

Publication Publication Date Title
CN115812221B (en) Image generation and coloring method and apparatus
CN116934908B (en) Automatic poster generation method, device, computer equipment and storage medium
JP7474793B2 (en) Automatic line drawing coloring program, automatic line drawing coloring device, and program for graphical user interface
US20050248582A1 (en) Dynamic wrinkle mapping
US20250117990A1 (en) Scribble-to-vector image generation
WO2025016121A1 (en) Image processing method and apparatus, and electronic device and storage medium
US12361619B2 (en) Methods and systems for prompt-based image editing
AU2023204208B1 (en) Systems and methods for prompt-based inpainting
US6459431B1 (en) Method and apparatus for orientating a set of finite n-dimensional space curves
CN111340913A (en) Picture generation and model training method, device and storage medium
Lei et al. An art-oriented pixelation method for cartoon images
AU768344B2 (en) Animating character outlines
AU2009202878B2 (en) A line stroking method and system
US20250166136A1 (en) Editing Control Of Material Properties With Diffusion Models
AU2015268723B1 (en) Method, system and apparatus for modifying a font character
US7570265B2 (en) Sawtooth spline display
US6937239B1 (en) Method and apparatus for orientating a character stroke
Ike The Role of Text-to-Image Models in Advanced Style Transfer Applications: A Case Study with DALL-E 3
CN111383267A (en) Target relocation method, device and storage medium
CN121639855B (en) Thangka generation method based on structure and pattern double-channel constraint diffusion model
US20250322495A1 (en) Texture based consistency for generative ai assets, effects and animations
Majeed et al. Few-Shot Content-Level Font Generation
CN120014149A (en) Three-dimensional model generation method, device and electronic equipment
AU774975B2 (en) Method and apparatus for determining the area enclosed by a planar curve
Wang et al. HSI-DM: Training-Free Hierarchical Style Injection in Diffusion Models for Natural Content-Style Fusion

Legal Events

Date Code Title Description
DA3 Amendments made section 104

Free format text: THE NATURE OF THE AMENDMENT IS: SUBSTITUTE PATENT REQUEST REGARDING ASSOCIATED DETAILS

FGA Letters patent sealed or granted (standard patent)