KR20050112228A - The method and system for rendering surface slope using a slope vector - Google Patents

The method and system for rendering surface slope using a slope vector Download PDF

Info

Publication number
KR20050112228A
KR20050112228A KR1020040037155A KR20040037155A KR20050112228A KR 20050112228 A KR20050112228 A KR 20050112228A KR 1020040037155 A KR1020040037155 A KR 1020040037155A KR 20040037155 A KR20040037155 A KR 20040037155A KR 20050112228 A KR20050112228 A KR 20050112228A
Authority
KR
South Korea
Prior art keywords
texture
vector
gradient vector
inclination
image processing
Prior art date
Application number
KR1020040037155A
Other languages
Korean (ko)
Other versions
KR100546865B1 (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 KR1020040037155A priority Critical patent/KR100546865B1/en
Publication of KR20050112228A publication Critical patent/KR20050112228A/en
Application granted granted Critical
Publication of KR100546865B1 publication Critical patent/KR100546865B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 표면의 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에 관한 것으로서, 더욱 상세하게는 표면의 경사 방향에 상응하는 경사 벡터를 생성하여 텍스처를 이동하도록 렌더링하여 표면의 경사를 나타내는 이미지 프로세싱 방법 및 시스템에 관한 것이다.The present invention relates to an image processing method and system for representing the inclination of the surface, and more particularly to an image processing method and system for representing the inclination of the surface by generating a gradient vector corresponding to the inclination direction of the surface to render to move the texture It is about.

본 발명에 따른 표면의 경사를 나타내는 이미지 프로세싱 방법은 표면을 렌더링 하는 단계; 상기 표면의 경사를 나타내는 경사 벡터를 생성하는 단계; 및 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링(rendering)하는 단계를 포함하는 것을 특징으로 한다.An image processing method indicative of the inclination of a surface according to the invention comprises the steps of rendering a surface; Generating an inclination vector representing the inclination of the surface; And rendering a texture having a predetermined thickness and length to move in the direction of the gradient vector.

본 발명에 따르면 사용자가 지표의 경사를 보다 쉽고 직관적으로 파악할 수 있다.According to the present invention, the user can more easily and intuitively grasp the inclination of the indicator.

Description

경사 벡터를 이용하여 표면의 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템{THE METHOD AND SYSTEM FOR RENDERING SURFACE SLOPE USING A SLOPE VECTOR}Image processing method and system for denoting surface inclination using gradient vector TECHNICAL FIELD

본 발명은 경사 벡터를 이용하여 표면의 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에 관한 것으로서, 더욱 상세하게는 표면의 경사 방향에 상응하는 경사 벡터를 생성하여 텍스처를 이동하도록 렌더링하여 표면의 경사를 나타내는 이미지 프로세싱 방법 및 시스템에 관한 것이다.The present invention relates to an image processing method and a system for indicating a slope of a surface by using a slope vector, and more particularly, to generate a slope vector corresponding to the slope direction of the surface to render to move the texture to represent the slope of the surface It relates to an image processing method and system.

오늘날 정보 통신 기술의 발전으로, 비디오 게임이나 컴퓨터 게임 등이 다양하게 출시되고 있으며, 이러한 비디오 게임이나 컴퓨터 게임 등은 기존의 2D 그래픽뿐만 아니라 3D 그래픽 기술을 이용하여 더욱 화려하고 현실감 있는 이미지 프로세싱 방법을 통하여 구현되고 있다. Today, with the development of information and communication technology, a variety of video games and computer games have been released. These video games and computer games use not only 2D graphics but also 3D graphics technology to provide more colorful and realistic image processing methods. Is implemented.

특히, 캐릭터를 이용하여 골프 게임을 할 수 있도록 하는 비디오 게임이나 컴퓨터 게임에서 그린 표면의 경사는 골프 게임을 진행하는데 아주 중요한 요소이므로 보다 정교하게 묘사할 필요가 있다. 또한, 캐릭터가 그린 위에서 퍼팅을 하는 단계에서는 그린의 경사도를 사용자가 직관적으로 인지할 수 있도록 표현하는 것이 매우 중요하다.In particular, the slope of the green surface in a video game or a computer game that allows a golf game to be played using a character is a very important element in the golf game and needs to be described more precisely. In addition, it is very important to express the inclination of the green so that the user can intuitively recognize the step of putting on the green of the character.

종래, 사용자들에게 경사를 인식할 수 있도록 하기 위해 표면의 경사를 나타내는 여러 가지 방법이 이용되어 왔다. 예를 들면, 표면을 격자 단위로 나누고 각각의 격자점에서의 경사도를 계산한 후 평균 경사도보다 경사도가 높은 곳의 격자간 간격은 촘촘하게, 평균 경사도보다 경사도가 낮은 격자점에서의 격자간 간격은 넓게 하여 사용자가 경사를 인식할 수 있게 하는 방법이 있다.Conventionally, various methods of representing the inclination of a surface have been used to enable users to recognize the inclination. For example, after dividing the surface into grid units and calculating the slope at each grid point, the spacing between grids where the slope is higher than the average slope is tight, and the spacing between grids at the slope less than the average slope is wider. There is a way to allow the user to recognize the slope.

그러나, 종래의 이러한 방법은 사용자에게 경사를 즉각적으로 인식시키지 못하여 사용자가 게임을 이용할 때 느끼는 현실감을 떨어뜨리는 단점이 있었다. 또한 종래 기술에 의한 이미지 프로세싱 방법은, 구현하고자 하는 비디오 게임이나 컴퓨터 게임이 3D 게임이라 하더라도, 결국 사용자에게 보이는 출력 수단(예를 들어 스크린, 모니터 화면)상에서는 2D로 보여지기 때문에 정확한 경사도를 나타내기가 어려운 점이 있었다. However, such a conventional method has a disadvantage in that the user does not immediately recognize the inclination, thereby reducing the realism felt when the user uses the game. In addition, the image processing method according to the prior art, even if the video game or computer game to be implemented is a 3D game, because it is shown in 2D on the output means (for example, screen, monitor screen) to the user, it is difficult to display the exact gradient There was a difficulty.

이 같은 문제점에 대한 해결책으로서, 일본 특허 출원 제2002-59985호는 표면에 격자를 도시하고, 격자를 이루는 점을 잇는 선분 사이로 경사도에 비례하는 속도로 입자(object)를 이동시키는 새로운 이미지 프로세싱 방법을 개시하고 있다.As a solution to this problem, Japanese Patent Application No. 2002-59985 discloses a new image processing method for showing a grating on a surface and moving an object at a speed proportional to the slope between the lines connecting the gratings. It is starting.

도 1은 상기 특허 출원에서 경사의 방향을 나타내는 이미지 프로세싱 방법을 이용한 골프 게임 과정의 일례를 도시한 것이다. 그러나, 상기 특허 출원에서는 표면의 경사를 표시함에 있어 격자를 기본 단위로 하여 격자의 각 성분(X축 성분, Y축 성분)으로 이동하는 입자의 속도만 도시하므로, 사용자가 격자의 각 성분 사이(X축과 인접 X축 사이의 공간, Y축과 인접 Y축 사이의 공간)의 공간을 비롯하여 그린 전체의 경사를 한 눈에 파악하기 어렵다는 문제점을 여전히 내포하고 있다. 또한, 경사에 대한 정보가 격자 위를 이동하는 입자를 통해 표현되므로, 결국 경사가 불연속적이고 단절적으로 표현되는 한계를 가지고 있다.1 illustrates an example of a golf game process using an image processing method indicating the direction of tilt in the patent application. However, the patent application only shows the velocity of particles moving to each component (X-axis component, Y-axis component) of the lattice based on the lattice in displaying the inclination of the surface. There is still a problem that it is difficult to grasp the slope of the entire green at a glance, including the space between the X axis and the adjacent X axis, and the space between the Y axis and the adjacent Y axis. In addition, since the information about the inclination is expressed through the particles moving on the grid, there is a limit that the inclination is expressed discontinuously and discontinuously.

이에, 경사에 대한 정보를 전체적이고 직관적으로 제공하여 사용자로 하여금 이미지를 현실감 있게 느낄 수 있도록 하기 위한 새로운 이미지 프로세싱 방법 및 시스템이 절실히 요구되고 있다.Accordingly, there is an urgent need for a new image processing method and system for providing a user with an overall information on the tilt so that the user can feel the image realistically.

본 발명은 상기와 같은 종래 기술을 개선하기 위해 안출된 것으로서, 본 발명의 목적은 사용자가 지표의 경사를 보다 쉽고 직관적으로 파악할 수 있도록 하는 것이다. The present invention has been made to improve the prior art as described above, an object of the present invention is to enable the user to more easily and intuitively grasp the inclination of the indicator.

본 발명의 다른 목적은 지표의 경사를 다양한 표현 방법을 통하여 사용자에게제공하는 것이다.Another object of the present invention is to provide the user with the inclination of the indicator through various expression methods.

본 발명의 또다른 목적은 사용자에게 지표 경사에 대한 시각적으로 편안한 화면 구성을 제공하는 것이다.Another object of the present invention is to provide the user with a visually comfortable screen configuration for tilting the indicator.

본 발명의 또다른 목적은 사용자가 지표 경사에 대한 체계적이고 종합적인 정보를 용이하게 획득할 수 있도록 하는 것이다.It is another object of the present invention to enable a user to easily obtain systematic and comprehensive information on the surface slope.

본 발명의 또다른 목적은 현실감 있는 게임 화면을 사용자에게 제공하여 게임에 대한 흥미를 배가시키고 게임 참여도를 높일 수 있도록 하는 것이다. Another object of the present invention is to provide a realistic game screen to the user to double the interest in the game and increase the game participation.

본 발명의 일실시예에 따른 표면의 경사를 나타내는 이미지 프로세싱 방법은 표면을 렌더링 하는 단계; 상기 표면의 경사를 나타내는 경사 벡터를 생성하는 단계; 및 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링하는 단계를 포함하는 것을 특징으로 한다. According to an embodiment of the present invention, an image processing method representing a slope of a surface includes: rendering a surface; Generating an inclination vector representing the inclination of the surface; And rendering a texture having a predetermined thickness and length to move in the direction of the gradient vector.

또한 본 발명의 일실시예에 따른 표면의 경사를 나타내는 이미지 프로세싱 시스템은 표면에 대한 고도 정보를 영역별로 데이터베이스에 저장하고 유지하는 단계;In addition, the image processing system representing the inclination of the surface according to an embodiment of the present invention comprises the steps of storing and maintaining the altitude information for the surface in the database for each area;

사용자로부터 영역 선택 정보를 수신하는 단계; 상기 영역 선택 정보 수신에 응답하여, 상기 선택된 영역에 상응하는 고도 정보를 상기 데이터베이스로부터 추출하는 단계;Receiving region selection information from a user; In response to receiving the region selection information, extracting altitude information corresponding to the selected region from the database;

상기 추출된 고도 정보에 기초하여 경사 벡터를 생성하는 단계; 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링하는 단계를 포함하는 것을 특징으로 한다.Generating a gradient vector based on the extracted altitude information; And rendering the texture having a predetermined thickness and length to move in the direction of the gradient vector.

또한 본 발명의 일실시예에 의한 표면에 경사를 나타내는 이미지 프로세싱 시스템은 상기 표면상의 임의의 점에서 법선 벡터를 계산하고, 상기 임의의 점을 기준으로 중력 방향과 수직인 평면을 설정하고, 상기 법선 벡터를 상기 설정된 평면에 상기 중력 방향으로 정사영하여 상기 경사 벡터를 생성하는 경사 벡터 생성부; 및 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 제어하는 텍스처 제어부를 포함하는 것을 특징으로 한다. In addition, the image processing system exhibiting a slope to the surface according to an embodiment of the present invention calculates a normal vector at any point on the surface, sets a plane perpendicular to the direction of gravity based on the arbitrary point, and the normal An inclination vector generator for generating the inclination vector by orthogonally projecting a vector to the set plane in the gravity direction; And a texture controller for controlling a texture having a predetermined thickness and length to move in the direction of the gradient vector.

또한 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱시스템은 표면에 대한 고도 정보를 영역별로 저장하고 유지하는 데이터베이스; 사용자로부터 영역 선택 정보를 수신하는 사용자 인터페이스; 상기 영역 선택 정보 수신에 응답하여, 상기 선택된 영역에 상응하는 고도 정보를 상기 데이터베이스로 추출하고, 상기 추출된 고도 정보에 기초하여 경사 벡터를 생성하는 경사 벡터 생성부; 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 제어하는 텍스처 제어부를 포함하는 것을 특징으로 한다.In addition, the image processing system representing the inclination to the surface according to an embodiment of the present invention includes a database for storing and maintaining the altitude information for the surface area; A user interface for receiving region selection information from a user; A gradient vector generator configured to extract altitude information corresponding to the selected region to the database in response to receiving the region selection information, and generate an inclination vector based on the extracted altitude information; And a texture controller for controlling a texture having a predetermined thickness and length to move in the direction of the gradient vector.

본 발명에서 사용되는 "텍스처(texture)"라는 용어는 표면의 경사를 나타내기 위하여 화면에 표시되는 가늘고 긴 모양의 물결 형태로서, 당업자가 속하는 기술 분야의 종사자에게는 얼마든지 다양하게 변형된 형태를 가질 수 있음은 자명하다.The term " texture " used in the present invention is an elongated wave form displayed on the screen to indicate the inclination of the surface, and may have various modifications to those skilled in the art. It can be obvious.

이하 첨부된 도면을 참조하여, 본 발명에 따른 경사를 나타내는 이미지 프로세싱 방법 및 시스템에 대하여 상술한다.Hereinafter, an image processing method and system for representing tilt according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 표면의 경사를 나타내는 이미지 프로세싱 시스템의 내부 구성을 도시한 블록도이다.2 is a block diagram illustrating an internal configuration of an image processing system indicative of the inclination of a surface according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시에 따른 표면의 경사를 나타내는 이미지 프로세싱 시스템은 크게 경사 벡터 생성부(201), 텍스처 제어부(202), 데이터베이스(203), 사용자 인터페이스(204)를 포함하여 구성될 수 있다.Referring to FIG. 2, an image processing system representing an inclination of a surface according to an exemplary embodiment of the present invention includes a gradient vector generation unit 201, a texture control unit 202, a database 203, and a user interface 204. Can be configured.

사용자 인터페이스(204)는 사용자로부터 영역 선택 정보를 수신한다. 사용자가 유무선 통신망을 통하여 본 시스템에 접속하는 경우, 사용자 인터페이스(204)는 통신망 접속 수단을 포함할 수 있다. 또달리, 사용자 인터페이스는 별도의 통신망을 통하지 않고 마우스, 키보드 등의 입력 수단을 직접 구비하고 사용자로부터 상기 입력 수단을 통하여 영역 선택 정보를 수신할 수 있다.The user interface 204 receives region selection information from the user. When the user connects to the present system through a wired or wireless communication network, the user interface 204 may include communication network connection means. Alternatively, the user interface may directly include input means such as a mouse, keyboard, etc. without receiving a separate communication network, and may receive region selection information from the user through the input means.

데이터베이스(203)는 표면에 대한 고도 정보를 영역별로 저장하고 유지한다. 일례로서, 고도 정보는 각 지점들에 좌표값으로 표시될 수도 있고, 각 지점들의 상대적 또는 절대적 고도값으로 표시될 수도 있다.The database 203 stores and maintains altitude information on the surface area by region. As an example, the altitude information may be displayed as coordinate values at each point, or may be displayed as a relative or absolute altitude value of each point.

경사 벡터 생성부(201)는 사용자 인터페이스(204)의 영역 선택 정보 수신에 응답하여, 상기 선택된 영역에 상응하는 고도 정보를 상기 데이터베이스(203)로부터 추출하고, 상기 추출된 고도 정보에 기초하여, 상기 영역상의 임의의 점에서 법선 벡터를 계산하고, 상기 임의의 점을 기준으로 중력 방향과 수직인 평면을 설정하고, 상기 법선 벡터를 상기 설정된 평면에 상기 중력 방향으로 투영하여 상기 경사 벡터를 생성한다.The gradient vector generator 201 extracts altitude information corresponding to the selected region from the database 203 in response to receiving region selection information of the user interface 204, and based on the extracted altitude information, A normal vector is calculated at an arbitrary point on an area, a plane perpendicular to the gravity direction is set based on the arbitrary point, and the normal vector is projected in the gravity direction on the set plane to generate the inclination vector.

텍스처 제어부(202)는 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 도시(렌더링: rendering)한다. 본 발명에 따른 텍스처 제어부(202)는 일반적인 이미지 프로세싱 장치 및 방법에서 사용되는 렌더링 기법을 이용하여 상기 텍스처 데이터를 디스플레이 장치에 묘화(描畵)될 수 있도록 영상화하는 렌더링 수단을 포함할 수 있다.The texture control unit 202 shows (rendering) a texture having a predetermined thickness and length to move in the direction of the gradient vector. The texture control unit 202 according to the present invention may include rendering means for imaging the texture data so that the texture data can be drawn on a display device using a rendering technique used in a general image processing apparatus and method.

도 3은 본 발명의 일실시예에 따른 경사를 나타내는 이미지 프로세싱 방법에서 수행되는 과정들을 도시한 흐름도이다.3 is a flowchart illustrating processes performed in an image processing method representing tilt according to an embodiment of the present invention.

먼저, 이미지 프로세싱 시스템(200)은 경사를 나타내고자 하는 표면을 렌더링한다. 다음으로, 경사를 나타내고자 하는 표면을 N개의 다각형(R)으로 분할한다(단계 S1). 이와 같이, 여러 개의 다각형으로 분할하는 것은 분할 다각형을 하나의 단위로 하여 경사를 나타내기 위한 것으로, 본 발명은 다각형의 모양 및 개수에 제한되지 않는다. 또달리, 분할하지 않고 영역 전체를 하나의 다각형으로 도시하는 것 역시 가능하다.First, the image processing system 200 renders a surface that is intended to exhibit tilt. Next, the surface to be inclined is divided into N polygons R (step S1). As described above, dividing into a plurality of polygons is to indicate the inclination by using the divided polygon as one unit, the present invention is not limited to the shape and number of polygons. Alternatively, it is also possible to show the whole area as a polygon without division.

경사 벡터 생성부(201)에서는 다각형의 임의의 점에서 법선 벡터를 생성한다. 법선 벡터의 생성 방법은 아래에서 상세히 설명한다. 경사 벡터 생성부(201)에서 법선 벡터가 생성되면 법선 벡터를 이용하여 경사 벡터를 생성한다(단계 S4). The gradient vector generator 201 generates a normal vector at an arbitrary point of the polygon. The method of generating the normal vector is described in detail below. When the normal vector is generated in the gradient vector generator 201, the gradient vector is generated using the normal vector (step S4).

텍스처 제어부(202)에서는 앞서 생성된 경사 벡터의 크기를 이용하여 텍스처의 이동 속도와 텍스처의 크기를 계산한다(단계 S5). 이러한 단계는 분할된 다각형 각각에 대하여 수행된다(단계 S6, 단계 S7). The texture control unit 202 calculates the moving speed of the texture and the size of the texture using the size of the gradient vector generated earlier (step S5). This step is performed for each divided polygon (step S6, step S7).

텍스처의 이동 속도와 크기가 계산되면 텍스처 제어부(202)에서 텍스처를 표면에 렌더링한다(S8). 텍스처 제어부(202)는 다각형 R의 고도가 높은 제1 영역에서 고도가 낮은 제2 영역으로 텍스처가 이동하도록 제어한다(단계 S9). 텍스처 제어부(202)에서는 텍스처가 제2 영역에 도착하면 텍스처를 삭제하고, 제1 영역에서 텍스처를 다시 생성한다(단계 S10). 이러한 단계들을 통하여 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템은 경사를 나타내고자 하는 표면에 경사를 나타내는 텍스처를 렌더링 할 수 있다. When the moving speed and the size of the texture are calculated, the texture control unit 202 renders the texture on the surface (S8). The texture control unit 202 controls the texture to move from the first high altitude region of the polygon R to the second low altitude region (step S9). When the texture arrives in the second area, the texture control unit 202 deletes the texture and regenerates the texture in the first area (step S10). Through these steps, the image processing method and system for indicating the slope may render the texture representing the slope on the surface to be shown.

도 4a, 4b, 4c, 4d는 본 발명의 일실시예에 따라, 표면의 법선 벡터를 구하는 과정을 도시한 도면이다. 이하, 상기 도면들을 참조하여 법선 벡터를 구하는 과정들을 순서대로 설명하기로 한다.4A, 4B, 4C, and 4D illustrate a process of obtaining a normal vector of a surface according to an embodiment of the present invention. Hereinafter, processes for obtaining a normal vector will be described in order with reference to the drawings.

먼저, 도 4a에서는 경사를 나타내고자 하는 표면의 임의의 점 P(x, y, z)을 선택한다. 이 때 선택되는 점 P는 경사를 나타내고자 하는 표면을 소정의 크기의 다각형 R로 나누고, 각 구획의 꼭지점으로 할 수도 있으며, 각 구획에 포함된 임의의 점으로 할 수도 있다. First, in FIG. 4A, an arbitrary point P (x, y, z) of a surface to be inclined is selected. The point P selected at this time may be divided into a polygon R having a predetermined size and may be a vertex of each partition, or may be any point included in each partition.

다음으로, 도 4b에서는 상기 임의의 점 P에서 수직항력에 대응하는 법선 벡터(N)를 구한다. 수직항력이라 함은 표면 위에 물체가 놓여 있을 때, 표면(또는 곡면)으로부터 물체가 받는 힘을 의미하며, 본 발명에서는 점 P에 단위 질량을 가지는 가상의 물체가 놓여 있다고 가정하고 수직항력을 계산한다. 법선 벡터란 곡면(또는 표면)의 한 점에 대한 접평면에 수직인 벡터로서, 상기 수직항력에 상응하는 크기 및 방향을 가진 벡터로서 정의된다. 본 발명에 따르면, 데이터베이스에 저장된 고도 정보를 추출하여 법선 벡터를 생성할 수 있다.Next, in Fig. 4b, the normal vector N corresponding to the normal force at the arbitrary point P is obtained. Vertical drag means the force that an object receives from a surface (or a curved surface) when an object is placed on the surface, and in the present invention, assumes that a virtual object having a unit mass lies at point P and calculates the vertical drag. . A normal vector is a vector perpendicular to the tangent plane to a point on a curved surface (or surface) and defined as a vector having a magnitude and a direction corresponding to the normal force. According to the present invention, a normal vector may be generated by extracting elevation information stored in a database.

또달리, 컴퓨터 상에서 곡면이 폴리곤(polygon)들의 집합인 메쉬로 표현되어, 정확히 점 P에서의 법선 벡터를 구할 수 없는 경우에는 도 4c 및 도 4d에 도시한 다음과 같은 방법이 사용될 수 있다. Alternatively, if the curved surface is represented by a mesh that is a set of polygons on a computer, and a normal vector at a point P cannot be obtained exactly, the following method shown in FIGS. 4C and 4D may be used.

(1) 임의의 점 P에 좌표축을 설정하고, 점 P에서 +X방향, -X방향, +Z방향, -Z방향에 있는 표면 상의 위치벡터 P1, P2, P3, P4를 구한다(도 4c). (1) A coordinate axis is set at an arbitrary point P, and the position vectors P1, P2, P3, and P4 on the surface in the + X, -X, + Z, and -Z directions are obtained from the point P (Fig. 4C). .

(2) 벡터 (P3-P4)와 벡터 (P1-P2)의 벡터곱인 (P3-P4)x(P1-P2)를 정규화한 벡터를 점 P에서의 법선 벡터(N)로 근사할 수 있다(도 4d).(2) A vector obtained by normalizing (P3-P4) x (P1-P2), which is a vector product of vector (P3-P4) and vector (P1-P2), can be approximated by the normal vector ( N ) at point P. (FIG. 4D).

도 5a 내지 도 5d는 경사 벡터를 구하고, 텍스처를 표면에 렌더링하는 과정을 도시한 도면이다. 이하, 상기 도면들을 참조하여 순서대로 설명하기로 한다.5A through 5D are diagrams illustrating a process of obtaining a gradient vector and rendering a texture on a surface. Hereinafter, with reference to the drawings will be described in order.

먼저, 앞서 도 4a 내지 도 4d에서 설명한 방법을 이용하여, 표면 위의 임의의 점 P에서의 법선 벡터(N)를 구한다(도 5a).First, the normal vector N at any point P on the surface is obtained using the method described above with reference to FIGS. 4A to 4D (FIG. 5A).

경사 벡터 생성부(201)는 표면 위의 임의의 점 P에서 중력 방향에 수직인 평면을 설정한다(도 5b). 점 P에서의 법선 벡터를 상기 중력 방향에 수직인 평면으로 투영시킨다(도 5c). 상기 투영시킨 벡터를 경사 벡터(501)로 정의한다. 이 때 경사 벡터의 방향은 n(x, 0, z)라는 벡터 형태로 나타내거나 또는 경사 벡터가 x축과 이루는 각도인 θ로 나타낼 수 있다. 또한, 경사 벡터의 크기는 √(x^2 + z^2)로 나타낼 수 있다. 이때, 경사의 정도가 클수록 평면에 투영되는 경사 벡터의 크기는 커지게 되고, 따라서 경사 벡터의 크기는 경사의 정도(경사도)를 나타낼 수 있게 된다.The gradient vector generator 201 sets a plane perpendicular to the direction of gravity at any point P on the surface (FIG. 5B). The normal vector at point P is projected in a plane perpendicular to the direction of gravity (FIG. 5C). The projected vector is defined as the gradient vector 501. In this case, the direction of the inclination vector may be represented by a vector form n (x, 0, z) or may be represented by θ, which is an angle between the inclination vector and the x axis. In addition, the magnitude of the gradient vector may be represented by √ (x ^ 2 + z ^ 2). At this time, the larger the degree of inclination, the larger the magnitude of the inclination vector projected on the plane, and thus, the magnitude of the inclination vector can indicate the degree of inclination (inclination).

텍스처 제어부(202)는 이러한 경사 벡터의 방향과 크기를 이용하여 경사를 나타내는 텍스처를 렌더링할 수 있다(도 5d). 상기 텍스처는 경사 벡터의 방향으로 배열시켜 도시될 수 있다. 이와 같이 본 발명에 따르면, 표면의 경사에 상응하는 경사 벡터를 계산하고 상기 계산된 경사 벡터에 기초하여 텍스처를 도시함으로써 경사를 표시할 수 있게 된다. 따라서, 경사 방향과 직접적으로 일치하고, 경사의 크기에 비례하는 텍스처를 렌더링함으로써 사용자가 표면의 경사를 보다 용이하고 직관적으로 경사를 인지할 수 있는 효과를 얻을 수 있다.The texture controller 202 may render a texture representing the slope using the direction and the magnitude of the gradient vector (FIG. 5D). The texture can be shown arranged in the direction of the gradient vector. Thus, according to the present invention, the slope can be displayed by calculating the slope vector corresponding to the slope of the surface and showing the texture based on the calculated slope vector. Therefore, by rendering a texture that is directly coincident with the direction of inclination and proportional to the magnitude of the inclination, the user can easily and intuitively recognize the inclination of the surface.

도 6a 및 도 6b는 본 발명의 일실시예에 따른 이미지 프로세싱 법 및 그 시스템에서 텍스처를 경사 벡터의 방향으로 이동하도록 도시하는 과정을 도시한 도면이다.6A and 6B illustrate an example of a process of moving a texture in a direction of a gradient vector in an image processing method and a system according to an embodiment of the present invention.

앞서 구한 경사벡터의 크기에 비례하여 텍스처의 이동 속도를 결정할 수 있다.일례로서, 텍스처의 이동 속도(V) = c * (경사벡터의 크기) (c: 경사 벡터 및 기타 변수에 의해 결정되는 상수)로 계산될 수 있다. The moving speed of the texture may be determined in proportion to the size of the gradient vector obtained above. For example, the moving speed of the texture (V) = c * (size of the gradient vector) (c: a constant determined by the gradient vector and other variables. Can be calculated as

도 6a에서는 앞서 X, Y 축을 기준으로 도시되어 있던 도 5d의 다각형을 점 P를 중심으로 θ만큼 회전함으로써 새로운 좌표축 u, v에 대응시킨다.In FIG. 6A, the polygons of FIG. 5D, which were previously shown with respect to the X and Y axes, are rotated by θ about the point P to correspond to the new coordinate axes u and v.

도 6b에서는 새로운 좌표축 u,v 에 기초하여 설정된 다각형을 u 방향으로 이동하여 다시 도시하게 된다. 즉, u 방향으로 상기한 텍스처의 이동 속도로 단위 시간(Δt) 당 텍스처가 이동하는 거리만큼 다각형을 u 방향으로 옮겨서 도시할 수 있다. 즉, c * (경사 벡터의 크기)*Δt만큼 옮겨서 도시함으로써 결국 경사 방향으로 경사 벡터의 크기에 비례하는 속도로 텍스처가 이동하는 것으로 사용자에게 보여지게 된다. 분할된 평면 다각형들에 대해 상기 단계들을 반복한다.In FIG. 6B, the polygon set based on the new coordinate axes u and v is moved and illustrated in the u direction. That is, the polygon may be shifted and illustrated in the u direction by the distance that the texture moves per unit time Δt at the moving speed of the texture in the u direction. That is, by shifting c * (size of the inclination vector) * Δt, it is shown to the user that the texture moves at a speed proportional to the magnitude of the inclination vector in the oblique direction. Repeat the above steps for the divided planar polygons.

이와 같이, 본 발명에 따르면, 경사 벡터의 방향에 따라 텍스처의 이동을 도시함으로써 사용자가 경사 방향을 용이하게 파악할 수 있게 하고, 또한 경사 벡터의 크기에 따라 텍스처의 이동 속도를 결정함으로써 사용자가 경사의 정도(경사도)를 직관적으로 인지할 수 있는 효과를 얻을 수 있다.As described above, according to the present invention, by showing the movement of the texture according to the direction of the inclination vector, the user can easily grasp the inclination direction, and also by determining the moving speed of the texture according to the magnitude of the inclination vector, The effect of intuitively recognizing the degree (inclination) can be obtained.

본 발명에서는 경사도를 사용자에게 다양하게 표시할 수 있는 추가 실시예를 제공한다.The present invention provides a further embodiment in which the inclination can be variously displayed to the user.

일례로서, 경사 벡터의 크기에 비례하여 텍스처의 크기를 결정할 수 있고, 이 때 텍스처의 크기는 두께 및 길이로 표현될 수 있다. 즉, 경사 벡터의 크기가 큰 점에서의 텍스처는 길게 도시하고, 경사 벡터의 크기가 작은 점에서의 텍스처는 길이를 짧게 하여 도시할 수 있다. 또달리, 경사 벡터의 크기가 큰 점에서의 텍스처는 두껍게 도시하고, 경사 벡터의 크기가 작은 점 P에서의 텍스처는 얇게 하여 도시할 수 있다. 이와 같이, 본 발명에 따르면 텍스처의 크기로서 길이 또는 두께를 달리 표현함으로써 경사도를 사용자가 한 눈에 파악할 수 있도록 할 수 있게 된다.As an example, the size of the texture may be determined in proportion to the size of the gradient vector, where the size of the texture may be expressed by thickness and length. That is, the texture at the point where the magnitude of the gradient vector is large can be shown long, and the texture at the point where the magnitude of the gradient vector is small can be shown with a shorter length. Alternatively, the texture at the point where the magnitude of the gradient vector is large can be shown thick, and the texture at the point P where the magnitude of the gradient vector is small can be shown as thin. As such, according to the present invention, by expressing the length or thickness differently as the size of the texture, the user can grasp the inclination at a glance.

경사도 표시에 관한 또다른 실시예로서, 표면의 고도를 소정 개수의 복수 구간으로 분할하고, 분할된 구간 각각에 대하여 소정의 색상을 할당하여, 상기 P점이 속하는 고도가 속한 구간에 따라 텍스처의 색상을 달리 도시할 수 있다. 고도에 따른 텍스처의 색상 변화 역시 사용자에게 경사를 직감시키는 효과가 있다. 예를 들면, 평균 고도보다 위쪽으로 갈수록 텍스처에 할당된 RGB(Red, Green, Blue) 중에서 Red 값을 높여 빨간색 성분이 두드러져 보이도록 하고, 평균 보다 아래쪽으로 갈수록 도시되는 텍스처의 색상은 Blue 값을 높여 파란색 성분이 두드려져 보이도록 도시할 수 있다.As another embodiment of the display of the slope, the altitude of the surface is divided into a predetermined number of plural sections, and a predetermined color is assigned to each of the divided sections, so that the color of the texture is changed according to the section to which the point P belongs. It may be shown otherwise. The color change of the texture according to the altitude also has the effect of inclining the inclination to the user. For example, increase the Red value among the RGB (Red, Green, Blue) assigned to the texture as it goes up above the average altitude, making the red component stand out. The blue component can be shown to be tapped.

겅사도 표시에 관한 또다른 실시예로서, 본 발명에 따른 이미지 프로세싱 시스템은 경사벡터의 크기에 따라서, 텍스처의 불투명도를 결정하여 상기 텍스처에 결정된 불투명도(opacity)를 적용하여 도시하도록 할 수 있다. 불투명도란 표면의 배경색 및 상기 텍스처 색상이 혼합되는 정도로 결정된다.As another embodiment of the issa display, the image processing system according to the present invention may determine the opacity of the texture according to the size of the gradient vector and apply the determined opacity to the texture. Opacity is determined to the extent that the background color of the surface and the texture color are mixed.

텍스처의 불투명도는 경사 벡터의 크기에 비례하여 도시할 수도 있고, 반비례하여 도시할 수도 있다. 경사 벡터의 크기에 비례하여 텍스처의 불투명도를 도시할 경우, 경사 벡터의 크기가 큰 곳, 즉 경사가 급한 곳에서는 텍스처가 불투명하게 도시되어 텍스처 색상이 배경색에 비하여 상대적으로 뚜렷하게 나타나고, 경사 벡터의 크기가 작은 곳, 즉 경사가 완만한 곳에서는 텍스처가 비교적 투명하게 도시되어 배경색이 오히려 뚜렷하게 나타나게 된다. The opacity of the texture may be shown in proportion to the magnitude of the gradient vector or inversely. If the texture's opacity is plotted relative to the size of the gradient vector, the texture is opaque where the gradient vector is large, i.e. where the slope is in a hurry, so that the texture color appears more pronounced than the background color, and the size of the gradient vector In small places, where the slope is gentle, the texture is shown relatively transparent, making the background color appear more pronounced.

경사 벡터의 크기에 따라 불투명도를 적용하여 실제 렌더링되는 텍스처의 색상(A)은 다음과 같은 식으로 표현될 수 있다.The color A of the texture that is actually rendered by applying opacity according to the size of the gradient vector may be expressed as follows.

A = 배경색 * (1 - a) + A'*a A = background color * (1-a) + A '* a

(단, a= 불투명도, A' = 불투명도 적용 전의 텍스쳐 색상) (Where a = opacity and A '= texture color before opacity is applied)

상기 식에 따를 경우, a 값이 작을수록 텍스처는 뚜렷하게 보이고 a 값이 클수록 텍스처는 투명하게 보인다. 즉, 텍스처의 불투명도 조절을 통해 경사도가 큰 곳의 텍스처의 이동을 사용자가 더 직감적으로 분명하게 인식할 수 있다. 또한 이미지 프로세싱 시스템은 이러한 텍스처의 불투명도 조절을 통해 사용자에게 텍스처의 흐름을 시각적으로 어지럽지 않게 인식시킬 수 있다. According to the above formula, the smaller the value of a, the sharper the texture and the larger the value of the a, the more transparent the texture. In other words, by adjusting the opacity of the texture, the user can more clearly recognize the movement of the texture where the gradient is large. In addition, the image processing system can adjust the opacity of the texture so that the user can visually perceive the flow of the texture.

도 7a 및 도 7b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에 채용될 수 있는 데이터베이스의 일실시예를 도시한 도면이다.7A and 7B illustrate an embodiment of a database that may be employed in an image processing method and system that exhibits a slope on a surface in accordance with one embodiment of the present invention.

도 7a을 참조하면, 표면에 경사를 나타내는 이미지 프로세싱 시스템(200)의 데이터베이스(203)는 경사를 나타내고자 하는 영역을 N개의 다각형 R로 분할하여 각각의 다각형 영역 R(701)에 대하여 고도 정보(702), 경사 벡터 크기(703), 경사 벡터 방향(704), 텍스처 속도와 크기(705) 필드를 포함할 수 있다.Referring to FIG. 7A, the database 203 of the image processing system 200 representing an inclination on a surface divides an area to represent an inclination into N polygons R to obtain altitude information (for each polygon area R 701). 702, gradient vector magnitude 703, gradient vector direction 704, texture velocity and magnitude 705 fields.

고도 정보(702)는 각 다각형 R(701)에 대한 고도 정보를 저장한다. 예를 들어 골프 게임에서 퍼팅 그린의 경사를 나타내고자 할 때, 각 코스별, 홀 별로 퍼팅 그린에 대한 고도 정보를 다각형 영역에 대하여 유지할 수 있다. 일례로서, 다각형의 크기가 작을수록 보다 조밀한 고도 정보를 유지할 수 있을 것이다.Altitude information 702 stores altitude information for each polygon R 701. For example, when trying to indicate the slope of the putting green in a golf game, the altitude information of the putting green for each course and for each hole may be maintained for the polygonal area. As an example, the smaller the polygon size, the more dense altitude information can be maintained.

경사 벡터 크기(703)는 각 다각형 R별로 경사 벡터 생성부(201)에서 생성한 경사 벡터의 크기(703) 정보를 유지할 수 있다.The gradient vector size 703 may maintain information of the magnitude 703 of the gradient vector generated by the gradient vector generator 201 for each polygon R. FIG.

경사 벡터 방향(704)은 각 다각형 R별로 경사 벡터 생성부(201)에서 생성한 경사 벡터의 방향에 대한 정보를 유지할 수 있다. 일례로서, 경사 벡터 방향은 좌표값으로 표시될 수 있다.The gradient vector direction 704 may maintain information about the direction of the gradient vector generated by the gradient vector generator 201 for each polygon R. FIG. As an example, the gradient vector direction may be represented by a coordinate value.

텍스처의 속도와 크기(705)는 텍스처 제어부(202)에서 경사 벡터의 크기(703) 정보를 이용하여 계산한 속도와 크기 정보를 유지할 수 있다.The speed and size of the texture 705 may maintain the speed and size information calculated by the texture controller 202 using the size 703 of the gradient vector.

도 7b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에 채용될 수 있는 데이터베이스의 또다른 일실시예를 도시한 도면이다.FIG. 7B illustrates another embodiment of a database that may be employed in an image processing method and system that exhibits a slope on a surface in accordance with one embodiment of the present invention.

도 7b를 참조하면, 표면에 경사를 나타내는 이미지 프로세싱 시스템(200)의 데이터베이스(203)는 경사를 나타내고자 하는 영역을 N개의 다각형 R로 분할하여 각각의 다각형 영역 R(706)에 대하여 다각형 영역 R에 속하는 정점 P의 (x, y, z) 좌표값(707)을 기록하고, 유지할 수 있다. 또한 실시예에 따라서는 상기 점 P에서의 법선 벡터값(normal vector,708)을 기록하고, 유지할 수 있다. Referring to FIG. 7B, the database 203 of the image processing system 200 representing the inclination on the surface divides the area to show the inclination into N polygons R so that the polygon area R for each polygon area R 706. The (x, y, z) coordinate value 707 of the vertex P belonging to can be recorded and maintained. In some embodiments, the normal vector value normal at the point P can be recorded and maintained.

도 8a 및 8b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 경사를 나타내는 텍스처의 이동을 도시한 도면이다. 8A and 8B are diagrams illustrating a movement of a texture representing a slope in a golf game, which is an application of the image processing method and the system, which shows a slope on a surface according to an embodiment of the present invention.

도 8a를 참조하면, 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템이 응용될 수 있는 예로 골프 게임이 있다. 골프 게임 시스템에 본 발명의 일실시예에 따른 이미지 프로세싱 방법을 구현하는 단계 또는 이미지 프로세싱 시스템이 적용될 수 있다. Referring to FIG. 8A, there is an example of a golf game in which an image processing method and a system representing an inclination on a surface according to an embodiment of the present invention may be applied. Implementing an image processing method or an image processing system according to an embodiment of the present invention may be applied to a golf game system.

사용자가 사용자 인터페이스를 통하여 골프 게임을 시작하고, 게임을 플레이 할 캐릭터를 선택하면 게임이 시작된다. 사용자가 캐릭터를 이용하여 골프 공을 스트로크하여 골프공이 퍼팅 그린에 접촉하게 되면 사용자의 캐릭터는 퍼팅 그린으로 진입하게 된다. When a user starts a golf game through a user interface and selects a character to play the game, the game starts. When the user strokes the golf ball using the character and the golf ball contacts the putting green, the user's character enters the putting green.

골프 게임에서 "퍼팅 그린"이란 현재 플레이를 하고 있는 홀의 퍼팅을 위하여 특별히 정비한 전(全) 구역을 말한다. 골프 게임에서는 골프공의 일부가 퍼팅 그린에 접촉하고 있으면 퍼팅 그린이 도시된다. 이러한 퍼팅 그린 위에서는 경미한 경사라도 게임에 큰 영향을 미치게 되므로 사용자가 경사를 정확하게 인식하고, 게임을 플레이 할 것이 요구된다. 따라서 사용자에게 경사를 직감적이고도 정확하게 인식할 수 있도록 할 필요가 있다.In the game of golf, the "putting green" refers to the entire area specially prepared for the putting of the hole currently being played. In a golf game a putting green is shown if a portion of the golf ball is in contact with the putting green. On the putting green, even a slight slope has a great influence on the game, so that the user needs to recognize the slope accurately and play the game. Therefore, it is necessary to enable the user to intuitively and accurately recognize the inclination.

앞서 설명한 데이터베이스(203)는 상기 퍼팅 그린 표면에 대한 고도 정보를 영역별로 저장하고 유지한다. 즉 각 코스별, 홀 별로 퍼팅 그린에 대한 고도 정보를 유지하고 있다The database 203 described above stores and maintains altitude information on the putting green surface for each region. In other words, we maintain altitude information about putting green for each course and hall.

사용자의 골프 게임 속 캐릭터가 퍼팅 그린으로 진입하게 되면 사용자 인터페이스(204)는 사용자로부터 영역 선택 정보를 수신하게 된다. 영역 선택 정보는 골프 게임의 경우 캐릭터가 골프공을 스트로크하여 퍼팅 그린에 접촉하게 하는 입력일 수 있다. When the character in the user's golf game enters the putting green, the user interface 204 receives region selection information from the user. In the case of a golf game, the area selection information may be input for allowing a character to stroke a golf ball to contact the putting green.

경사 벡터 생성부(201)는 상기 선택된 영역에 상응하는 고도 정보를 데이터베이스(203)에서 추출한다. 즉, 경사 벡터 생성부(201)에서 퍼팅 그린을 수 개의 평면 다각형으로 분할하여 각 평면 다각형의 임의의 점에서 상기 추출된 고도 정보에 기초하여 경사 벡터를 생성한다.The gradient vector generator 201 extracts the altitude information corresponding to the selected area from the database 203. That is, the gradient vector generator 201 divides the putting green into several planar polygons and generates an inclination vector based on the extracted altitude information at an arbitrary point of each planar polygon.

텍스처 제어부(202)는 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링한다. 텍스처 제어부(202)는 상기 고도 정보를 이용하여 상기 평면 다각형을 고도가 높은 제1 영역과 고도가 낮은 제2 영역으로 분할한 다음, 고도가 높은 제1 영역에서 고도가 낮은 제2 영역으로 상기 텍스처를 경사의 방향으로 이동 시킨다. The texture control unit 202 renders a texture having a predetermined thickness and length to move in the direction of the gradient vector. The texture controller 202 divides the planar polygon into a first high altitude region and a second high altitude region using the altitude information, and then the texture is divided into a second altitude region from a high altitude region. Move in the direction of inclination.

이 때, 고도가 높은 영역과 고도가 낮은 영역은 상기 경사 벡터의 방향에 따라 결정될 수 있다. 이동하는 속도는 경사 벡터의 크기에 비례하므로, 경사 벡터의 크기가 큰 평면 다각형에서는 텍스처의 이동이 빠르게 도시되고, 경사 벡터의 크기가 작은 평면 다각형에서는 텍스처의 이동이 느리게 도시될 수 있다. 도 8 및 도 8b에서 각 텍스처의 속도는 텍스처가 속한 평면 다각형의 경사에 따라 다르게 계산되므로 퍼팅 그린의 일부에서는 텍스처의 이동이 빠르고 일부에서는 느리게 도시된다.At this time, the region of high altitude and the region of low altitude may be determined according to the direction of the inclination vector. Since the moving speed is proportional to the size of the inclination vector, the movement of the texture is shown quickly in the planar polygon of which the size of the inclination vector is large, and the movement of the texture is shown slowly in the plane polygon of which the size of the inclination vector is small. In FIG. 8 and FIG. 8B, the speed of each texture is calculated differently according to the inclination of the planar polygon to which the texture belongs, so that the movement of the texture is fast and in some parts of the putting green is slow.

상기 텍스처는 평면 다각형의 제1 영역에서 생성되어 제2 영역으로 이동한다. 골프 게임 시스템은 상기 텍스처가 제1 영역을 출발하여 제2 영역에 도착하면 상기 도착한 텍스처는 삭제되고, 상기 제1 영역에서 텍스처가 다시 생성되어 이동하도록 할 수 있다. The texture is generated in the first area of the planar polygon and moves to the second area. The golf game system may allow the texture to be deleted when the texture leaves the first area and arrives in the second area, and the texture may be regenerated and moved in the first area.

이때, 텍스처의 흐름은 연속적이므로 텍스처를 생성하는데 사용되는 다각형 R은 퍼팅 그린 위에 도시하지 않아도 무방하다. 다각형 R의 경계 중 고도가 높은 구역인 제1 영역에서 경사 벡터의 방향과 크기를 이용하여 텍스처가 다시 생성된다(801).At this time, since the flow of the texture is continuous, the polygon R used to generate the texture may not be illustrated on the putting green. The texture is regenerated using the direction and the size of the gradient vector in the first region, which is a high altitude region of the polygon R, in operation 801.

도 8b는 도 8a에 도시한 골프 게임에서 도 8a에 이은 경사 벡터의 방향으로 텍스처의 연속 이동을 도시한 도면이다.FIG. 8B illustrates the continuous movement of the texture in the direction of the inclination vector following FIG. 8A in the golf game shown in FIG. 8A.

도 8b를 참조하면 도 8a에 도시된 골프 게임에서 형성된 텍스처(801)가 경사 벡터의 방향으로 경사 벡터의 크기에 비례하는 속도로 이동되었음(802)을 알 수 있다. 여기서, 경사 벡터의 크기가 클수록 경사 방향으로의 텍스처 이동 속도가 빨라지도록 도시할 수 있다.Referring to FIG. 8B, it can be seen that the texture 801 formed in the golf game shown in FIG. 8A is moved at a speed proportional to the magnitude of the gradient vector in the direction of the gradient vector (802). Here, the larger the magnitude of the gradient vector, the faster the texture movement speed in the gradient direction.

도 8c 및 8d는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 텍스처의 불투명도와 색상을 조절하여 경사를 나타내는 것을 도시한 도면이다.8C and 8D are diagrams illustrating an inclination by adjusting opacity and color of a texture in a golf game that is an application example of an image processing method and an application of the inclination to a surface according to an embodiment of the present invention.

도 8c를 참조하면, 퍼팅 그린의 경사도가 높은 값을 가져 경사 벡터의 크기가 큰 영역(803)에서는 텍스처의 불투명도를 높여 텍스처가 주변 배경에 비해서 뚜렷하게 나타나도록 함으로서 사용자가 경사를 확실하게 인식할 수 있도록 하고, 퍼팅 그린의 경사도가 낮은 값을 가져 경사 벡터의 크기가 작은 영역(804)에서는 텍스처의 불투명도를 작게 하여 텍스처가 투명하게 도시되도록 함으로서, 사용자가 상대적으로 경사도가 큰 영역을 더 명확하게 인식할 수 있도록 할 수 있다.Referring to FIG. 8C, in an area 803 having a high degree of inclination of the putting green and having a large size of the inclination vector, the opacity of the texture is increased to make the texture appear more clearly than the surrounding background so that the user can recognize the inclination with certainty. In the area 804 where the size of the gradient vector is small and the gradient vector of the putting green has a low value, the texture is shown as transparent by reducing the opacity of the texture, so that the user more clearly recognizes a relatively gradient area. You can do it.

도 8d를 참조하면, 평균 고도보다 높은 고도 영역에서의 텍스처(805)는 텍스처에 할당된 RGB(Red, Green, Blue) 중에서 Red 값을 높여 빨간색 성분이 두드러져 보이도록 하고, 평균 고도보다 낮은 고도 영역에서의 텍스처(806)는 텍스처에 할당된 RGB(Red, Green, Blue) 중에서 Blue 값을 높여 파란색 성분이 두드려져 보이도록 도시한 것을 알 수 있다.Referring to FIG. 8D, the texture 805 in the altitude region higher than the average altitude increases the red value among the RGBs (Red, Green, Blue) assigned to the texture to make the red component stand out, and the altitude region lower than the average altitude. The texture 806 in FIG. 3 shows that the blue component is shown to be beaten by increasing the Blue value among the RGBs (Red, Green, Blue) assigned to the texture.

도 9a 및 9b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 경사를 나타내는 텍스처를 도시한 도면이다.9A and 9B are diagrams illustrating an image processing method for representing a slope on a surface according to an embodiment of the present invention and a texture representing a slope in a golf game that is an application of the system.

도 9a에서 보는 바와 같이, 골프 게임의 퍼팅 그린은 N개의 다각형(901,902 포함)으로 구성될 수 있고, 각 다각형에서 경사 벡터의 방향으로 경사 벡터의 크기를 고려한 길이나 두께의 텍스처를 이동시켜 경사를 나타낼 수 있다.As shown in FIG. 9A, the putting green of a golf game may be composed of N polygons (including 901 and 902), and the slope of the golf game may be changed by moving a texture having a length or thickness in consideration of the size of the gradient vector in the direction of the gradient vector. Can be represented.

예를 들어, 다각형 1(901)의 영역은 다각형(2)의 영역보다 경사도가 작고 또한상이한 경사 방향을 가지고 있다. 따라서, 다각형 1(901)에 상응하는 경사 벡터의 크기가 다각형 2(902)에서 보다 작은 값을 가져 텍스처의 길이가 짧고 이동 속도도 느리게 렌더링 될 수 있다. 반대로 다각형 2(902)에 도시된 텍스처는 경사 벡터의 크기가 다각형 1(901)에서 보다 큰 값을 가져 길이가 길고 이동 속도도 빠르게 렌더링 될 수 있다. 또달리, 다각형(902)의 텍스처는 다각형(901)의 텍스처보다 두께가 더 두꺼운 형태로 도시될 수 있다.For example, the area of the polygon 1 901 has a smaller inclination than the area of the polygon 2 and has a different inclination direction. Therefore, the size of the inclination vector corresponding to polygon 1 901 is smaller than that of polygon 2 902 so that the texture is short in length and slow in moving speed. On the contrary, the texture shown in polygon 2 902 has a larger value than that in polygon 1 901 so that the length is long and the moving speed can be rendered faster. Alternatively, the texture of polygon 902 may be shown in a form thicker than the texture of polygon 901.

도 9a에서 보는 바와 같이, 골프 게임에서는 퍼팅 그린 전체에 대하여 소정의 두께 및 길이를 가지고 경사 벡터의 방향으로 이동하는 텍스처를 도시함으로써, 골프 게임을 이용하는 사용자가 보다 퍼팅 그린의 전체적인 경사와 부분적인 굴곡까지도 직감적으로 인식하여 보다 현실적인 게임을 즐기게 할 수 있다.As shown in FIG. 9A, the golf game shows a texture moving in the direction of the inclination vector with a predetermined thickness and length with respect to the entire putting green, so that a user using the golf game may be more inclined and partially curved in the putting green. Even intuitively, you can enjoy more realistic games.

도 9b는 도 9a 중에서 하나의 다각형에 도시된 텍스처를 나타내는 도면이다.FIG. 9B is a diagram illustrating a texture illustrated in one polygon in FIG. 9A.

도 9b를 참조하면 골프 게임에서 퍼팅 그린에 도시된 하나의 다각형은 텍스처가 생성되는 제1 영역(903)과 텍스처가 삭제되는 제2 영역(904)로 구성 될 수 있다.Referring to FIG. 9B, one polygon illustrated in a putting green in a golf game may include a first region 903 in which a texture is generated and a second region 904 in which a texture is deleted.

골프 게임 시스템은 상기 텍스처가 제1 영역(903)을 출발하여 제2 영역(904)에 도착하면 상기 도착한 텍스처는 삭제되고, 상기 제1 영역(903)에서 텍스처가 다시 생성되어 이동하도록 할 수 있다.The golf game system may cause the texture to be deleted when the texture leaves the first region 903 and reaches the second region 904, and the texture may be generated and moved again in the first region 903. .

본 발명에 따른 이미지 프로세싱 시스템은 유, 무선 통신망을 통하여 사용자 단말기와 접속할 수 있고, 사용자의 단말기에 본 발명에 따른 텍스처를 디스플레이할 수 있도록 텍스처를 렌더링할 수 있다. 사용자 단말기는 데스크탑 PC, 노트북 PC, PDA, 휴대 전화 등과 같이 유무선 망에서 접속할 수 있는 하드웨어 및 소프트웨어를 구비한 장치로서, 현재 일반적으로 사용되고 있는 장치뿐만 아니라 유무선 망에 접속할 수 있는 기능을 가진 앞으로 사용될 장치를 모두 포함하는 개념으로 해석된다.The image processing system according to the present invention may be connected to a user terminal through a wired or wireless communication network, and may render a texture to display a texture according to the present invention on a user's terminal. A user terminal is a device equipped with hardware and software that can be accessed from a wired or wireless network, such as a desktop PC, a notebook PC, a PDA, a mobile phone, etc., and a device that will be used in the future as well as a device that can be connected to a wired or wireless network. It is interpreted as a concept that includes all of them.

또한 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에 따른 이미지 프로세싱 방법을 수행할 수 있는 프로그램은 사용자의 단말기에 설치되어 동작할 수 있다.Embodiments of the invention also include computer-readable media containing program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The medium or program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. A program capable of performing the image processing method according to the present invention may be installed and operated in a user's terminal.

도 10은 본 발명에 따른 표면의 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에서 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.10 is an internal block diagram of a general purpose computer device that may be employed in an image processing method and system that exhibits a slope of a surface in accordance with the present invention.

컴퓨터 장치(1000)는 램(RAM: Random Access Memory)(1020)과 롬(ROM: Read Only Memory)(1030)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(1010)를 포함한다. 프로세서(1010)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(1030)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(1020)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(1020) 및 롬(1030)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(1040)는 양방향성으로 프로세서(1010)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(1040)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(1060)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(1010)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(1050)와 연결된다. 마지막으로, 프로세서(1010)는 네트워크 인터페이스(1070)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.The computer device 1000 includes one or more processors 1010 connected to a main memory device including a random access memory (RAM) 1020 and a read only memory (ROM) 1030. The processor 1010 is also called a central processing unit (CPU). As is well known in the art, the ROM 1030 serves to transfer data and instructions to the CPU unidirectionally, and the RAM 1020 typically transmits data and instructions bidirectionally. Used to. RAM 1020 and ROM 1030 may include any suitable form of computer readable media. Mass storage 1040 is bi-directionally coupled to processor 1010 to provide additional data storage capability, and may be any of the computer readable recording media described above. The mass storage device 1040 is used to store programs, data, and the like, and is a secondary memory device such as a hard disk which is generally slower than the main memory device. Certain mass storage devices such as CD ROM 1060 may be used. The processor 1010 may include one or more input / output interfaces such as video monitors, trackballs, mice, keyboards, microphones, touchscreen displays, card readers, magnetic or paper tape readers, voice or handwriting readers, joysticks, or other known computer input / output devices. 1050 is connected. Finally, the processor 1010 may be connected to a wired or wireless communication network through the network interface 1070. Through this network connection, the procedure of the method described above can be performed. The apparatus and tools described above are well known to those skilled in the computer hardware and software arts.

상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.

본 발명에 따르면 사용자가 지표의 경사를 보다 쉽고 직관적으로 파악할 수 있다.According to the present invention, the user can more easily and intuitively grasp the inclination of the indicator.

또한 본 발명에 따르면 지표의 경사를 다양한 표현 방법을 통하여 사용자에게제공할 수 있다.In addition, according to the present invention, the slope of the indicator can be provided to the user through various expression methods.

또한 본 발명에 따르면 사용자에게 지표 경사에 대한 시각적으로 편안한 화면 구성을 제공할 수 있다.In addition, according to the present invention can provide a user with a visually comfortable screen configuration for the slope of the indicator.

또한 본 발명에 따르면 사용자가 지표 경사에 대한 체계적이고 종합적인 정보를 용이하게 획득할 수 있다.In addition, according to the present invention, the user can easily obtain systematic and comprehensive information on the slope of the indicator.

또한 본 발명에 따르면 현실감 있는 게임 화면을 사용자에게 제공하여 게임에 대한 흥미를 배가시키고 게임 참여도를 높일 수 있다. In addition, according to the present invention can provide a realistic game screen to the user can double the interest in the game and increase the game participation.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

도 1은 일본 특허 출원 제2002-59985호에서 경사의 방향을 나타내는 이미지 프로세싱 방법을 이용한 골프 게임 과정의 일례를 도시한 것이다.1 shows an example of a golf game process using an image processing method indicating the direction of inclination in Japanese Patent Application No. 2002-59985.

도 2는 본 발명의 일실시예에 따른 표면의 경사를 나타내는 이미지 프로세싱 시스템의 내부 구성을 도시한 블록도이다.2 is a block diagram illustrating an internal configuration of an image processing system indicative of the inclination of a surface according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 경사를 나타내는 이미지 프로세싱 방법에서 수행되는 과정들을 도시한 흐름도이다.3 is a flowchart illustrating processes performed in an image processing method representing tilt according to an embodiment of the present invention.

도 4a, 4b, 4c, 및 4d는 본 발명의 일실시예에 따라, 표면의 법선 벡터를 구하는 과정을 도시한 도면이다.4A, 4B, 4C, and 4D illustrate a process of obtaining a normal vector of a surface according to an embodiment of the present invention.

도 5a 내지 도 5d는 경사 벡터를 구하고, 텍스처를 표면에 렌더링하는 과정을 도시한 도면이다.5A through 5D are diagrams illustrating a process of obtaining a gradient vector and rendering a texture on a surface.

도 6a 및 도 6b는 본 발명의 일실시예에 따른 이미지 프로세싱 법 및 그 시스템에서 텍스처를 경사 벡터의 방향으로 이동하도록 도시하는 과정을 도시한 도면이다.6A and 6B illustrate an example of a process of moving a texture in a direction of a gradient vector in an image processing method and a system according to an embodiment of the present invention.

도 7a 및 도 7b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에 채용될 수 있는 데이터베이스의 일실시예를 도시한 도면이다.7A and 7B illustrate an embodiment of a database that may be employed in an image processing method and system that exhibits a slope on a surface in accordance with one embodiment of the present invention.

도 8a 및 8b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 경사를 나타내는 텍스처의 이동을 도시한 도면이다. 8A and 8B are diagrams illustrating a movement of a texture representing a slope in a golf game, which is an application of the image processing method and the system, which shows a slope on a surface according to an embodiment of the present invention.

도 8c 및 8d는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 텍스처의 불투명도와 색상을 조절하여 경사를 나타내는 것을 도시한 도면이다.8C and 8D are diagrams illustrating an inclination by adjusting opacity and color of a texture in a golf game that is an application example of an image processing method and an application of the inclination to a surface according to an embodiment of the present invention.

도 9a 및 9b는 본 발명의 일실시예에 따른 표면에 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템의 응용예인 골프 게임에서 경사를 나타내는 텍스처를 도시한 도면이다.9A and 9B are diagrams illustrating an image processing method for representing a slope on a surface according to an embodiment of the present invention and a texture representing a slope in a golf game that is an application of the system.

도 10은 본 발명에 따른 표면의 경사를 나타내는 이미지 프로세싱 방법 및 그 시스템에서 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.10 is an internal block diagram of a general purpose computer device that may be employed in an image processing method and system that exhibits a slope of a surface in accordance with the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

201: 경사 벡터 생성부201: slope vector generator

202: 텍스처 제어부202 texture control

203: 데이터베이스203: database

204: 사용자 인터페이스204: user interface

Claims (15)

표면의 경사를 나타내는 이미지 프로세싱 방법에 있어서,In the image processing method for indicating the slope of the surface, 표면을 렌더링 하는 단계;Rendering the surface; 상기 표면의 경사를 나타내는 경사 벡터를 생성하는 단계; 및Generating an inclination vector representing the inclination of the surface; And 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링(rendering)하는 단계Rendering a texture having a predetermined thickness and length to move in the direction of the gradient vector 를 포함하는 것을 특징으로 하는 이미지 프로세싱 방법. Image processing method comprising a. 제1항에 있어서,The method of claim 1, 경사 벡터를 생성하는 상기 단계는The step of generating the gradient vector 상기 표면상의 임의의 점에서 법선 벡터를 계산하는 단계;Calculating a normal vector at any point on the surface; 상기 임의의 점을 기준으로 중력 방향과 수직인 평면을 설정하는 단계; 및Setting a plane perpendicular to the direction of gravity based on the arbitrary point; And 상기 법선 벡터를 상기 설정된 평면에 상기 중력 방향으로 투영하여 상기 경사 벡터를 생성하는 단계Generating the gradient vector by projecting the normal vector onto the set plane in the direction of gravity 를 포함하는 것을 특징으로 하는 이미지 프로세싱 방법. Image processing method comprising a. 제1항에 있어서,The method of claim 1, 상기 경사 벡터의 크기를 이용하여 속도를 계산하는 단계Calculating velocity using the magnitude of the gradient vector 를 더 포함하고,More, 상기 텍스처는 상기 계산된 속도로 이동하는 것을 특징으로 하는 이미지 프로세싱 방법.And said texture moves at said calculated speed. 제1항에 있어서,The method of claim 1, 텍스처를 경사 벡터의 방향으로 이동하도록 렌더링하는 상기 단계는The step of rendering the texture to move in the direction of the bevel vector 상기 텍스처가 제1 영역으로부터 상기 제1 영역보다 고도가 낮은 제2 영역으로 이동하는 단계 - 상기 고도는 상기 경사 벡터의 방향에 따라 결정됨 - ; 및Moving the texture from a first area to a second area having an altitude lower than the first area, the altitude being determined according to the direction of the gradient vector; And 상기 텍스처가 상기 제1 영역으로부터 상기 제2 영역에 도착하면 상기 도착된 텍스처는 삭제되고, 상기 제1 영역에서 텍스처가 다시 생성되어 이동하도록 렌더링하는 단계When the texture arrives at the second area from the first area, the arrived texture is deleted and rendered to be regenerated and moved in the first area. 를 포함하는 것을 특징으로 하는 이미지 프로세싱 방법.Image processing method comprising a. 제1항에 있어서,The method of claim 1, 상기 표면의 고도를 소정 개수의 구간으로 분할하는 단계; 및Dividing the elevation of the surface into a predetermined number of sections; And 상기 분할된 구간 각각에 대하여 소정의 색상을 할당하는 단계Allocating a predetermined color for each of the divided sections 를 더 포함하고,More, 텍스처를 경사 벡터의 방향으로 이동하도록 렌더링하는 상기 단계는 상기 텍스처를 상기 할당된 색상에 따라 렌더링하는 것을 특징으로 하는 이미지 프로세싱 방법.Rendering the texture to move in the direction of a gradient vector renders the texture according to the assigned color. 제5항에 있어서,The method of claim 5, 소정의 색상을 할당하는 상기 단계는 상기 표면의 평균 고도와의 차이에 비례하여 특정 색상의 비율을 할당하는 것을 특징으로 하는 이미지 프로세싱 방법.And the step of assigning a predetermined color assigns a proportion of a specific color in proportion to the difference with the average elevation of the surface. 제1항에 있어서,The method of claim 1, 상기 경사 벡터의 크기를 계산하는 단계; 및Calculating a magnitude of the gradient vector; And 상기 계산된 경사 벡터의 크기에 따라 상기 텍스처의 불투명도를 결정하는 단계 - 상기 불투명도는 상기 표면의 배경색 및 상기 텍스쳐 색상이 혼합되는 정도로 결정됨 - Determining an opacity of the texture according to the calculated magnitude of the gradient vector, wherein the opacity is determined such that the background color of the surface and the texture color are mixed. 를 더 포함하고,More, 텍스처를 경사 벡터의 방향으로 이동하도록 렌더링하는 상기 단계는 상기 텍스처에 상기 결정된 불투명도를 적용하여 렌더링하는 것을 특징으로 하는 이미지 프로세싱 방법.Rendering the texture to move in the direction of the gradient vector renders the texture by applying the determined opacity. 제7항에 있어서,The method of claim 7, wherein 상기 불투명도는 상기 경사 벡터의 크기에 비례하는 것을 특징으로 하는 이미지 프로세싱 방법.The opacity is proportional to the magnitude of the gradient vector. 제7항에 있어서,The method of claim 7, wherein 상기 불투명도를 적용한 텍스쳐 색상(A)는The texture color (A) applying the opacity is A = 배경색 * (1 - a) + A'*a (단, a= 불투명도, A' = 불투명도 적용 전의 텍스쳐 색상)A = background color * (1-a) + A '* a (where a = opacity, A' = texture color before opacity is applied) 로 결정되는 것을 특징으로 하는 이미지 프로세싱 방법.It is determined that the image processing method. 제1항에 있어서,The method of claim 1, 상기 경사 벡터의 크기를 계산하는 단계Calculating the magnitude of the gradient vector 를 더 포함하고,More, 상기 소정의 두께 및 길이 중 적어도 하나는 상기 경사 벡터의 크기에 따라 결정되는 것을 특징으로 하는 이미지 프로세싱 방법.At least one of the predetermined thickness and length is determined according to the magnitude of the gradient vector. 표면에 대한 고도 정보를 영역별로 데이터베이스에 저장하고 유지하는 단계;Storing and maintaining altitude information on the surface for each region in a database; 사용자로부터 영역 선택 정보를 수신하는 단계;Receiving region selection information from a user; 상기 영역 선택 정보 수신에 응답하여, 상기 선택된 영역에 상응하는 고도 정보를 상기 데이터베이스로 추출하는 단계;In response to receiving the region selection information, extracting altitude information corresponding to the selected region into the database; 상기 추출된 고도 정보에 기초하여 경사 벡터를 생성하는 단계; 및Generating a gradient vector based on the extracted altitude information; And 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링하는 단계Rendering a texture having a predetermined thickness and length to move in the direction of the gradient vector 를 포함하는 것을 특징으로 하는 이미지 프로세싱 방법Image processing method comprising a 제1항 내지 제11항 중 어느 하나의 항에 따른 방법을 컴퓨터에서 구현하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체. A computer-readable recording medium having recorded thereon a program for implementing a method according to any one of claims 1 to 11 on a computer. 표면에 경사를 나타내는 이미지 프로세싱 시스템에 있어서,In an image processing system exhibiting an inclination to a surface, 상기 표면상의 임의의 점에서 법선 벡터를 계산하고, 상기 임의의 점을 기준으로 중력 방향과 수직인 평면을 설정하고, 상기 법선 벡터를 상기 설정된 평면에 상기 중력 방향으로 정사영하여 상기 경사 벡터를 생성하는 경사 벡터 생성부; 및Calculating a normal vector at an arbitrary point on the surface, setting a plane perpendicular to the direction of gravity based on the arbitrary point, and projecting the normal vector to the set plane in the direction of gravity to generate the inclination vector Gradient vector generator; And 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 렌더링하는 텍스처 제어부Texture control unit for rendering a texture having a predetermined thickness and length to move in the direction of the gradient vector. 를 포함하는 것을 이미지 프로세싱 시스템. Image processing system comprising a. 제13항에 있어서,The method of claim 13, 상기 경사 벡터 생성부는 상기 경사 벡터의 크기를 이용하여 속도를 계산하고,The gradient vector generator calculates a velocity using the magnitude of the gradient vector, 상기 텍스처 제어부는 상기 텍스처를 상기 계산된 속도로 이동하도록 제어하는 것을 특징으로 하는 이미지 프로세싱 시스템.And the texture control unit controls to move the texture at the calculated speed. 표면에 대한 고도 정보를 영역별로 저장하고 유지하는 데이터베이스;A database for storing and maintaining altitude information on a surface for each area; 사용자로부터 영역 선택 정보를 수신하는 사용자 인터페이스;A user interface for receiving region selection information from a user; 상기 영역 선택 정보 수신에 응답하여, 상기 선택된 영역에 상응하는 고도 정보를 상기 데이터베이스로 추출하고, 상기 추출된 고도 정보에 기초하여 경사 벡터를 생성하는 경사 벡터 생성부; 및A gradient vector generator configured to extract altitude information corresponding to the selected region to the database in response to receiving the region selection information, and generate an inclination vector based on the extracted altitude information; And 소정의 두께 및 길이를 가지는 텍스처를 상기 경사 벡터의 방향으로 이동하도록 제어하는 텍스처 제어부Texture control unit for controlling a texture having a predetermined thickness and length to move in the direction of the gradient vector. 를 포함하는 것을 특징으로 하는 이미지 프로세싱 시스템.Image processing system comprising a.
KR1020040037155A 2004-05-25 2004-05-25 The method and system for rendering surface slope using a slope vector KR100546865B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040037155A KR100546865B1 (en) 2004-05-25 2004-05-25 The method and system for rendering surface slope using a slope vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040037155A KR100546865B1 (en) 2004-05-25 2004-05-25 The method and system for rendering surface slope using a slope vector

