IP Library Granted Patent US 9,092,905
Granted Patent B2
US 9,092,905 · App. 13/699,157 · Granted Jul 28, 2015

Curve rendering device, curve rendering method, curve rendering program, and integrated circuit

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,092,905
App. No.
13/699,157
Granted
Jul 28, 2015
Kind
B2
Abstract

A curve rendering device is provided which is capable of judging whether a further approximation process is necessary for an approximation curve obtained by an immediately previous approximation process, and includes: a path dividing unit for calculating segmentation points on a center line; an outline point calculating unit for calculating, for each of the segmentation points, two offset points; a judging unit for calculating a distance between offset points, and judging a ratio of the longer distance to the shorter distance is greater than a predetermined value; and a curve forming unit for approximating, between two partial outlines, the longer one of the two partial outlines by using a greater number of line segments than line segments used to approximate the shorter one of the two partial outlines when the ratio is judged to be greater than the predetermined value.

Claims (50)

1. A curve rendering device for rendering a curve, having a width and defined by a center line and a line width, by linear approximation of an outline of the curve, the curve rendering device comprising:

a non-transitory memory storing a program; and

a hardware processor that executes the program causing the curve rendering device to operates as:

a segmentation point calculating unit configured to calculate a plurality of segmentation points on the center line for segmenting the center line;

an offset point calculating unit configured to calculate, for each of the segmentation points, two offset points separated from the segmentation point by an equal distance on a normal to the center line at the segmentation point;

a distance calculating unit configured to calculate a distance between offset points in each of two pairs selected from four offset points calculated for two adjacent segmentation points, the offset points in each pair being located on a same side with respect to a straight line connecting the two adjacent segmentation points;

a judging unit configured to calculate a ratio between the calculated two distances using a shorter one of the distances as a denominator, and judge whether or not the ratio is greater than a predetermined value; and

a curve forming unit configured to approximate, between two partial outlines which are portions of the outline delimited at the respective normals at the two adjacent segmentation points, the longer one of the two partial outlines by using a greater number of line segments than line segments used to approximate the shorter one of the two partial outlines when the ratio is judged to be greater than the predetermined value.

2. The curve rendering device according to claim 1 , wherein

the offset point calculating unit calculates, as the two offset points separated from the segmentation point by the equal distance, points that are separated from the segmentation point by half the line width.

3. The curve rendering device according to claim 1 , wherein

the curve forming unit approximates the shorter partial outline with a single line segment, and

the segmentation point calculating unit segments the center line so that the single line segment approximating the shorter partial outline becomes equal to a predetermined length or shorter.

4. The curve rendering device according to claim 1 , wherein

the curve forming unit determines the number of line segments used to approximate the longer partial outline in relation to the ratio calculated by the judging unit.

5. The curve rendering device according to claim 4 , wherein

when approximating the longer partial outline, the curve forming unit calculates points a n and b n and vectors s n , t n , and u n , with respect to each integer from 1 to d, using following equations:

a n =a n-1 +2 n-1-d ( c n-1 −a n-1 );

b n =b n-1 +2 n-1-d ( c n-1 −b n-1 );

s n =2 -d {(2 d-(n-1) −1) u n-1 +s n-1 )};

t n =2 -d {(2 d-(n-1) −1)(− u n-1 )+ t n-1 )}; and

u n =s n +(− t n ),

where

a 0 and b 0 denote end points of the longer partial outline,

s 0 denotes a tangent vector to the center line at the point a 0 ,

t 0 denotes an inverse of a tangent vector to the center line at the point b 0 ,

c 0 denotes an intersection point of a straight line extending from the point a 0 in a direction of the vector s 0 and a straight line extending from the point b 0 in a direction of the vector t 0 , and

d denotes a division coefficient,

in the equations, a point c n denotes an intersection point of a straight line extending from the point a n in a direction of the vector s n and a straight line extending from the point b n in a direction of the vector t n , and

the curve forming unit approximates the longer partial outline with a sequence of straight lines defined by connecting (d+1) points a m (m is an integer from 0 to d), a point c d , and (d+1) points b m .

6. The curve rendering device according to claim 1 , wherein

when one of the two normals intersects with the other at a point between the offset points on the normal, the curve forming unit approximates one of the partial outlines with a plurality of curves irrespective of the judgment by the judging unit, the one of the partial outlines being located on an opposite side from the intersecting point of the normals with respect to a straight line connecting the two adjacent segmentation points.

