Curve generating device and program for generating curve

JP7629802B2Active Publication Date: 2025-02-14BIPROGY INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021086419
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-21
Publication Date
2025-02-14
Estimated Expiration
2041-05-21

AI Technical Summary

Benefits of technology

【0011】 上記のように構成した本発明によれば、所定の条件を満たすように生成される曲線は、曲率関数が弧長パラメータに沿って単調増加または単調減少する以外に、単調増加から単調減少へ、または単調減少から単調増加へと転じる極値を持つことも可能となる。これにより、部分的には曲率単調である一方で全体的には曲率単調とは限らない意匠デザインに好適な曲線を生成する際に、曲率単調性の条件を満足するように生成した個々のセグメント曲線どうしを接続するといった操作が不要で、全体としての曲率変化が滑らかな曲線を、多くの試行錯誤を要することなく曲線形状を示す測定データ等の入力データから容易に生成することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007629802000008
    Figure 0007629802000008
  • Figure 0007629802000009
    Figure 0007629802000009
  • Figure 0007629802000010
    Figure 0007629802000010
Patent Text Reader

Abstract

To enable a curve suitable for a design which partially has monotonous curvature but does not always have monotonous curvature as a whole to be easily generated as a curve in which the whole curvature change is smooth.SOLUTION: A curve generation device includes a curve generation unit 3 for generating a parabolic curvature curve satisfying a prescribed condition on the basis of input curve data of measurement data or the like showing a curve shape. A curve generated by the curve generation unit 3 can have an extreme value making a sift from a monotonous increase to a monotonous decrease or from a monotonous decrease to a monotonous increase other than a monotonous increase or a monotonous decrease of a curvature function along an arc length parameter by using a first condition that the curvature function is given by quadratic of the arc length parameter as a prescribed condition, and a curve suitable for a design that does not always have a monotonous curvature over the whole area can be easily generated as a curve in which the whole curvature change is smooth without requiring many trials and errors.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a curve generating device and a curve generating program, and is particularly suitable for use in a curve generating device and a curve generating program for generating curves with smooth curvature changes required in the field of artistic design. [Background technology]

[0002] In general product design, product shape data is created using CAD (Computer Aided Design). One method that has attracted attention is the use of reverse engineering technology to reconstruct the shape of curves / surfaces from measurement data of the model object. For example, automobile manufacturers embody the designer's ideas in clay models, and then create CAD data from the measurement data.

[0003] When reconstructing a curve from measurement data using CAD, two points are required: (i) the generated curve must be able to sufficiently approximate the measurement data within a specified tolerance, and (ii) the generated curve must have a smooth change in curvature. In particular, in (ii), it is important to handle the condition of curvature monotonicity. In fact, important curves in design, called feature lines or character lines, may have curvature monotonicity in parts, but not necessarily over the entire area. Therefore, a method has been proposed in which a curve is divided into multiple segments and a curve is generated so that the condition of curvature monotonicity is satisfied for each divided segment (see, for example, Patent Documents 1 and 2).

[0004] In the curve generating device described in Patent Document 1, the end point to be connected out of both end points of the curve segments to be connected is set as a vertex, and a parabola with the tangent direction passing through this end point as the x-axis is displayed at the end point. Then, by controlling parameters that determine the shape of the parabola, a curve that is tangent to the end point is generated from a part of the parabola.

[0005] However, to determine a parabola using this method, four parameters are required: the start point position, the end point position, and the stretching in the tangential direction and the stretching in the normal direction. Furthermore, to make the curvature continuous between curve segments, the parameters of the parabola must be appropriately adjusted so that the radius of curvature is continuous between segments. In other words, to generate a curve with a smooth change in curvature as a whole, multiple parameters must be adjusted, but this requires trial and error, so it is not easy to obtain a desired curve.

[0006] The CAD system described in Patent Document 2 divides input curve data into multiple segments, and generates an aesthetic curve for each divided segment so that the radius of curvature or the power of curvature of each segment is expressed by a linear expression of the arc length parameter of the segment. Furthermore, to make adjacent segments curvature continuous, each segment is deformed so that the difference in curvature value at each segment end at the connection point is equal to or less than a predetermined threshold.

