KR100730996B1 - Query curves processing method - Google Patents
Query curves processing method Download PDFInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000009877 rendering Methods 0.000 claims abstract description 3
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012888 cubic function Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/06—Curved 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
도 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
바람직하게, 상기 부분곡선함수는 매개변수 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)는 키보드 및 마우스를 포함한 입력부(2)와 모니터 등의 출력부(3)를 제어함과 아울러 하기의 응용프로그램(4)을 실행시키고 그에 따른 여러 가지 수치계산을 수행한다.The
그리고, 본 발명의 특징적인 양상에 따라 상기 사용자 컴퓨터에 탑재되어 실행되는 응용프로그램(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
본 실시예에서 부분곡선을 표현하기 위한 상기 함수는, 아래와 같이 변수 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)
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)
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 |
-
2005
- 2005-08-25 KR KR1020050078254A patent/KR100730996B1/en not_active IP Right Cessation
Patent Citations (1)
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 |