7. A curve rendering method used in a curve rendering device for rendering a curve, having a width and defined by a center line and a line width, by linear approximation of an outline of the curve, the curve rendering device including a non-transitory memory storing a program and a hardware processor that executes the program causing the curve rendering device to operates as a segmentation point calculating unit, an offset point calculating unit, a distance calculating unit, a judging unit, and a curve forming unit, the curve rendering method comprising the steps of:

a segmentation point calculating step performed by the hardware processor configured to operate as the segmentation point calculating unit to calculate a plurality of segmentation points on the center line for segmenting the center line;

an offset point calculating step performed by the hardware processor configured to operates as the offset point calculating unit to calculate, for each of the segmentation points, two offset points separated from the segmentation point by an equal distance on a normal to the center line at the segmentation point;

a distance calculating step performed by the hardware processor configured to operate as distance calculating unit to calculate a distance between offset points in each of two pairs selected from four offset points calculated for two adjacent segmentation points, the offset points in each pair being located on a same side with respect to a straight line connecting the two adjacent segmentation points;

a judging step performed by the hardware processor configured to operate as the judging unit to calculate a ratio between the calculated two distances using athe shorter one of the distances as a denominator, and judge whether or not the ratio is greater than a predetermined value; and

a curve forming step performed by the hardware processor configured to operate as the curve forming unit to approximate, between two partial outlines which are portions of the outline delimited at the respective normals at the two adjacent segmentation points, athe longer one of the two partial outlines by using a greater number of line segments than line segments used to approximate the shorter one of the two partial outlines when the ratio is judged to be greater than the predetermined value.

8. A non-transitory computer-readable recording medium storing a curve rendering program for causing a computer to function as a curve rendering device that is for rendering a curve, having a width and defined by a center line and a line width, by linear approximation of an outline of the curve, the curve rendering program comprising code for causing the computer to function as:

a segmentation point calculating unit configured to calculate a plurality of segmentation points on the center line for segmenting the center line;

an offset point calculating unit configured to calculate, for each of the segmentation points, two offset points separated from the segmentation point by an equal distance on a normal to the center line at the segmentation point;

a distance calculating unit configured to calculate a distance between offset points in each of two pairs selected from four offset points calculated for two adjacent segmentation points, the offset points in each pair being located on a same side with respect to a straight line connecting the two adjacent segmentation points;

a judging unit configured to calculate a ratio between the calculated two distances using a shorter one of the distances as a denominator, and judge whether or not the ratio is greater than a predetermined value; and

a curve forming unit configured to approximate, between two partial outlines which are portions of the outline delimited at the respective normals at the two adjacent segmentation points, a longer one of the two partial outlines by using a greater number of line segments than line segments used to approximate the shorter one of the two partial outlines when the ratio is judged to be greater than the predetermined value.

9. An integrated circuit used in a curve rendering device for rendering a curve, having a width and defined by a center line and a line width, by linear approximation of an outline of the curve, the integrated circuit comprising:

a segmentation point calculating circuit configured to calculate a plurality of segmentation points on the center line for segmenting the center line;

an offset point calculating circuit configured to calculate, for each of the segmentation points, two offset points separated from the segmentation point by an equal distance on a normal to the center line at the segmentation point;

a distance calculating circuit configured to calculate a distance between offset points in each of two pairs selected from four offset points calculated for two adjacent segmentation points, the offset points in each pair being located on a same side with respect to a straight line connecting the two adjacent segmentation points;

a judging circuit configured to calculate a ratio between the calculated two distances using the shorter one of the distances as a denominator, and judge whether or not the ratio is greater than a predetermined value; and

a curve forming circuit configured to approximate, between two partial outlines which are portions of the outline delimited at the respective normals at the two adjacent segmentation points, a longer one of the two partial outlines by using a greater number of line segments than line segments used to approximate the shorter one of the two partial outlines when the ratio is judged to be greater than the predetermined value.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY FILED APPLICATION NUMBERS 13/384239, 13/498734, 14/116681 AND 14/301144 PREVIOUSLY RECORDED ON REEL 034194 FRAME 0143. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 24, 2020
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 056788/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
To: SOVEREIGN PEAK VENTURES, LLC
Reel/Frame 048268/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 034194/0143 →