[0007] According to the description in Patent Document 2, an aesthetic curve can be generated for each divided segment so as to satisfy conditions regarding the radius of curvature or the power of curvature. However, after generating each of the curves, the connecting parts are forcibly adjusted to realize the curvature continuity between the segments, and as a result, the finally generated curve is no longer an aesthetic curve. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] JP 2000-76470 A [Patent Document 2] Patent No. 5177771 Summary of the Invention [Problem to be solved by the invention]

[0009] The present invention has been made to solve such problems, and aims to easily generate curves with smooth curvature changes that are suitable for artistic design, where the curvature is monotonic in some parts but not necessarily monotonic overall. [Means for solving the problem]

[0010] In order to solve the above problem, the present invention provides measurement data showing a curve shape. or B-spline curve From the input data, a parabolic curvature curve is generated in which the curvature change of the entire curve is smooth and satisfies a predetermined condition. In the present invention, the first condition that the curvature function is given by a quadratic expression of the arc length parameters is used as the predetermined condition. Effect of the Invention

[0011] According to the present invention configured as described above, a curve generated to satisfy a predetermined condition can have an extreme value where the curvature function changes from monotonically increasing to monotonically decreasing or from monotonically decreasing to monotonically increasing along the arc length parameter, in addition to the curvature function monotonically increasing or decreasing along the arc length parameter. As a result, when generating a curve suitable for a design that has a curvature that is partially monotonic but not necessarily monotonic overall, it is not necessary to perform an operation such as connecting individual segment curves generated to satisfy the curvature monotonicity condition, and a curve with a smooth change in curvature as a whole can be easily generated from input data such as measurement data indicating the curve shape without requiring a lot of trial and error. [Brief description of the drawings]

[0012] [Figure 1] 1 is a block diagram showing an example of a functional configuration of a curve generating device according to an embodiment of the present invention; [Diagram 2] FIG. 13 is a diagram showing an example of a curve that is not monotonic in curvature over its entire range, created at a design site. [Diagram 3] FIG. 11 is a diagram for explaining a function related to a first condition. [Figure 4] FIG. 1 is a diagram for explaining a parabolic curvature curve having extreme values ​​inside and outside a domain. [Diagram 5] FIG. 13 is a diagram showing an example of a curvature vector when a parabolic curvature curve is generated by two-stage processing. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] An embodiment of the present invention will be described below with reference to the drawings. Fig. 1 is a block diagram showing an example of the functional configuration of a curve generating device according to this embodiment. As shown in Fig. 1, the curve generating device of this embodiment is configured to include a curve data input unit 1, a curve type designation unit 2, and a curve generating unit 3 as functional components.

[0014] These functional blocks 1 to 3 can be configured by any of hardware, DSP (Digital Signal Processor), and software. For example, when configured by software, each of the functional blocks 1 to 3 is actually configured with a CPU, RAM, ROM, etc. of a computer, and is realized by the operation of a program stored in a recording medium such as the RAM, ROM, hard disk, or semiconductor memory.

[0015] The curve generating device of this embodiment uses the functions of the functional blocks 1 to 3 described above to generate a parabolic curvature curve with a smooth overall curvature change from input data such as measurement data indicating the curve shape. A parabolic curvature curve is a curve whose curvature function is given by a quadratic expression of an arc length parameter. Before describing the details of this embodiment, a conventional general aesthetic curve that is to be compared with the parabolic curvature curve of this embodiment will first be described.

[0016] A general free curve is expressed by a number of segments. Each segment is characterized by a constant α, which indicates the degree of curvature of the curve (which affects the impression of the curve). As described in Patent Document 2, a curve segment in which the αth power of the radius of curvature is expressed as a linear expression of the arc length parameter is considered to be an aesthetic curve (a curve that people find beautiful) suitable for design. In this case, the constant α indicates the slope of the straight line in the logarithmic distribution diagram of the curvature of the segment.