Publications (2)

Publication Number Publication Date
KR20050112228A true KR20050112228A (en) 2005-11-30
KR100546865B1 KR100546865B1 (en) 2006-01-26

Family

ID=37287159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040037155A KR100546865B1 (en) 2004-05-25 2004-05-25 The method and system for rendering surface slope using a slope vector

Country Status (1)

Country Link
KR (1) KR100546865B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992420B1 (en) 2010-04-01 2010-11-05 (주) 골프존 Image processing device and image processing method for representation of green lie

Also Published As

Publication number Publication date
KR100546865B1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
EP3822918B1 (en) Water wave effect rendering
US10754531B2 (en) Displaying a three dimensional user interface
CN102663799B (en) Method and device for creation of a playable scene with an authoring system
US6700573B2 (en) Method for rendering realistic terrain simulation
CN103157281B (en) Display method and display equipment of two-dimension game scene
CN108351864A (en) At recessed geometry Mi Pu
KR20140068410A (en) Method for providing user interface based on physical engine and an electronic device thereof
JP2008504596A (en) Image resource loading system and image resource loading method for loading object for updating game screen
CN110090440B (en) Virtual object display method and device, electronic equipment and storage medium
CN104854622B (en) The method for forming the shell grid of the polygon based on optimization
CN101317151A (en) Object selecting device, object selecting method, information recording medium, and program
CN112967367B (en) Water wave special effect generation method and device, storage medium and computer equipment
US6020893A (en) System and method for realistic terrain simulation
JP2005322108A (en) Display device, displaying method, and program
JP2008165584A (en) Image processor, and control method and program for image processor
CN113952720A (en) Game scene rendering method and device, electronic equipment and storage medium
CN108038890A (en) Vector diagram demonstration method, device, equipment and computer storage medium
US20230142566A1 (en) System and method for precise positioning with touchscreen gestures
US20030218617A1 (en) Information presentation apparatus and method in three-dimensional virtual space and computer program therefor
CN112891940A (en) Image data processing method and device, storage medium and computer equipment
KR101951225B1 (en) Method and system for real-time rendering object representation without physics engine
KR100546865B1 (en) The method and system for rendering surface slope using a slope vector
KR100469820B1 (en) Method and system for renewing screen
JP2001143100A (en) Method and device for providing depth gradation effects in three-dimensional video graphic system
JP2019121237A (en) Program, image processing method and image processing device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131126

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180115

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 15