KR100730996B1 - Query curves processing method - Google Patents

Query curves processing method Download PDF

Info

Publication number
KR100730996B1
KR100730996B1 KR1020050078254A KR20050078254A KR100730996B1 KR 100730996 B1 KR100730996 B1 KR 100730996B1 KR 1020050078254 A KR1020050078254 A KR 1020050078254A KR 20050078254 A KR20050078254 A KR 20050078254A KR 100730996 B1 KR100730996 B1 KR 100730996B1
Authority
KR
South Korea
Prior art keywords
curve
point
calculating
function
partial
Prior art date
Application number
KR1020050078254A
Other languages
Korean (ko)
Other versions
KR20070023920A (en
Inventor
최성진
Original Assignee
최성진
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
Application filed by 최성진 filed Critical 최성진
Priority to KR1020050078254A priority Critical patent/KR100730996B1/en
Publication of KR20070023920A publication Critical patent/KR20070023920A/en
Application granted granted Critical
Publication of KR100730996B1 publication Critical patent/KR100730996B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 그래픽 응용프로그램상에서 구현되는 무정형의 곡선(임의곡선) 처리방법에 관한 것으로서, (a) 경로점 좌표를 입력받는 단계; (b) 각 경로점에서 평균 기울기를 계산하는 단계; (c) 각 부분곡선함수의 매개변수 값을 결정하는 단계; (d) 상기 결정된 매개변수 값을 이용하여 부분곡선을 표현하는 단계; (e) 완성된 부분곡선을 렌더링하여 출력장치를 통해 출력하는 단계로 구성된다.The present invention relates to a method for processing an amorphous curve (arbitrary curve) implemented on a graphic application, comprising: (a) receiving a path point coordinate; (b) calculating an average slope at each path point; (c) determining a parameter value of each subcurve function; (d) expressing partial curves using the determined parameter values; (e) rendering the completed partial curve and outputting it through the output device.

상기와 같은 본 발명에 따르면, 그리고자 하는 임의곡선상의 경로점만 입력하면 각 부분곡선을 결정하는 기울기를 자동으로 결정함으로써 곡선을 쉽고 빠르게 그리거나 수정할 수 있는 효과가 있다.According to the present invention as described above, by inputting only the path point on the desired curve to automatically determine the slope to determine each sub-curve has the effect that can be easily or quickly draw or modify the curve.

임의곡선, 부분곡선, 시작점, 끝점, 경로점, 평균기울기 Arbitrary, Subcurve, Start, End, Path Point, Slope

Description

임의곡선 처리방법 {Query curves processing method}Arbitrary curve processing method {Query curves processing method}

도 1a 내지 도 1b 는 종래의 곡선 그리기 방법을 나타내는 도면.1A to 1B show a conventional curve drawing method.

도 2 는 본 발명에 따른 임의곡선을 그리기 위한 응용프로그램을 나타내는 블럭도.2 is a block diagram illustrating an application program for drawing arbitrary curves in accordance with the present invention.

도 3a 는 본 발명의 일실시예에 따른 부분곡선을 처리하는 방법을 나타내는 흐름도.3A is a flow diagram illustrating a method of processing partial curves in accordance with one embodiment of the present invention.

도 3b 내지 3e 는 본 발명의 일실시예에 따른 부분곡선을 표현하기 위한 각 경로점에서의 기울기를 계산하기 위한 도면.3B to 3E are diagrams for calculating slopes at respective path points for expressing partial curves according to an embodiment of the present invention.

도 3f 는 본 발명의 일실시예에 따른 각 경로점의 평균기울기를 이용하여 그려진 곡선을 나타내는 도면.Figure 3f is a view showing a curve drawn using the average slope of each path point according to an embodiment of the present invention.

도 4 는 본 발명의 일실시예에 따른 경로점을 이동시켜 곡선의 형태를 수정하는 예를 보여주는 도면.4 is a view showing an example of modifying the shape of the curve by moving the path point according to an embodiment of the present invention.

도 5a 및 도 5b 는 본 발명의 일실시예에 따른 응용프로그램을 이용한 일예시도.5a and 5b is an exemplary view using an application program according to an embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

CPU : 1 입력부 : 2 CPU: 1 Input: 2

출력부 : 3 응용프로그램 : 4Output: 3 Application: 4

인터페이스 : 41 곡선 산출 모듈 : 42 Interface: 41 curve output module: 42

곡선 그리기 모듈 : 43Curve Drawing Module: 43

본 발명은 그래픽 응용프로그램상에서 구현되는 무정형의 곡선(임의곡선) 처리방법에 관한 것이다.The present invention relates to a method for processing an amorphous curve (arbitrary curve) implemented on a graphics application.

최근 컴퓨터 기반기술의 발전으로 사용자는 다양한 그래픽 관련 응용프로그램(이하, '응용프로그램')을 통해 자신이 원하는 그림을 자유롭게 그릴 수 있게 되었다. 이러한 그림은 기본적으로 점과 선, 그리고 곡선을 처리하는 함수에 의해 구현된다. 이 중에서도 곡선은 표현하고자 하는 대상에 사실성을 부가하기 위한 주요한 요소로서 이를 구현하기 위한 대표적인 방법으로 소위 '베지어 스플라인(Bezier Spline) 곡선처리 방식'이 널리 이용되고 있다. Recently, with the development of computer-based technology, a user can freely draw a desired picture through various graphic related applications (hereinafter, referred to as "application program"). These figures are basically implemented by functions that handle points, lines, and curves. Among them, a curve is a major element for adding realism to the object to be expressed, and a so-called 'Bezier Spline curve processing method' is widely used as a representative method for implementing the curve.

어도비사가 제공하는 포토샵(Adobe Photoshop)에서의 곡선처리 방식을 단순화시킨 도 1a 를 참조하면, 시작점(Start Point, SP)과 끝점(End Point, EP) 사이에 소정의 이차함수 곡선이 도시되어 있고, 그리고 시작점 및 끝점의 교차되는 접선 상에 위치하는 제어점(Control Point, CP)의 위치 이동을 통해 이차함수 곡선의 곡률이 제어된다. 이때, 곡선 표현에 사용된 함수는 아래와 같은 2차 베지어의 곡 선처리 함수가 이용된다.Referring to FIG. 1A, which simplifies the curve processing method in Adobe Photoshop provided by Adobe, a predetermined quadratic curve is shown between a Start Point (SP) and an End Point (EP). The curvature of the quadratic function curve is controlled by moving the control point (CP) located on the intersection of the start point and the end point. At this time, the function used for the curve representation is used the curve processing function of the second order Bezier as follows.

XC = X0(1 - u)2 + 2X1u(u - 1) + X2 u2 X C = X 0 (1-u) 2 + 2 X 1 u (u-1) + X 2 u 2

YC = Y0(1 - u)2 + 2Y1u(u - 1) + Y2 u2 Y C = Y 0 (1-u) 2 + 2 Y 1 u (u-1) + Y 2 u 2

0 ≤ u ≤ 10 ≤ u ≤ 1

위와 같은 매개함수식에서 u는 매개변수(Parametric variable)로서, u가 0인 경우 시작점(SP)를 나타내고, 1인 경우 끝점(EP)을 나타낸다. 만약 X0, Y0, X1, Y1, X2, Y2 6개의 파라미터를 결정하면 하나의 부분곡선이 완전히 결정된다. 이때 (X0, Y0)는 시작점(SP)을 나타내고, (X2, Y2)는 끝점(EP)을 의미한다. 한편 (X1, Y1)는 제어점(CP)에 해당하는 것으로 시작점 및 끝점에서의 기울기(미분값)에 의존한다. In the above parametric function, u is a parametric variable. When u is 0, it represents a starting point (SP), and when 1 is an end point (EP). If you determine six parameters, X 0 , Y 0 , X 1 , Y 1 , X 2 , and Y 2 , one subcurve is completely determined. At this time, (X 0 , Y 0 ) represents the starting point (SP), (X 2 , Y 2 ) means the end point (EP). Meanwhile, (X 1 , Y 1 ) corresponds to the control point CP and depends on the slope (derivative value) at the start point and the end point.

이 매개함수의 차수를 높이면 보다 복잡한 곡선을 표현할 수 있지만 그에 따른 더 많은 제어점(CP)을 필요로 한다. 참고로 3차 베지어 곡선 함수는 다음과 같이 표현되며, Increasing the order of this intermediate function can represent more complex curves, but requires more control points (CP). For reference, the cubic Bezier curve function is expressed as

XC(u)= X0(1 - u)3 + 3X1 u(u - 1)2 + 3X1 u2(u - 1) + X2 u3 X C (u) = X 0 (1-u) 3 + 3X 1 u (u-1) 2 + 3X 1 u 2 (u-1) + X 2 u 3

YC(u)= Y0(1 - u)3 + 3Y1 u(u - 1)2 + 3Y1 u2(u - 1) + Y2 u3 Y C (u) = Y 0 (1-u) 3 + 3Y 1 u (u-1) 2 + 3Y 1 u 2 (u-1) + Y 2 u 3

0 ≤ u ≤ 10 ≤ u ≤ 1

8개의 파라미터 X0, Y0, X1, Y1, X2, Y2, X3, Y3 는 시작점, 끝점, 시작점 미분 값, 끝점 미분 값으로 결정된다. The eight parameters X 0 , Y 0 , X 1 , Y 1 , X 2 , Y 2 , X 3 and Y 3 are determined by starting point, ending point, starting point differential and ending derivative.

상기한 바와 같이 베지어 곡선은 차수에 따라 3개 이상의 제어점(시작점과 끝점을 포함)을 포함하는데, 도 1a 및 도 1b 에 도시된 바와 같이, 제어점(CP)은 곡선상에 위치하지 않고 별도로 이격되어 있기 때문에 사용자가 원하는 곡선을 얻기 위해서 제어점(CP)을 수작업으로 조정하여야 한다. 또한, 이 제어점을 움직이기 전에는 결과 곡선이 어떻게 나타날지 알 수 없다. 따라서 숙련자가 아니면 이와 같은 방식으로 제어점(CP)을 조정하여 원하는 곡선을 얻기가 쉽지 않다.As described above, the Bezier curve includes three or more control points (including start and end points), depending on the order. As shown in FIGS. 1A and 1B, the control points CP are not located on the curve but are spaced separately. As a result, the control point (CP) must be manually adjusted to obtain the desired curve. Also, it is not known how the resulting curve will appear before moving this control point. Therefore, unless you are skilled, it is not easy to adjust the control point (CP) in this way to get the desired curve.

본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 그리고자 하는 임의곡선상의 제어점을 이동시켜 각 부분곡선을 결정하는 기울기를 결정함으로써 곡선을 쉽고 빠르게 그리거나 수정할 수 있는, 임의곡선 처리방법을 제공함에 그 특징적인 목적이 있다.The present invention has been made to solve the above problems, and by moving the control point on the desired curve to determine the slope for determining each sub-curve, an arbitrary curve processing method that can draw or modify the curve easily and quickly Its purpose is to provide it.

또한, 컴퓨터의 응용프로그램을 통해 무정형의 곡선(임의곡선)을 쉽고 편하게 그릴 수 있게 하여 그래픽 아트, 만화, 애니메이션 등의 컴퓨터 그래픽 콘텐츠 제작을 빠른 시간 안에 처리할 수 있는 임의곡선 처리방법을 제공함에 그 목적이 있다. In addition, it provides an arbitrary curve processing method that can process computer graphic contents such as graphic arts, cartoons, and animations in a short time by making it easy and convenient to draw amorphous curves through computer applications. There is a purpose.

이러한 특징적인 목적을 달성하기 위한 본 발명은, 사용자 컴퓨터에 탑재되어 실행되며, 접속기능을 수행하는 인터페이스(41)와, 부분곡선을 결정하는 곡선 산출 모듈(42)과, 상기 부분곡선들을 출력장치에 그려주는 곡선 상에 위치하는 다수의 경로점을 산출하는 경로점 산출 모듈(43)로 구성된 응용프로그램(4)을 이용한 임의곡선 처리방법에 있어서, (a) 경로점 좌표를 입력받는 단계; (b) 각 경로점에서 평균 기울기를 계산하는 단계; (c) 각 부분곡선함수의 매개변수 값을 결정하는 단계; (d) 상기 결정된 매개변수 값을 이용하여 부분곡선을 표현하는 단계; 및 (e) 완성된 부분곡선을 렌더링하여 출력장치를 통해 출력하는 단계; 를 포함하되, 상기 (b) 단계는, (b-1) 각 경로점을 연결하여 가상의 직선을 긋는 단계; (b-2) 기준 선분과 대상 선분이 이루는 상대각도를 계산하는 단계; 및 (b-3) 상기 계산된 상대각도를 이용하여 그 경로점에서의 평균 기울기를 계산하는 단계; 로 이루어진다.The present invention for achieving the characteristic object, the interface 41 which is mounted on the user computer and performs the connection function, the curve calculation module 42 for determining the partial curve, and the partial curve output device A random curve processing method using an application program (4) consisting of a path point calculation module (43) for calculating a plurality of path points located on a curve drawn in the method, the method comprising: (a) receiving path point coordinates; (b) calculating an average slope at each path point; (c) determining a parameter value of each subcurve function; (d) expressing partial curves using the determined parameter values; And (e) rendering the completed partial curve and outputting it through the output device. Including, but the step (b), (b-1) connecting each path point to draw a virtual straight line; (b-2) calculating a relative angle between the reference line segment and the target line segment; And (b-3) calculating an average slope at the path point using the calculated relative angle; Is made of.

바람직하게, 상기 부분곡선함수는 매개변수 t로 표현되는 3차 함수로서, 좌표값(X, Y)가 매개변수 t에 의해 연관되는 것을 특징으로 한다.Preferably, the partial curve function is a cubic function represented by a parameter t, characterized in that the coordinate values (X, Y) are related by the parameter t.

또한 바람직하게, 상기 부분곡선함수는 8개의 파라미터로 결정되는 것을 특징으로 한다.Also preferably, the partial curve function is determined by eight parameters.

그리고 바람직하게, 상기 부분곡선함수의 8개의 파라미터는 시작점의 위치 좌표값 (X(0), Y(0))과 시작점에서의 미분값 (X'(0) Y'(0)), 그리고 끝점의 위치 좌표값 (X(1), Y(1))과 끝점에서의 미분값 (X'(1) Y'(1))으로부터 유도하는 것을 특징으로 한다.And preferably, the eight parameters of the subcurve function are the position coordinate values (X (0), Y (0)) of the starting point and the derivative value (X '(0) Y' (0)) at the starting point, and the end point. It is characterized in that it derives from the position coordinate value (X (1), Y (1)) of and the derivative value (X '(1) Y' (1)) at the end point.

본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더 욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선을 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.The features and advantages of the present invention will become more apparent from the following detailed description based on the accompanying drawings. Prior to this, the terms or words used in the present specification and claims are defined in the technical spirit of the present invention on the basis of the principle that the inventor can appropriately define the concept of the term in order to best explain his or her invention. It should be interpreted to mean meanings and concepts. In addition, when it is determined that the detailed description of the known function and its configuration related to the present invention may unnecessarily obscure the subject matter of the present invention, it should be noted that the detailed description is omitted.

도 2 는 본 발명에 따른 임의곡선을 그리기 위한 응용프로그램을 나타내는 블럭도이다. 2 is a block diagram illustrating an application program for drawing arbitrary curves according to the present invention.

도 2 를 참조하면, 본 발명의 기술적 사상이 적용되는 사용자 컴퓨터는, CPU(1), 입력부(2), 출력부(3) 및 응용프로그램(4)을 포함하여 구성된다.Referring to FIG. 2, a user computer to which the technical idea of the present invention is applied includes a CPU 1, an input unit 2, an output unit 3, and an application program 4.

CPU(1)는 키보드 및 마우스를 포함한 입력부(2)와 모니터 등의 출력부(3)를 제어함과 아울러 하기의 응용프로그램(4)을 실행시키고 그에 따른 여러 가지 수치계산을 수행한다.The CPU 1 controls the input unit 2 including a keyboard and mouse and the output unit 3 such as a monitor, executes the following application program 4, and performs various numerical calculations accordingly.

그리고, 본 발명의 특징적인 양상에 따라 상기 사용자 컴퓨터에 탑재되어 실행되는 응용프로그램(4)은, CPU(1), 입력부(2) 및 출력부(3)와의 접속 기능을 수행하는 인터페이스(41)와; 시작점(SP), 끝점(EP)으로 이루어진 부분곡선의 시작점 및 끝점에서의 기울기를 계산하고 곡선을 표현하는 함수의 파라미터들을 산출하는 곡선 산출 모듈(42); 및 결정된 곡선함수로 표현되는 부분곡선을 출력장치에 그리는 곡선 그리기 모듈(43); 로 구성된다.In addition, the application program 4 mounted on the user computer and executed in accordance with the characteristic aspect of the present invention is an interface 41 for performing a connection function with the CPU 1, the input unit 2 and the output unit 3; Wow; A curve calculation module 42 for calculating a slope at a start point and an end point of the subcurve consisting of a start point SP, an end point EP, and calculating parameters of a function representing a curve; And a curve drawing module 43 for drawing a partial curve represented by the determined curve function on the output device. It consists of.

본 실시예에서 부분곡선을 표현하기 위한 상기 함수는, 아래와 같이 변수 t 로 표현된 3차 함수가 이용된다.In the present embodiment, as the function for expressing the partial curve, a cubic function represented by the variable t is used as follows.

X(t)= X0t3 + X1t2 + X2t + X3 X (t) = X0t3+ XOnet2+ X2t + X3

Y(t)= Y0t3 + Y1t2 + Y2t + Y3 Y (t) = Y0t3+ YOnet2+ Y2t + Y3

( 0 ≤ t ≤ 1 ) (0 ≤ t ≤ 1)

여기에서, 8개의 파라미터(X0, X1, X2, X3, Y0, Y1, Y2, Y3)는 시작점의 위치 좌표값 (X(0), Y(0))과 시작점에서의 미분값 (X'(0), Y'(0)), 그리고 끝점의 위치 좌표값 (X(1), Y(1))과 끝점에서의 미분값 (X'(1), Y'(1))으로부터 결정된다. Here, eight parameters (X 0 , X 1 , X 2 , X 3 , Y 0 , Y 1 , Y 2 , Y 3 ) are the position coordinate values (X (0), Y (0)) of the starting point and the starting point. Derivative at (X '(0), Y' (0)), and position coordinates at the endpoint (X (1), Y (1)) and derivative at the endpoint (X '(1), Y' (1)).

상기 8개 파라미터 (X0, X1, X2, X3, Y0, Y1, Y2, Y3)는 3차 베지어 곡선의 파라미터와 대응시킴으로써 기존의 베지어곡선 그리기 모듈을 이용할 수도 있다.The eight parameters (X 0 , X 1 , X 2 , X 3 , Y 0 , Y 1 , Y 2 , Y 3 ) may correspond to the parameters of the cubic Bezier curve to use the existing Bezier curve drawing module. have.

이하, 상술한 바와 같은 구성으로 이루어진 응용프로그램을 통해 임의곡선을 처리하는 방법에 대해 살펴본다. Hereinafter, a method of processing an arbitrary curve through an application program having the above configuration will be described.

도 3a 는 본 발명의 일실시예에 따른 부분곡선을 처리하는 방법을 나타내는 흐름도이고, 도 3b 내지 3e 는 본 발명의 일실시예에 따른 부분곡선을 표현하기 위한 각 경로점에서의 기울기를 계산하기 위한 도면이며, 도 3f 는 본 발명의 일실시예에 따른 각 경로점의 평균기울기를 이용하여 그려진 곡선을 나타내는 도면이고, 도 4 는 본 발명의 일실시예에 따른 경로점을 이동시켜 곡선의 형태를 수정하는 예를 보여주는 도면이며, 도 5a 및 도 5b 는 본 발명의 일실시예에 따른 응용프로그램을 이용한 일예시도이다.3A is a flowchart illustrating a method of processing a partial curve according to an embodiment of the present invention, and FIGS. 3B to 3E are calculations of slopes at respective path points for expressing a partial curve according to an embodiment of the present invention. Figure 3f is a view showing a curve drawn using the average slope of each path point according to an embodiment of the present invention, Figure 4 is a shape of the curve by moving the path point according to an embodiment of the present invention 5A and 5B are exemplary views using an application program according to an embodiment of the present invention.

먼저, 도 3a 를 참조하면, 부분곡선을 표현하기 위해 입력장치인 마우스를 이용하여 그리고자 하는 임의곡선 위에 경로점을 선택하면 그 선택된 경로점의 좌표값이 입력된다(S310). First, referring to FIG. 3A, when a path point is selected on an arbitrary curve to be drawn by using a mouse as an input device to express a partial curve, coordinate values of the selected path point are input (S310).

이때, 도 3b 에 도시된 바와 같은 임의곡선을 그리고자 할 때 우선, 도 3c 를 참조하면 4개의 부분곡선으로 이루어진 곡선을 그리기 위해서 P0, P1, P2, P3, P4 등의 5개의 경로점을 찍고, 각 점의 x 및 y 좌표값은 배열형 변수 x[0], x[1], x[2], x[3], x[4] 그리고 y[0], y[1], y[2], y[3], y[4] 에 저장한다. In this case, when drawing an arbitrary curve as shown in FIG. 3B, first, referring to FIG. 3C, five path points such as P0, P1, P2, P3, and P4 are drawn in order to draw a curve consisting of four partial curves. , The x and y coordinate values of each point are array variables x [0], x [1], x [2], x [3], x [4] and y [0], y [1], y [ 2], y [3], and y [4].

다음, 상기 입력된 경로점의 좌표값을 이용하여, 도 3e 에 도시된 바와 같이 각 경로점의 평균 기울기를 계산한다(S320).Next, using the coordinate values of the input route point, as shown in Figure 3e to calculate the average slope of each route point (S320).

상기 각 경로점의 평균 기울기를 계산하기 위해 우선 도 3d 에 도시된 바와 같이 각각의 경로점(P0, P1, P2, P3, P4)을 서로 연결하여 가상의 직선을 긋는다.In order to calculate the average slope of each path point, first, as shown in FIG. 3D, each path point P0, P1, P2, P3, and P4 is connected to each other to draw a virtual straight line.

상기 각각의 경로점으로 연결된 가상의 직선에서 경로점 P1의 기울기를 얻기 위하여 인접한 경로점의 선분(P0-P1)을 연장하여 생성된 직선과 경로점 P1과 인접한 선분(P1-P2) 사이의 상대 각도를 구하여 평균각도(1/2) 값을 계산한다. 이때 경로점 P1의 평균각도 값을 평균기울기각 θ1이라 한다.Relative between the straight line generated by extending line segments P0-P1 of adjacent route points and the adjacent line segments P1-P2 in order to obtain the slope of the route point P1 in the imaginary straight lines connected to the respective route points. Obtain the angle and calculate the average angle (1/2). In this case, the average angle value of the path point P1 is referred to as the average tilt angle θ1.

이에 따라 평균기울기각 θ1의 tan 값을 이용하여 계산하면 tan θ1 이므로, 경로점 P1의 평균기울기 값을 계산한다. 상술한 방법으로 경로점 P1, P2, P3 에서 의 평균기울기 값을 계산하여 배열형 변수 t[1], t[2], t[3] 에 계산된 그 값을 저장한다.Accordingly, since the calculation is made using the tan value of the average slope angle θ1, tan θ1, the average slope value of the path point P1 is calculated. By calculating the mean slope values at the path points P1, P2, and P3, the calculated values are stored in the array variables t [1], t [2], and t [3].

한편, 시작점(P0)와 끝점(P4)에서 계산된 평균 기울기값 t[0], t[4] 는 각각 근접한 경로점(P1, P4)을 이용하여 t[0]=t[1], t[4]=t[3] 값으로 둔다. On the other hand, the average slope values t [0] and t [4] calculated at the start point P0 and the end point P4 are respectively t [0] = t [1], t using adjacent path points P1 and P4. Leave the value [4] = t [3].

다음, 경로점(Pi)의 좌표값 x[i], y[i]와 평균기울기 t[i]를 이용하여 베지어 곡선의 파라미터의 값을 계산한다(S330).Next, the value of the parameter of the Bezier curve is calculated using the coordinate values x [i], y [i] and the mean slope t [i] of the path point Pi (S330).

이는, 3차 베지어 곡선을 표현하기 위해 8개의 파라미터 X0, Y0, X1, Y1, X2, Y2, X3, Y3 를 x[1], y[1], t[1] 그리고 x[2], y[2], t[2] 로 표현한다. This represents eight parameters X 0 , Y 0 , X 1 , Y 1 , X 2 , Y 2 , X 3 , Y 3 to represent the cubic Bezier curves x [1], y [1], t [ 1] and x [2], y [2], t [2].

상기 3차 베지어 곡선을 통해서 완성된 부분곡선을 모니터나 프린터 등의 출력장치를 통해 렌더링하여 출력한다(S340).The partial curve completed through the third Bezier curve is rendered through an output device such as a monitor or a printer and output (S340).

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서, 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다. As described above and described with reference to a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as described above, it is a deviation from the scope of the technical idea It will be understood by those skilled in the art that many modifications and variations can be made to the invention without departing from the scope of the invention. Accordingly, all such suitable changes and modifications and equivalents should be considered to be within the scope of the present invention.

상기와 같은 본 발명에 따르면 임의곡선을 그리는데 있어서, 곡선상에 위치하는 제어점을 조절하여 원하는 곡선을 얻음으로써, 세부적이고 복잡한 곡선을 처리할 때에 높은 작업 효과를 얻을 수 있다.According to the present invention as described above, in drawing an arbitrary curve, by adjusting the control point located on the curve to obtain the desired curve, it is possible to obtain a high working effect when processing a detailed and complex curve.

그리고, 컴퓨터 응용프로그램을 통해 각 부분곡선의 기울기를 결정함으로써 곡선을 쉽고 빠르게 그리거나 수정할 수 있으므로, 이 분야에서 숙련되지 않은 초보자도 쉽게 곡선을 표현할 수 있다.And, by determining the slope of each sub-curve through a computer application program, the curve can be easily and quickly drawn or modified, so that even beginners who are not skilled in this field can easily express the curve.

Claims (4)

사용자 컴퓨터에 탑재되어 실행되며, 접속기능을 수행하는 인터페이스(41)와, 부분곡선의 시작점 및 끝점에서의 기울기를 계산하고 곡선을 표현하는 함수의 파라미터들을 산출하는 곡선 산출 모듈(42)과, 상기 부분곡선들을 출력장치에 그려주는 곡선 상에 위치하는 다수의 경로점을 산출하는 경로점 산출 모듈(43)로 구성된 응용프로그램(4)을 이용한 임의곡선 처리방법에 있어서,An interface 41 mounted on the user computer and performing a connection function, a curve calculation module 42 for calculating slopes at the start and end points of the partial curve and calculating parameters of a function representing the curve; In the arbitrary curve processing method using the application program 4 consisting of a path point calculation module 43 for calculating a plurality of path points located on the curve for drawing the partial curves to the output device, (a) 경로점 좌표를 입력받는 단계;(a) receiving route point coordinates; (b) 각 경로점에서 평균 기울기를 계산하는 단계;(b) calculating an average slope at each path point; (c) 각 부분곡선함수의 매개변수 값을 결정하는 단계;(c) determining a parameter value of each subcurve function; (d) 상기 결정된 매개변수 값을 이용하여 부분곡선을 표현하는 단계; 및(d) expressing partial curves using the determined parameter values; And (e) 완성된 부분곡선을 렌더링하여 출력장치를 통해 출력하는 단계; 를 포함하되,(e) rendering the completed partial curve and outputting it through an output device; Including but not limited to: 상기 (b) 단계는,In step (b), (b-1) 각 경로점을 연결하여 가상의 직선을 긋는 단계;(b-1) drawing a virtual straight line by connecting each path point; (b-2) 기준 선분과 대상 선분이 이루는 상대각도를 계산하는 단계;(b-2) calculating a relative angle between the reference line segment and the target line segment; (b-3) 상기 계산된 상대각도를 이용하여 그 경로점에서의 평균 기울기를 계산하는 단계; 및(b-3) calculating an average slope at the path point using the calculated relative angle; And (b-4) 상기 산출된 평균기울기 값을 배열형 매개변수에 저장하는 단계; 를 포함하고, (b-4) storing the calculated average slope value in an array parameter; Including, 상기 (c) 단계 이후에,After step (c), 상기 경로점의 좌표값 및 평균 기울기값을 이용하여 베지어 곡선의 파라미터 값을 계산하는 단계; 를 더 포함하는 것을 특징으로 하는 임의곡선 처리방법.Calculating a parameter value of a Bezier curve using the coordinate value and the average slope value of the path point; Arbitrary curve processing method characterized in that it further comprises. 제 1 항에 있어서,The method of claim 1, 상기 부분곡선함수는 매개변수 t로 표현되는 3차 함수로서, 좌표값(X, Y)가 매개변수 t에 의해 연관되는 것을 특징으로 하는 임의곡선 처리방법.The partial curve function is a cubic function represented by a parameter t, wherein a coordinate value (X, Y) is associated with the parameter t. 제 1 항에 있어서,The method of claim 1, 상기 부분곡선함수는 8개의 파라미터로 결정되는 것을 특징으로 하는 임의곡선 처리방법.The partial curve function is determined by eight parameters. 제 1 항 또는 제 3 항에 있어서, The method according to claim 1 or 3, 상기 부분곡선함수의 8개의 파라미터는 시작점의 위치 좌표값 (X(0), Y(0))과 시작점에서의 미분값 (X'(0) Y'(0)), 그리고 끝점의 위치 좌표값 (X(1), Y(1))과 끝점에서의 미분값 (X'(1) Y'(1))으로부터 유도하는 것을 특징으로 하는 임의곡선 처리방법. The eight parameters of the partial curve function are the position coordinate values (X (0), Y (0)) of the starting point and the derivative value (X '(0) Y' (0)) at the starting point, and the position coordinate values of the end point. (X (1), Y (1)) and the derivative value (X '(1) Y' (1)) at the end point.
KR1020050078254A 2005-08-25 2005-08-25 Query curves processing method KR100730996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050078254A KR100730996B1 (en) 2005-08-25 2005-08-25 Query curves processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050078254A KR100730996B1 (en) 2005-08-25 2005-08-25 Query curves processing method

Publications (2)

Publication Number Publication Date
KR20070023920A KR20070023920A (en) 2007-03-02
KR100730996B1 true KR100730996B1 (en) 2007-06-22

Family

ID=38098722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050078254A KR100730996B1 (en) 2005-08-25 2005-08-25 Query curves processing method

Country Status (1)

Country Link
KR (1) KR100730996B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020002484A (en) * 1999-03-18 2002-01-09 더 리서치 파운데이션 오브 스테이트 유니버시티 오브 뉴욕 System and method for performing a three-dimensional virtual examination, navigation and visualization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020002484A (en) * 1999-03-18 2002-01-09 더 리서치 파운데이션 오브 스테이트 유니버시티 오브 뉴욕 System and method for performing a three-dimensional virtual examination, navigation and visualization

Also Published As

Publication number Publication date
KR20070023920A (en) 2007-03-02

Similar Documents

Publication Publication Date Title
JP6869249B2 (en) Methods and systems for generating and selectively outputting two types of ink vector data
US8482565B2 (en) Interactive connector routing between obstacles
KR20080050279A (en) A reduction apparatus and method of popping artifacts for multi-level level-of-detail terrains
US9792517B2 (en) Method and system for generating and selectively outputting two types of ink vector data
US8743135B2 (en) Graphics processing systems
JP2009301284A (en) Drawing device and method
CN105096361A (en) Technique for processing a character string for graphical representation on a man/machine interface
CN105976362A (en) Image line drawing generation method suitable for 3D printing
KR100730996B1 (en) Query curves processing method
WO2009104218A1 (en) Map display device
US10297036B2 (en) Recording medium, information processing apparatus, and depth definition method
JP2005228110A (en) Information processing method and apparatus
CN116310135A (en) Curved surface display method and system based on multi-resolution LOD model
US9483878B2 (en) Contextual editing using variable offset surfaces
JP2012084079A (en) Machining surface evaluation device, machining surface evaluation method, and program
JP2011203785A (en) Polygon division device and polygon division method
KR20180117499A (en) Apparatus and method for simplification of 3D mesh data
JP2011134165A (en) Mesh change device, mesh change method and program
US20030184567A1 (en) Information processing method and apparatus
CN117435110B (en) Picture processing method and device, electronic equipment and storage medium
JP2000251081A (en) Inner point deciding method, graphic drawing device, and program storage medium
Mohamed et al. Cubic Bézier interpolation algorithm for rendering smoothly curves on virtual paper
CN117407992B (en) Three-dimensional ceramic model design method based on combination mode
JP2005293259A (en) Three-dimensional tree form generating device and program, and recording medium
KR100294207B1 (en) Apparatus and method for drawing decorative line

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
LAPS Lapse due to unpaid annual fee