[0017] That is, for each segment curve, if the arc length parameter is s and the radius of curvature is ρ, the horizontal axis of the logarithmic distribution of curvature is logρ and the vertical axis is log{ρ(ds / dρ)}. Since the logarithmic distribution of curvature is given by a straight line, the following (Equation 1) holds. Note that, 1 is a constant. This (Equation 1) is called the basic equation of aesthetic curves. This (Equation 1) can be transformed into the following (Equation 2). The above is an explanation of general aesthetic curves.

[0018]

number

[0019] As mentioned above, when reconstructing a curve in a CAD system from input data such as measurement data showing the curve shape, it is important to properly handle the curvature monotonicity of the curve to be generated. As shown in the example of Figure 2, curves produced in actual design sites are partially curvature monotonic, but are not necessarily curvature monotonic overall. In Figure 2, reference numeral 20 denotes a curve, reference numeral 21 denotes the magnitude of curvature κ (appropriately scaled), and reference numeral 22 denotes the magnitude of 1 / 10 of the radius of curvature ρ (=1 / κ).

[0020] Therefore, in this embodiment, the function shown in the following (Equation 3a) and the convexity condition of (Equation 3b) are introduced. In this (Equation 3a), f α (|κ|) corresponds to the "curvature function" in the claims. Here, α=1 in (Equation 3a), and consider the following two cases as the convexity condition of (Equation 3b). In the first case, the inequality in (Equation 3b) is an equal sign, that is, d 2 |κ| / ds 2=0. By integrating twice with respect to s, we obtain κ=as+b (where a and b are constants). In other words, the curvature κ is linearly related to the arc-length parameter s. This means that a curve called a clothoid or Euler spiral has monotonic curvature. In addition, α=-1 means a logarithmic spiral, and α=-2 means a circular involute curve. This is synonymous with the conventional aesthetic curve. The second case below is a special situation where the inequality (3b) holds, that is, d 2 |κ| / ds 2 = a. By integrating twice with respect to s, κ = as 2 +bs+c (where a, b, and c are constants) is obtained, and the curvature κ is a quadratic expression (parabola) of the arc length parameter s. This means that the parabolic curvature curve of this embodiment is established.

[0021]

number

[0022] In the following description, the curvature function f α A graph showing the relationship between the (|κ|) and the arc length parameter s on the vertical and horizontal axes of the graph is called a "curvature graph." The curve generating device of the present embodiment shown in FIG. 1 generates a parabolic curvature curve C such that the curvature graph represents a parabola. A The input data such as measurement data showing the curve shape (hereinafter, this is called the input curve C 0 Or curve data C 0 Hereinafter, each of the functional blocks 1 to 3 in FIG. 1 will be described.

[0023] In the curve data input section 1, the curve data C is inputted by a user or by executing a batch processing type program. 0 Enter the curve data C. 0 is expressed by typical parametric curves such as polylines and B-spline curves. A polyline is a broken line obtained by linearly interpolating a sequence of points, and the curve data C 0 This is equivalent to giving a sequence of points as the curve data C 0A typical example is a polyline created from a sequence of points sampled on the characteristic line of the measurement data (polygon data). Sampling is not necessarily performed at equal intervals, and there is no sampled data in the trimmed parts of the measurement data, so the curve data C 0 The points that make up the curve data C may be unevenly spaced, and may be affected by noise in the measurement data. 0 The curve shape represented may be a 2D plane curve or a 3D space curve.

[0024] The curve type designation unit 2 designates a parabolic curvature curve C to be generated according to a user's operation. A The type is specified by inputting the value of the constant α.

[0025] The curve generating unit 3 generates the curve data (input curve) C input by the curve data input unit 1. 0 After normalizing by dividing by the curve length, the input curve C 0 From parabolic curvature curve C A At this time, the curve generating unit 3 reconstructs a parabolic curvature curve C that satisfies a predetermined condition. A The given condition used here is the curvature function f α The first condition is that (|κ|) is given by a quadratic expression of the arc length parameter s. That is, the curve generating unit 3 α (|κ|)=as 2 Parabolic curvature curve C satisfies +bs+c (a, b, c are constants) A The curve generator 3 generates a parabolic curvature curve C A is restored to the original scale and output.

[0026] The predetermined condition is the parabolic curvature curve C generated by the curve generating unit 3. A and input curve C 0 For example, the curve generating unit 3 may use the objective function J ABy finding the control points of the curve C(s) that minimizes the first and second conditions, we can find the parabolic curvature curve C(s). A In this (Equation 4), the first term on the right side indicates the second condition, and the second term indicates the first condition. ε 1 ,ε 2 is a weighting factor.

[0027]

number

[0028] The following describes this formula 4 in detail. The second term on the right side of formula 4 regarding the first condition is the curvature function f α The fact that (|κ|) is given by a quadratic expression in the arc-length parameter s is evaluated by the function Φ(C(s)) shown in the following (Equation 5). The function Φ is a function that calculates the deviation between the curvature graph of the generated curve C(s) and a parabola expressed by a quadratic expression. The first condition is to minimize this deviation.

[0029]

number

[0030] FIG. 3 is a diagram for explaining this function Φ(C(s)). Here, f α (|κ n |) is the value of the curvature function at the n-th evaluation point set on the curve C(s), and the circle in Figure 3 corresponds to that value. N indicates the total number of evaluation points. 2 +bs+c is the N curvature function values ​​f α (|κ n |) is a quadratic equation approximated by the least squares method. p is an arbitrary constant.

[0031] If the function Φ(C(s))=0, then the curvature graph of the curve C(s), i.e., the curvature function f α (|κ|) versus the arc length parameter s represents a parabola. Note that if the quadratic coefficient a is positive, the curvature graph is downward convex, and if it is negative, the curvature graph is upward convex.

[0032] In addition, in the first term on the right side of (Equation 4) regarding the second condition, Q n is the normalized input curve C 0 The coordinates of the nth evaluation point set as equally spaced as possible on the n ) is Q n is the nth coordinate value set on the curve C(s) as the closest point from

[0033] The curve generating unit 3 calculates the objective function J A By finding the curve C(s) that minimizes the above, we can find the parabolic curvature curve C that approximately satisfies the first and second conditions. A This makes it possible to easily generate a parabolic curvature curve that can sufficiently approximate input data such as measurement data showing the curve shape, has a smooth curvature change over the entire range, and the curvature function can have extreme values ​​as a parabola, without performing operations such as connecting multiple segment curves that are shaped to satisfy the condition of curvature monotonicity. Here, it is possible to generate either a parabolic curvature curve that has a curvature extreme value within the domain of the curve (0≦s≦1) as shown in Figure 4(a), or a parabolic curvature curve that has an extreme value outside the domain of the curve as shown in Figure 4(b).

[0034] <Variation 1> In the case of generating a 3D space curve, the predetermined condition may further include a third condition of minimizing the magnitude of the torsion of the parabolic curvature curve generated by the curve generating unit 3. As an example, the curve generating unit 3 calculates an objective function J 1 By finding the control points of the curve C(s) that minimizes the above, we can find the parabolic curvature curve C that satisfies the first to third conditions. A In this (Equation 6), the first term on the right side represents the first and second conditions on the right side of the above (Equation 4), and the second term represents the third condition. ε 3 is a weighting factor.

[0035]

number

[0036] The second term on the right hand side of (Equation 6) regarding the third condition is evaluated by the function Ψ(C(s)) shown in the following (Equation 7) to minimize the magnitude of the torsion of the generated curve C(s). In this (Equation 7), τ(s n ) is the value of the torsion at the n-th evaluation point set on the curve C(s). Also, bs n +c is the N torsion τ(s n ) is a linear equation that approximates the value of

[0037]

number

[0038] The curve generating unit 3 calculates the objective function J 1 By finding the curve C(s) that minimizes the above, we can find the parabolic curvature curve C that approximately satisfies the first, second, and third conditions. A This allows the system to easily generate a parabolic curvature curve with little twist, which can adequately approximate input data such as measurement data that indicates the shape of the curve, with smooth curvature changes over the entire range, and with the curvature function having extreme values ​​as a parabola.

[0039] <Variation 2> To ensure robustness against noise in the measurement data, a parabolic curvature curve C is obtained in two stages by using a low-order parametric curve. A For example, in the first stage, the input curve C 0 In the first step, we fit a quadratic compound Bézier curve to the cubic curvature continuous B-spline curve.

[0040] In the first stage, the curve generator 3 calculates the objective function J 2 We find a quadratic compound Bezier curve that minimizes the following equation (8): A indicates the first and second conditions of the above (Equation 4). ε4 is a weighting coefficient. Also, κ L m ,κ R m denotes the curvature vectors at the end points of the left and right segments at the m-th junction point of adjacent Bézier segments, as shown in FIG.

[0041]

number

[0042] In the second stage, the curve generation unit 3 forcibly converts the quadratic composite Bezier curve obtained in the first stage into a cubic curvature continuous B-spline curve, and uses the curve obtained in this way as an initial curve, and calculates the objective function J shown in the above (Equation 6). 1 By finding the curve C(s) that minimizes the above, we can find the parabolic curvature curve C that approximately satisfies the first, second, and third conditions. A Generate (s).

[0043] <Other Modifications> In the above embodiment, as in (Equation 5) showing the function Φ(C(s)) for evaluating the first condition 2 The coefficients of the quadratic expression of +bs+c are the values ​​of the curvature function f at the N evaluation points. α (|κ n |) by the least squares method, but the present invention is not limited to this. For example, the values ​​of coefficients a, b, and c of the quadratic expression may be arbitrarily specified by the user. By doing so, for example, the user can intentionally determine (or control) whether the extreme value is to be within the domain of the curve as in FIG. 4(a) or outside the domain of the curve as in FIG. 4(b).

[0044] In the above embodiment, the type of parabolic curvature curve to be generated is specified by the curve type specifying unit 2, but it is not essential that the type can be specified. For example, a parabolic curvature curve of a predetermined type may be generated.

[0045] Furthermore, as described in the above embodiment as an example of reconstructing a parabolic curvature curve from input curve data such as measurement data indicating the curve shape, the input data is not limited to data resulting from measurement data of a clay model, etc. For example, the method of the present invention can be used to generate a B-spline curve that satisfies the first condition by using a B-spline curve that does not satisfy the first condition as input data.

[0046] In addition, the above-mentioned embodiments are merely examples of the implementation of the present invention, and the technical scope of the present invention should not be interpreted as being limited thereby. In other words, the present invention can be implemented in various forms without departing from the gist or main characteristics thereof. [Explanation of symbols]

[0047] 1 Curve data input section 2 Curve type specification section 3 Curve generator

Claims

1. A curve generating device that generates a curve having a smooth change in curvature as a whole from measurement data indicating a curve shape or input data of a B-spline curve, comprising: a curve generating unit that generates a parabolic curvature curve that satisfies a predetermined condition based on the input data, The curve generating device, wherein the predetermined conditions include a first condition that the curvature function is given by a quadratic expression of arc length parameters.

2. 2. The curve generating device according to claim 1, wherein the predetermined condition further includes a second condition of minimizing a deviation between the parabolic curvature curve generated by the curve generating unit and a curve represented by the input data.

3. 3. The curve generating device according to claim 1, wherein the predetermined conditions further include a third condition that a magnitude of the torsion of the parabolic curvature curve generated by the curve generating unit is minimized.

4. A curve generating program for generating a curve having a smooth overall change in curvature from measurement data indicating a curve shape or input data of a B-spline curve, comprising: A curve generation program that causes a computer to function as curve generation means for generating a parabolic curvature curve that satisfies predetermined conditions based on the input data, and uses, as the predetermined condition, a first condition that the curvature function is given by a quadratic expression of arc length parameters.

5. 5. The curve generating program according to claim 4, further comprising a second condition for minimizing a deviation between the parabolic curvature curve generated by the curve generating means and a curve represented by the input data, as the predetermined condition.

6. 6. The curve generating program according to claim 4, further comprising a third condition for minimizing the magnitude of the torsion of the parabolic curvature curve generated by the curve generating means as the predetermined condition.

Citation Information

Patent Citations

  • JP1976077771A

  • Method and device for generating curved line and storage medium storing its program

    JP2000076470A

  • Program, storage medium, and space curve generating device

    JP2010282538A

  • Curved surface generation device and program for curved surface generation

    JP2019191750A

  • Method for operating a curve forming device

    US5594852A