KR101022491B1 - System and method for rendering fluid flow - Google Patents

System and method for rendering fluid flow Download PDF

Info

Publication number
KR101022491B1
KR101022491B1 KR1020090056432A KR20090056432A KR101022491B1 KR 101022491 B1 KR101022491 B1 KR 101022491B1 KR 1020090056432 A KR1020090056432 A KR 1020090056432A KR 20090056432 A KR20090056432 A KR 20090056432A KR 101022491 B1 KR101022491 B1 KR 101022491B1
Authority
KR
South Korea
Prior art keywords
module
fluid
particles
texture
density
Prior art date
Application number
KR1020090056432A
Other languages
Korean (ko)
Other versions
KR20100138073A (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 KR1020090056432A priority Critical patent/KR101022491B1/en
Publication of KR20100138073A publication Critical patent/KR20100138073A/en
Application granted granted Critical
Publication of KR101022491B1 publication Critical patent/KR101022491B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Abstract

유체 유동 렌더링(rendering) 시스템은, 제1 격자 형태로 분할된 유체의 시간에 따른 속도를 저장하는 속도 모듈; 상기 속도 모듈에 저장된 속도에 기초하여, 유체의 계산 영역에 위치한 하나 이상의 입자의 시간에 따른 위치를 산출하는 입자 모듈; 상기 하나 이상의 입자에 미리 설정된 텍스쳐를 적용하는 텍스쳐(texture) 모듈; 및 상기 하나 이상의 입자가 위치한 영역을 제2 격자 형태로 분할하여 시간에 따른 유체의 밀도를 산출하는 밀도 모듈을 포함할 수 있다. 상기 유체 유동 렌더링 시스템 및 이를 이용한 유체 유동 렌더링 방법을 이용하여, 연기 등의 유체의 형상을 정밀한 이미지로 렌더링할 수 있다.A fluid flow rendering system includes: a velocity module for storing a velocity over time of a fluid divided into a first lattice; A particle module that calculates a time-dependent position of one or more particles located in the computational region of the fluid based on the velocity stored in the velocity module; A texture module that applies a predetermined texture to the one or more particles; And a density module for dividing the region in which the one or more particles are located into a second lattice to calculate the density of the fluid over time. By using the fluid flow rendering system and the fluid flow rendering method using the same, the shape of a fluid such as smoke can be rendered as a precise image.

유체, 렌더링, 후처리, 텍스쳐, 밀도 Fluid, render, post-process, texture, density

Description

유체 유동 렌더링 시스템 및 방법{System and method for rendering fluid flow}System and method for rendering fluid flow

본 발명의 실시예들은 유체 유동 렌더링 시스템 및 방법에 관한 것이다. Embodiments of the present invention relate to fluid flow rendering systems and methods.

컴퓨터 그래픽스(Computer Graphics; CG) 분야 등에서 시뮬레이션의 결과로 얻어진 데이터를 이미지로 변환하는 일련의 과정을 렌더링(rendering)이라고 한다. 직물 등의 물체는 표면의 형상을 메쉬(mesh) 형태로 표현할 수 있으며, 이러한 메쉬에 기초하여 물체 표면을 이미지로 렌더링할 수 있다. 그러나 연기와 같이 표면이 불분명한 유체는 전혀 다른 방식의 렌더링 방법을 필요로 한다.In the field of computer graphics (CG), a series of processes for converting data obtained as a result of simulation into an image is called rendering. Objects such as fabrics can express the shape of the surface in the form of a mesh, and the object surface can be rendered as an image based on the mesh. However, fluids with unclear surfaces, such as smoke, require a completely different rendering method.

유체 유동 시뮬레이션에서 연기와 같은 볼륨 데이터(volume data)는 격자(grid) 형태로 저장되며, 이때 격자를 구성하는 기본 단위인 셀(cell)마다 밀도값이 실수 형태로 저장될 수 있다. 공간상에 정의되어 있는 이러한 볼륨 데이터를 렌더링하는 방법으로서, 대표적으로 볼륨 광선 투사법(ray marching method)이 있다. In the fluid flow simulation, volume data such as smoke is stored in a grid form, and density values may be stored in a real form for each cell, which is a basic unit constituting the grid. As a method of rendering such volume data defined in space, there is a volume ray marching method.

볼륨 광선 투사법은 특정 시점 또는 카메라의 위치로부터 공간상에 정의되어 있는 볼륨 데이터를 통과하여 가상의 광선을 진행시키면서, 일정 간격마다 광선이 지나는 지점의 볼륨 데이터를 추출한 후, 추출된 값들을 중첩하여 해당 픽셀의 값을 계산하는 방법이다. 이는 실제 연기가 사람의 눈에 보이거나 카메라에 촬영되는 방식을 거의 그대로 모방한 알고리즘이다. The volume ray projection method proceeds a virtual ray through a volume data defined in space from a specific viewpoint or a camera position, extracts volume data at a point where a ray passes at regular intervals, and then overlaps the extracted values. How to calculate the pixel value. It is an algorithm that mimics the way that real smoke is seen by the human eye or captured by the camera.

볼륨 데이터에서 격자를 이루고 있는 각 셀마다 하나의 실수값으로 밀도가 저장되기 때문에 때문에, 렌더링 결과 생성된 이미지에서 하나의 셀은 단일한 색상으로 보여지게 된다. 따라서 연기의 모습을 세부적으로 표현하기 위해서는 많은 개수의 셀로 이루어진 격자를 사용하여야 한다. 격자에 포함되는 셀의 개수를 해상도(resolution)라는 용어로 표현하며, 해상도가 높을수록 더욱 정밀한 이미지를 생성할 수 있다. Since the density is stored as one real value for each cell of the grid in the volume data, one cell is shown in a single color in the rendered image. Therefore, in order to express the appearance of smoke in detail, a grid composed of a large number of cells should be used. The number of cells included in the grid is expressed in terms of resolution, and the higher the resolution, the more accurate an image can be generated.

그러나 시뮬레이션 단계에서는 계산 시간 및 메모리 등의 문제로 인하여 높은 해상도의 격자를 사용하는 것이 어렵다. 통상적으로는 3차원 격자의 경우 256 x 256 x 256 이하의 해상도를 갖는 격자를 사용하지만, 이 정도 해상도의 격자를 사용해서 시뮬레이션을 하더라도 실사와 같은 느낌의 렌더링 품질을 구현하기는 어렵다. However, in the simulation stage, it is difficult to use a high resolution grating due to problems such as computation time and memory. In general, a 3D grating uses a grating having a resolution of 256 x 256 x 256 or less. However, even when the grating having this resolution is simulated, it is difficult to realize a realistic rendering quality.

이를 해결하기 위하여, 시뮬레이션 단계에서 사용되는 격자보다 더 높은 해상도를 가지는 렌더링 격자를 별도로 만들고, 저해상도의 격자를 이용하여 시뮬레이션이 이루어진 볼륨 데이터를 고해상도의 렌더링 격자를 이용하여 렌더링하는 후처리 방법이 사용될 수 있다. 그러나 저해상도 격자에 의한 시뮬레이션 결과를 단순히 리샘플링(re-sampling)하여 고해상도의 렌더링 격자를 이용하게 되면 데이터의 크기만 커질 뿐 좋은 품질을 내기 어렵다. To solve this problem, a post-processing method may be used in which a rendering grid having a higher resolution than that used in the simulation step is separately created and the volume data simulated using the low resolution grid is rendered using a high resolution rendering grid. have. However, simply re-sampling the simulation results of a low resolution grid to use a high resolution rendering grid increases the size of the data and is difficult to produce good quality.

한편 저해상도의 볼륨 데이터로부터 고해상도의 이미지를 얻어내기 위한 방법으로 텍스쳐(texture)를 이용하는 방법이 있다. 이는 미리 설정된 밀도 분포를 볼륨 데이터에 적용하는 방법으로서, 이때 적용되는 밀도 분포를 텍스쳐라고 지칭한다. Meanwhile, there is a method of using texture as a method for obtaining a high resolution image from low resolution volume data. This is a method of applying a predetermined density distribution to the volume data, and the density distribution applied at this time is referred to as a texture.

텍스쳐에는 2차원, 3차원 및 4차원 텍스쳐가 있으며, 2차원 텍스쳐는 가장 직관적이지만 연기 등과 같이 표면 추출이 어려운 물체에는 적용되기 어렵다. 또한 3차원 텍스쳐는 텍스쳐가 시간에 따라 변하지 않고 고정되어 있기 때문에 부자연스러운 문제점이 있다. 3차원 텍스쳐의 문제점을 극복하기 위하여 시간에 따라 움직이는 4차원 텍스쳐를 사용할 수 있으나, 텍스쳐의 움직임이 유체 유동과 일치하지 않기 때문에 여전히 부자연스러운 문제점이 있다. There are two-dimensional, three-dimensional and four-dimensional textures in textures, and two-dimensional textures are the most intuitive but difficult to apply to objects such as smoke that are difficult to extract. In addition, the 3D texture has an unnatural problem because the texture is fixed without change over time. In order to overcome the problem of the three-dimensional texture, it is possible to use a four-dimensional texture that moves over time, but there is still an unnatural problem because the texture movement does not coincide with the fluid flow.

본 발명의 실시예들은, 저해상도의 격자를 사용하여 시뮬레이션이 이루어진 볼륨 데이터(volume data)에 입자 기반의 텍스쳐(texture) 및 고해상도의 격자를 적용하여 후처리하고 렌더링(rendering)할 수 있는 유체 유동 렌더링 시스템 및 방법을 제공할 수 있다. Embodiments of the present invention, fluid flow rendering that can be post-processed and rendered by applying a particle-based texture and a high resolution grid to the volume data simulated using a low resolution grid Systems and methods can be provided.

일 실시예에 따른 유체 유동 렌더링(rendering) 시스템은, 제1 격자 형태로 분할된 유체의 시간에 따른 속도를 저장하는 속도 모듈; 상기 속도 모듈에 저장된 속도에 기초하여, 유체의 계산 영역에 위치한 하나 이상의 입자의 시간에 따른 위치를 산출하는 입자 모듈; 상기 하나 이상의 입자에 미리 설정된 텍스쳐를 적용하는 텍스쳐(texture) 모듈; 및 상기 하나 이상의 입자가 위치한 영역을 제2 격자 형태로 분할하여 시간에 따른 유체의 밀도를 산출하는 밀도 모듈을 포함할 수 있다. According to one embodiment, a fluid flow rendering system includes: a velocity module configured to store a velocity over time of a fluid divided into a first lattice; A particle module that calculates a time-dependent position of one or more particles located in the computational region of the fluid based on the velocity stored in the velocity module; A texture module that applies a predetermined texture to the one or more particles; And a density module for dividing the region in which the one or more particles are located into a second lattice to calculate the density of the fluid over time.

일 실시예에 따른 유체 유동 렌더링 방법은, 제1 격자 형태로 분할된 유체의 시간에 따른 속도에 기초하여, 유체의 계산 영역에 위치하는 하나 이상의 입자의 시간에 따른 위치를 산출하는 단계; 상기 하나 이상의 입자에 미리 설정된 텍스쳐를 적용하는 단계; 및 상기 하나 이상의 입자가 위치한 영역을 제2 격자 형태로 분할하여 시간에 따른 유체의 밀도를 산출하는 단계를 포함할 수 있다.According to one or more exemplary embodiments, a fluid flow rendering method includes calculating a time-based position of one or more particles located in a calculation region of a fluid based on a time-based velocity of a fluid divided into a first lattice; Applying a preset texture to the one or more particles; And dividing the region in which the one or more particles are located in a second lattice form to calculate the density of the fluid over time.

본 발명의 실시예들에 따른 유체 유동 렌더링 시스템 및 방법을 이용하면, 볼륨 데이터(volume data)에 입자 기반의 텍스쳐(texture)를 적용함으로써, 표면이 불분명한 연기 등의 유체의 형상을 정밀한 이미지로 렌더링(rendering)할 수 있다. 또한 시뮬레이션 단계에서는 저해상도의 격자를 이용하고 렌더링 과정에서 고해상도의 격자를 이용하므로, 계산 시간 또는 계산량을 현저히 증가시키지 않고도 높은 렌더링 품질을 얻을 수 있다. 나아가, 유체 내의 위치에 따라 텍스쳐를 회전시킴으로써 자연스러운 이미지를 생성할 수 있다. Using the fluid flow rendering system and method according to the embodiments of the present invention, by applying a particle-based texture to the volume data, the shape of the fluid, such as smoke whose surface is unclear, to a precise image Rendering is possible. In addition, the low resolution grid is used in the simulation stage and the high resolution grid is used during the rendering process, so that high rendering quality can be obtained without significantly increasing calculation time or calculation amount. Furthermore, natural images can be generated by rotating the texture according to its position in the fluid.

이하에서는, 도면을 참조하여 본 발명의 실시예를 구체적으로 설명한다. 그러나, 본 발명이 하기 실시예에 의하여 제한되는 것은 아니다. 본 발명의 실시예들을 설명하는 데에 있어, 본 발명의 요지를 명확하게 하기 위하여 공지 기술로부터 당업자에게 용이하게 이해될 수 있는 것에 대해서는 자세한 설명을 생략한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited by the following examples. In describing the embodiments of the present invention, a detailed description of what can be easily understood by those skilled in the art from the known art in order to clarify the gist of the present invention will be omitted.

도 1은 일 실시예에 따른 유체 유동 렌더링 시스템의 구성을 도시한 블록도이다. 1 is a block diagram illustrating a configuration of a fluid flow rendering system according to an exemplary embodiment.

도 1을 참조하면, 유체 유동 렌더링 시스템은 속도 모듈(10), 입자 모듈(20), 텍스쳐(texture) 모듈(30) 및 밀도 모듈(50)을 포함할 수 있다. 속도 모듈(10)은 유체 유동 시뮬레이션에 의하여 산출된 시간에 따른 유체의 속도를 저장할 수 있다. 유체 유동 시뮬레이션에 의해 유체의 속도를 시간 별로 산출하는 과정은 공지된 유체 유동 시뮬레이션 방법에 의하여 수행될 수 있으므로, 본 명세서에서는 이에 대해 간략하게만 설명한다.Referring to FIG. 1, the fluid flow rendering system may include a velocity module 10, a particle module 20, a texture module 30, and a density module 50. The velocity module 10 may store the velocity of the fluid over time calculated by the fluid flow simulation. Since the process of calculating the velocity of the fluid by the fluid flow simulation for each time can be performed by a known fluid flow simulation method, only a brief description thereof will be provided herein.

유체 유동 시뮬레이션에서는 유체의 계산 영역을 복수 개의 셀로 이루어진 격자 형태로 분할하고, 격자의 각 셀에 대하여 속도 및 밀도 등을 정의할 수 있다. 도 2는 유체 유동 시뮬레이션에 의하여 격자 형태로 분할된 유체의 계산 영역을 도시한 개략도이다. 도 2에서 격자의 각 노드(node)에 도시된 화살표는 해당 노드에 정의된 속도 벡터를 나타내며, 전체 격자에 대하여 속도장(velocity field)의 형태로 속도가 정의될 수 있다. 한편, 다른 실시예에서 속도장은 각 셀의 중심점에 대하여 정의될 수도 있다. In the fluid flow simulation, the calculation region of the fluid may be divided into a lattice of a plurality of cells, and speed and density may be defined for each cell of the lattice. 2 is a schematic diagram showing a calculation region of a fluid divided into a lattice form by a fluid flow simulation. In FIG. 2, an arrow shown in each node of the grid represents a velocity vector defined in the node, and the velocity may be defined in the form of a velocity field for the entire grid. Meanwhile, in another embodiment, the velocity field may be defined with respect to the center point of each cell.

또한 유체 유동 시뮬레이션에서는 계산 시간을 하나 이상의 시간 단계(time step)로 분할하고, 각 시간 단계별로 유체의 속도에 대한 유동 방정식에 기초하여 유체의 속도를 갱신해나갈 수 있다. 도 2의 (a) 내지 (c)는 인접한 시간 단계에서 유체의 속도장을 갱신한 결과를 나타낸다. 이전 시간 단계에서의 속도장 및 유동 방정식을 이용하여 다음 시간 단계에서의 속도장을 산출할 수 있으며, 이러한 과정을 모든 시간 단계에 대해 반복 수행함으로써 시간에 따른 유체의 유동을 산출할 수 있다. 유동 방정식에 기초하여 유체 유동을 산출하는 과정은 당업자에게 잘 알려져 있다.In fluid flow simulations, the calculation time can be divided into one or more time steps and the velocity of the fluid can be updated based on the flow equation for the velocity of the fluid in each time step. 2 (a) to 2 (c) show the results of updating the velocity field of the fluid in adjacent time steps. The velocity field and flow equation in the previous time step can be used to calculate the velocity field in the next time step, and this process can be repeated for all time steps to calculate the flow of fluid over time. The process of calculating the fluid flow based on the flow equation is well known to those skilled in the art.

속도 모듈(10)에는 이상과 같은 유체 유동 시뮬레이션의 결과로 산출된 유체의 속도장이 각 시간 단계별로 저장되어 있을 수 있다. 속도 모듈(10)에 저장된 유체의 속도장에서 유체의 계산 영역은 제1 격자(100) 형태로 분할되어 있을 수 있다. 유체 유동 시뮬레이션에서는 계산 시간 및 메모리 등의 한계로 인하여 고해상도의 격자를 사용하는 것이 어려우므로, 제1 격자(100)는 후술하는 렌더링 과정에 사용되는 제2 격자에 비하여 상대적으로 저해상도의 격자일 수 있다. The velocity module 10 may store the velocity field of the fluid calculated as a result of the fluid flow simulation as described above for each time step. The calculation region of the fluid in the velocity field of the fluid stored in the velocity module 10 may be divided in the form of the first grating 100. In the fluid flow simulation, it is difficult to use a high resolution grating due to limitations of calculation time, memory, etc., so that the first grating 100 may be a relatively low resolution grating compared to the second grating used in a rendering process described later. .

본 명세서에 첨부되는 도면들에서 격자는 2차원 격자 형태로 도시되나, 이는 예시적인 것으로서 시뮬레이션 과정에서 사용되는 제1 격자 및 렌더링 과정에서 사용되는 3차원 격자일 수도 있다. In the drawings attached to the present specification, the grating is shown in the form of a two-dimensional grating, but this may be a first grating used in the simulation process and a three-dimensional grating used in the rendering process.

입자 모듈(20)은 유체의 계산 영역에 하나 이상의 입자를 설정하고, 속도 모듈(10)에 저장된 각 시간 단계의 속도장을 이용하여 상기 하나 이상의 입자의 시간에 따른 위치를 산출할 수 있다. The particle module 20 may set one or more particles in the calculation region of the fluid and calculate the position of the one or more particles over time using the velocity field of each time step stored in the velocity module 10.

도 3은 입자 모듈(20)에 의하여 유체의 계산 영역에 설정된 하나 이상의 입자(200)를 도시한다. 하나 이상의 입자(200)는 규칙적 또는 불규칙적으로 위치할 수 있으며, 입자(200)의 개수는 유체의 계산 영역의 크기 및 계산 시간 등에 기초하여 적절히 결정될 수 있다. 각각의 입자(200)는 소정의 반지름을 가지는 원 또는 구의 형상일 수 있다. 입자(200)의 반지름에 따라 입자(200)는 제1 격자(100)에서 하나의 셀보다 작은 영역을 차지하거나, 또는 복수 개의 셀에 해당하는 영역을 차지할 수도 있다. 3 shows one or more particles 200 set in the computational region of the fluid by the particle module 20. One or more particles 200 may be located regularly or irregularly, the number of particles 200 may be appropriately determined based on the size and calculation time of the calculation region of the fluid. Each particle 200 may be in the shape of a circle or sphere having a predetermined radius. Depending on the radius of the particle 200, the particle 200 may occupy an area smaller than one cell or occupy an area corresponding to a plurality of cells in the first grating 100.

그러나 입자(200)의 형상, 개수 및 크기는 도 3에 도시된 것으로 제한되지 않으며, 다른 실시예에서 입자는 다른 상이한 형상, 개수 및 크기를 가질 수도 있다. However, the shape, number and size of the particles 200 is not limited to that shown in FIG. 3, and in other embodiments the particles may have other different shapes, numbers and sizes.

입자 모듈(20)은 속도 모듈(10)에 저장된 속도장을 이용하여 각 시간 단계별로 입자(200)의 위치를 산출할 수 있다. 도 3의 (a) 내지 (c)는 인접한 시간 단계에서 입자의 위치를 갱신한 결과를 도시한다.The particle module 20 may calculate the position of the particle 200 in each time step by using the velocity field stored in the speed module 10. 3 (a) to 3 (c) show the results of updating the position of particles in adjacent time steps.

도 4는 하나의 시간 단계에서 입자 모듈(20)이 입자(200)의 속도를 산출하는 과정을 예시적으로 도시한 개략도이다. 도 4를 참조하면, 특정 시간 단계에서 입자(200)의 속도는 입자(200)에 인접한 위치의 속도 벡터를 이용하여 산출될 수 있다. 예컨대, 입자(200)의 속도는, 인접한 각 노드(101, 102, 103, 104)의 속도 벡터(v1, v2, v3, v4)에 입자(200)의 중심점(O)으로부터 각 노드(101, 102, 103, 104)까지의 거리에 비례한 가중치를 적용하여 합산함으로써 산출될 수도 있다. 입자 모듈(20)은 산출된 입자(200)의 속도에 유동 방정식을 적용함으로써 시간에 따른 입자(200)의 위치를 산출할 수 있다. 4 is a schematic diagram illustrating a process in which the particle module 20 calculates the velocity of the particle 200 in one time step. Referring to FIG. 4, the velocity of the particle 200 at a particular time step may be calculated using the velocity vector of a location adjacent to the particle 200. For example, the velocity of the particle 200 is determined from the center point O of the particle 200 in the velocity vectors v 1 , v 2 , v 3 and v 4 of adjacent nodes 101, 102, 103, 104. It may also be calculated by summing by applying a weight proportional to the distance to the nodes (101, 102, 103, 104). The particle module 20 may calculate the position of the particle 200 over time by applying a flow equation to the calculated velocity of the particle 200.

입자 모듈(20)에서 입자(200)들의 시간에 따른 위치를 산출하는 과정은, 유체 유동 시뮬레이션에 의하여 미리 산출되어 속도 모듈(10)에 저장되어 있는 각 시간 단계의 속도장을 이용할 수 있다. 따라서, 유체 유동 시뮬레이션에서 유체의 밀도장(density)을 시간에 따라 산출하는 종래 기술과 비교하여 계산 시간 및 계산량이 상대적으로 적으면서도, 결과로서 하나 이상의 입자(200)는 유체 유동 시뮬레이션에 의해 산출되는 밀도장과 유사한 형태로 위치하게 된다. The process of calculating the position of the particles 200 over time in the particle module 20 may use the velocity field of each time step that is calculated in advance by the fluid flow simulation and stored in the velocity module 10. Thus, in comparison with the prior art, which calculates the density field of a fluid over time in a fluid flow simulation, the calculation time and the amount of calculation are relatively small, but as a result one or more particles 200 are calculated by the fluid flow simulation. It is located in a form similar to the density field.

텍스쳐(texture) 모듈(30)은, 입자 모듈(20)에 의하여 위치를 산출한 하나 이상의 입자(200) 각각에 미리 설정된 텍스쳐를 적용할 수 있다. 본 명세서에서 텍스쳐란 사용자의 입력 또는 수치 연산 등의 결과로 미리 설정되어 있는 밀도 분포를 의미하는 것으로서, 상기 텍스쳐는 2차원 텍스쳐, 3차원 텍스쳐 또는 4차원 텍스쳐일 수도 있다. The texture module 30 may apply a preset texture to each of the one or more particles 200 whose positions are calculated by the particle module 20. In the present specification, the texture refers to a density distribution that is preset as a result of a user's input or a numerical operation. The texture may be a two-dimensional texture, a three-dimensional texture, or a four-dimensional texture.

도 5의 (a) 내지 (c)는 텍스쳐 모듈(30)에 의하여 하나 이상의 입자에 텍스 쳐를 적용한 결과를 시간 단계별로 도시한 예시적인 개략도이다. 도 5에서 각각의 입자(200)에서 밀도가 상대적으로 높은 영역이 상대적으로 진한 색으로 도시되었다. 이와 같이 각 입자(200)에 미리 설정된 텍스쳐를 적용함으로써, 시뮬레이션 단계에서 사용된 제1 격자(100)의 해상도에 비하여 더 정밀한 밀도 분포를 갖는 볼륨 데이터를 생성할 수 있다. 5A to 5C are exemplary schematic diagrams illustrating the results of applying a texture to one or more particles by the texture module 30 in time steps. In FIG. 5, a region having a relatively high density in each particle 200 is shown in a relatively dark color. In this way, by applying a predetermined texture to each particle 200, it is possible to generate volume data having a more precise density distribution than the resolution of the first grating 100 used in the simulation step.

도 5에 도시된 텍스쳐의 밀도 분포는 예시적인 것으로서, 텍스쳐의 밀도 분포는 도 5에 도시된 것과 상이할 수 있으며 표현하고자 하는 유체의 성질 및 형상 등에 기초하여 적절히 결정될 수 있다.The density distribution of the texture shown in FIG. 5 is exemplary, and the density distribution of the texture may be different from that shown in FIG. 5 and may be appropriately determined based on the nature and shape of the fluid to be expressed.

일 실시예에서, 입자가 복수 개일 경우, 각각의 입자(200)에는 서로 상이한 텍스쳐가 적용될 수도 있다. 예를 들어, 텍스쳐 모듈(30)은 불규칙한 패턴을 생성하기 위하여 사용되는 펄린 노이즈(Perlin noise) 알고리즘을 이용하여 복수 개의 텍스쳐를 생성할 수 있다. 이때 각각의 텍스쳐에 서로 상이한 시드값(seeding)을 사용함으로써 서로 상이한 밀도 분포를 갖도록 할 수 있다. In one embodiment, when there are a plurality of particles, different textures may be applied to each particle 200. For example, the texture module 30 may generate a plurality of textures using a Perlin noise algorithm used to generate an irregular pattern. In this case, by using different seeding values for the respective textures, the textures may have different density distributions.

일 실시예에서, 유체 유동 렌더링 시스템은 텍스쳐 모듈(30)에 의하여 입자(200)에 적용되는 텍스쳐를 입자(200)의 위치에 따라 회전시키는 회전 모듈(40)을 더 포함할 수도 있다. 연기와 같은 유체는 소용돌이(swirl) 형태의 움직임을 가지므로, 입자(200)의 위치에 따라 해당 입자(200)에 적용되는 텍스쳐를 회전시키면 유체 유동을 더욱 정밀하게 표현할 수 있다. In one embodiment, the fluid flow rendering system may further include a rotation module 40 that rotates the texture applied to the particle 200 by the texture module 30 according to the position of the particle 200. Since the fluid such as smoke has a swirl-like movement, by rotating the texture applied to the particle 200 according to the position of the particle 200 can be expressed more precisely the fluid flow.

예를 들어 입자(200)의 중심점의 속도장을 u라 하고, 입자(200)의 각속도를 쿼터니온(quaternion)으로 나타낸 것을 Ω라 할 경우, Ω는 다음 수학식 1과 같이 속도장에 컬(curl) 연산을 취하는 것에 의하여 산출될 수 있다. For example, when La u center point velocity field of the particles 200, referred to showing the angular velocity of the particles 200 in a quaternion (quaternion) Ω, Ω is local to the velocity field as shown in Equation 1 (curl Can be calculated by taking

Figure 112009038303202-pat00001
Figure 112009038303202-pat00001

또한 입자(200)의 중심점의 방향(orientation)을 쿼터니온으로 나타낸 것을 q라 할 경우, 시간 (t+△t)에서의 방향 q(t+△t)는 시간 t에서의 방향 q(t) 및 회전 쿼터니온 △r(t)를 사용하여 하기 수학식 2에 의하여 표현될 수 있다.In addition, when q represents the orientation of the center point of the particle 200 as quaternion, the direction q (t + Δt) at time t + Δt is the direction q (t) and rotation quaternion at time t. It can be expressed by the following equation (2) using Δ r (t).

Figure 112009038303202-pat00002
Figure 112009038303202-pat00002

상기 수학식 2에서, 입자(200)의 회전 각도를 2△α, 단위 회전 축을 v(t)라 할 경우, 회전 쿼터니온 △r(t)는 하기 수학식 3에 의하여 표현될 수 있다. In Equation 2, when the rotation angle of the particle (200) 2 △ α, referred to the unit rotation axis, v (t), the rotation quaternion △ r (t) is to be represented by the equation (3).

Figure 112009038303202-pat00003
Figure 112009038303202-pat00003

상기 수학식 3에서 △α의 값이 충분히 작을 경우, 회전 쿼터니온 △r(t)는 하기 수학식 4에 의하여 표현될 수 있다.If smaller the value of △ α in the above equation (3) sufficiently, the rotation quaternion △ r (t) is to be represented by the equation (4).

Figure 112009038303202-pat00004
Figure 112009038303202-pat00004

전술한 수학식 2 및 4를 이용하면, 입자(200)의 방향 q의 시간에 따른 변화량, 즉 q의 시간에 의한 미분값은 하기 수학식 5에 의하여 표현될 수 있다.Using the above Equations 2 and 4, the change amount according to time in the direction q of the particle 200, that is, the derivative value based on the time of q may be expressed by Equation 5 below.

Figure 112009038303202-pat00005
Figure 112009038303202-pat00005

상기 수학식 5에서 ω(t)는 시간 t에서의 입자(200)의 각속도를 나타내는 벡터이며, 상기 수학식 5의 결과를 쿼터니온을 이용하여 나타내면 하기 수학식 6과 같다.In Equation 5, ω (t) is a vector representing the angular velocity of the particle 200 at time t, and the result of Equation 5 is represented by Equation 6 below using quaternion.

Figure 112009038303202-pat00006
Figure 112009038303202-pat00006

상기 수학식 6에서 q vel은 방향 q의 시간에 따른 변화량을 나타내는 쿼터니온이다. 이렇게 산출된 q vel에 각 시간 단계 사이의 시간 간격 dt를 곱하면, 한 시간 단계에서 입자(200)의 방향 변화 q+를 하기 수학식 7에 의하여 구할 수 있다. In Equation 6, q vel is a quaternion representing the amount of change in the direction q over time. By multiplying the q vel thus calculated by the time interval dt between each time step, the direction change q + of the particle 200 in one time step can be obtained by Equation 7 below.

Figure 112009038303202-pat00007
Figure 112009038303202-pat00007

회전 모듈(40)은, 수학식 1 내지 7을 참조하여 전술한 과정에 의해 입자(200)의 속도장으로부터 입자(200)의 방향 변화를 시간 단계별로 산출할 수 있으며, 입자(200)의 방향을 시간에 따라 갱신해 나갈 수 있다. 또한 회전 모듈(40)은 입자(200)의 방향 q의 길이가 1이 되도록 q를 정규화(normalize)하여, 정규화된 방향 q에 따라 입자(200)에 적용되는 텍스쳐를 회전시킬 수 있다. 입자(200)의 방향에 따라 입자(200)에 적용되는 텍스쳐가 회전되므로, 유체가 유동하는 경우에도 자연스러운 밀도 분포를 산출할 수 있다.The rotation module 40 may calculate the change in direction of the particle 200 in time steps by the process described above with reference to Equations 1 to 7 and the direction of the particle 200. You can update it over time. In addition, the rotation module 40 can rotate the texture applied to the particle 200 in accordance with the the q normalized (normalize) such that the length direction of the q of the particles 200, first, the normalized direction q. Since the texture applied to the particles 200 is rotated according to the direction of the particles 200, a natural density distribution may be calculated even when the fluid flows.

밀도 모듈(50)은 텍스쳐 모듈(30)에 의하여 텍스쳐가 적용된 하나 이상의 입자(200)가 위치하는 영역을 제2 격자 형태로 분할하여 유체의 시간에 따른 밀도를 밀도장의 형태로 산출할 수 있다. The density module 50 may calculate the density of the fluid in the form of a density field by dividing an area in which one or more particles 200 to which the texture is applied by the texture module 30 is located in a second lattice form.

도 6의 (a) 내지 (c)는 밀도 모듈(50)에 의하여 입자가 위치한 영역을 격자 형태로 분할하여 밀도장을 산출하는 과정을 시간 단계별로 도시한 예시적인 개략도 이다. 도 6을 참조하면, 텍스쳐가 적용된 하나 이상의 입자(200)가 위치하는 유체의 계산 영역을 제2 격자(500)의 형태로 분할할 수 있다. 이때, 제2 격자(500)의 각 셀에는 해당 셀의 밀도 분포의 평균값이 밀도값으로 지정될 수 있다. 제2 격자(500)에서 입자(200)가 위치하는 영역에 대해서만 연산을 수행하게 되므로 계산 시간 및 계산량이 감소되는 이점이 있다.6A to 6C are exemplary schematic diagrams illustrating a process of calculating a density field by dividing an area in which particles are located by the density module 50 into a lattice form in time steps. Referring to FIG. 6, a calculation region of a fluid in which one or more particles 200 to which a texture is applied is located may be divided into a shape of a second grating 500. In this case, each cell of the second grating 500 may be assigned an average value of the density distribution of the corresponding cell as the density value. Since the calculation is performed only on the region where the particle 200 is located in the second grating 500, the calculation time and the amount of calculation are reduced.

밀도 모듈(50)에 의하여 사용되는 제2 격자(500)는, 유체 유동 시뮬레이션 과정에서 사용된 제1 격자(100)에 비해 더 많은 수의 셀을 포함할 수 있다. 그 결과, 상대적으로 저해상도의 제1 격자(100)를 이용하여 유체 유동 시뮬레이션을 수행하고, 상대적으로 고해상도의 제2 격자(500)를 이용하여 렌더링을 수행함으로써, 유체 유동 시뮬레이션 과정의 연산 부담을 증가시키지 않고도 높은 렌더링 품질을 얻을 수 있는 이점이 있다. The second grating 500 used by the density module 50 may include a greater number of cells than the first grating 100 used in the fluid flow simulation process. As a result, the fluid flow simulation is performed using the relatively low resolution first grid 100 and the rendering is performed using the relatively high resolution second grid 500, thereby increasing the computational burden of the fluid flow simulation process. The advantage is that you get a high rendering quality without having to.

일 실시예에서, 유체 유동 렌더링 시스템은 밀도 모듈(50)에 의하여 산출된 유체의 밀도를 이미지로 변환하는 변환 모듈(60)을 더 포함할 수도 있다. 입자 모듈(20), 텍스쳐 모듈(30), 회전 모듈(40) 및 밀도 모듈(50)에 의하여 수행되는 과정들은 유체 유동 시뮬레이션 결과로 얻어진 속도장을 밀도장으로 후처리하는 단계에 해당되며, 변환 모듈(60)은 후처리된 밀도장을 실제 이미지로 변환하는 역할을 할 수 있다.In one embodiment, the fluid flow rendering system may further include a conversion module 60 that converts the density of the fluid calculated by the density module 50 into an image. The processes performed by the particle module 20, the texture module 30, the rotation module 40 and the density module 50 correspond to the step of post-processing the velocity field resulting from the fluid flow simulation into the density field. The module 60 may serve to convert the post-processed density field into an actual image.

변환 모듈(60)의 동작은 밀도장을 이미지로 변환하는 공지된 기술을 이용하여 수행될 수 있다. 예를 들어, 변환 모듈(60)은 볼륨 광선 투사법(ray marching method)에 의하여 밀도장을 이미지로 변환할 수도 있으나, 이는 예시적인 것으로 서, 변환 모듈(60)의 동작이 볼륨 광선 투사법을 이용한 것으로 제한되는 것은 아니다. Operation of the transform module 60 may be performed using known techniques for converting the density field into an image. For example, the conversion module 60 may convert the density field into an image by a volume ray marching method, but this is exemplary, and the operation of the conversion module 60 may change the volume ray projection method. It is not limited to the one used.

이상에서 살펴본 본 발명의 실시예들에 따른 유체 유동 렌더링 시스템 및 방법을 이용하면, 볼륨 데이터에 입자 기반의 텍스쳐 및 고해상도의 렌더링 격자를 적용함으로써, 표면이 불분명한 연기 등의 유체의 형상을 정밀한 이미지로 렌더링할 수 있다. 또한, 시뮬레이션 단계에서는 저해상도의 격자를 이용하고 렌더링 과정에서 고해상도의 격자를 이용하므로, 계산 시간 또는 계산량을 현저히 증가시키지 않고도 높은 렌더링 품질을 얻을 수 있다. 나아가, 유체 내의 위치에 따라 텍스쳐를 회전시킴으로써 자연스러운 이미지를 생성할 수 있다.Using the fluid flow rendering system and method according to the embodiments of the present invention described above, by applying a particle-based texture and a high-resolution rendering grid to the volume data, to accurately image the shape of the fluid, such as smoke whose surface is unclear Can be rendered as: In addition, since a low resolution grid is used in the simulation step and a high resolution grid is used in the rendering process, high rendering quality can be obtained without significantly increasing calculation time or calculation amount. Furthermore, natural images can be generated by rotating the texture according to its position in the fluid.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention described above has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and variations may be made therefrom. However, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 일 실시예에 따른 유체 유동 렌더링 시스템을 도시한 블록도이다. 1 is a block diagram illustrating a fluid flow rendering system according to one embodiment.

도 2는 유체 유동 시뮬레이션에 의해 산출된 유체의 속도장을 예시적으로 도시한 개략도이다. 2 is a schematic diagram exemplarily showing a velocity field of a fluid calculated by a fluid flow simulation.

도 3은 입자 모듈에 의하여 각 시간 단계별로 입자의 위치를 산출한 결과를 예시적으로 도시한 개략도이다. Figure 3 is a schematic diagram showing the results of calculating the position of the particles in each time step by the particle module by way of example.

도 4는 입자 모듈에 의하여 속도장으로부터 입자의 속도를 산출하는 과정을 예시적으로 도시한 개략도이다. 4 is a schematic diagram illustrating a process of calculating the velocity of particles from the velocity field by the particle module.

도 5는 텍스쳐(texture) 모듈에 의하여 각 시간 단계별로 입자에 텍스쳐를 적용한 결과를 예시적으로 도시한 개략도이다. FIG. 5 is a schematic diagram exemplarily illustrating a result of applying a texture to particles at each time step by a texture module. FIG.

도 6은 밀도 모듈에 의하여 각 시간 단계별로 입자가 위치하는 영역을 밀도장으로 변환하는 과정을 예시적으로 도시한 개략도이다.6 is a schematic diagram illustrating a process of converting a region where particles are located in each density step into a density field by the density module.

Claims (10)

제1 격자 형태로 분할된 유체의 속도를 복수 개의 시간 단계별로 저장하는 속도 모듈; A velocity module for storing the velocity of the fluid divided into a first lattice form in a plurality of time steps; 상기 속도 모듈에 저장된 속도에 기초하여, 유체의 계산 영역에 위치한 하나 이상의 입자의 위치를 상기 복수 개의 시간 단계별로 산출하는 입자 모듈; A particle module that calculates the position of one or more particles located in the calculation region of the fluid in the plurality of time steps based on the speed stored in the velocity module; 상기 하나 이상의 입자에 미리 설정된 텍스쳐를 적용하는 텍스쳐 모듈; 및 A texture module for applying a preset texture to the one or more particles; And 상기 하나 이상의 입자가 위치한 영역을 제2 격자 형태로 분할하여 유체의 밀도를 상기 복수 개의 시간 단계별로 산출하는 밀도 모듈을 포함하는 것을 특징으로 하는 유체 유동 렌더링 시스템.And a density module for dividing an area in which the one or more particles are located into a second lattice shape to calculate a density of the fluid in the plurality of time steps. 제 1항에 있어서,The method of claim 1, 상기 제1 격자 및 상기 제2 격자는 각각 하나 이상의 셀로 이루어지며, 상기 제2 격자는 상기 제1 격자보다 더 많은 개수의 셀을 포함하는 것을 특징으로 하는 유체 유동 렌더링 시스템.Wherein said first grating and said second grating each comprise one or more cells, said second grating comprising a greater number of cells than said first grating. 제 1항에 있어서,The method of claim 1, 상기 밀도 모듈에 의해 산출된 유체의 밀도를 이미지로 변환하는 변환 모듈을 더 포함하는 것을 특징으로 하는 유체 유동 렌더링 시스템.And a conversion module for converting the density of the fluid calculated by the density module into an image. 제 1항에 있어서,The method of claim 1, 상기 입자는 복수 개이며, The particle is a plurality of, 상기 텍스쳐 모듈은 상기 복수 개의 입자 각각에 서로 상이한 텍스쳐를 적용하는 것을 특징으로 하는 유체 유동 렌더링 시스템.And the texture module applies a different texture to each of the plurality of particles. 제 1항에 있어서,The method of claim 1, 상기 속도 모듈에 저장된 속도를 이용하여 상기 하나 이상의 입자의 방향을 산출하고, 산출된 방향에 따라 상기 하나 이상의 입자에 적용된 텍스쳐를 회전시키는 회전 모듈을 더 포함하는 것을 특징으로 하는 유체 유동 렌더링 시스템.And a rotation module for calculating a direction of the one or more particles using the speed stored in the speed module, and rotating the texture applied to the one or more particles according to the calculated direction. 제1 격자 형태로 분할된 유체의 복수 개의 시간 단계별 속도에 기초하여, 유체의 계산 영역에 위치하는 하나 이상의 입자의 위치를 상기 복수 개의 시간 단계별로 산출하는 단계; Calculating positions of one or more particles located in the calculation region of the fluid in the plurality of time steps based on a plurality of time step speeds of the fluid divided into a first lattice shape; 상기 하나 이상의 입자에 미리 설정된 텍스쳐를 적용하는 단계; 및Applying a preset texture to the one or more particles; And 상기 하나 이상의 입자가 위치한 영역을 제2 격자 형태로 분할하여 유체의 밀도를 상기 복수 개의 시간 단계별로 산출하는 단계를 포함하는 것을 특징으로 하는 유체 유동 렌더링 방법.And dividing the region in which the one or more particles are located in a second lattice form to calculate the density of the fluid in the plurality of time steps. 제 6항에 있어서,The method of claim 6, 상기 제1 격자 및 상기 제2 격자는 각각 하나 이상의 셀로 이루어지며, 상기 제2 격자는 상기 제1 격자보다 더 많은 개수의 셀을 포함하는 것을 특징으로 하는 유체 유동 렌더링 방법.Wherein the first grating and the second grating each consist of one or more cells, the second grating comprising a greater number of cells than the first grating. 제 6항에 있어서,The method of claim 6, 산출된 유체의 밀도를 이미지로 변환하는 단계를 더 포함하는 것을 특징으로 하는 유체 유동 렌더링 방법.And converting the calculated density of the fluid into an image. 제 6항에 있어서,The method of claim 6, 상기 입자는 복수 개이며, The particle is a plurality of, 상기 미리 설정된 텍스쳐를 적용하는 단계는 상기 복수 개의 입자 각각에 서로 상이한 텍스쳐를 적용하는 단계를 포함하는 것을 특징으로 하는 유체 유동 렌더링 방법.The applying of the preset textures includes applying different textures to each of the plurality of particles. 제 6항에 있어서,The method of claim 6, 상기 유체의 밀도를 상기 복수 개의 시간 단계별로 산출하는 단계 전에,Before calculating the density of the fluid in the plurality of time step, 상기 하나 이상의 입자의 속도로부터 각속도를 산출하는 단계; Calculating an angular velocity from the velocities of the one or more particles; 상기 하나 이상의 입자의 각속도로부터 방향을 산출하는 단계; 및Calculating a direction from the angular velocity of the at least one particle; And 산출된 방향에 따라 상기 하나 이상의 입자에 적용된 텍스쳐를 회전시키는 단계를 더 포함하는 것을 특징으로 하는 유체 유동 렌더링 방법.And rotating the texture applied to the one or more particles according to the calculated direction.
KR1020090056432A 2009-06-24 2009-06-24 System and method for rendering fluid flow KR101022491B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090056432A KR101022491B1 (en) 2009-06-24 2009-06-24 System and method for rendering fluid flow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090056432A KR101022491B1 (en) 2009-06-24 2009-06-24 System and method for rendering fluid flow

Publications (2)

Publication Number Publication Date
KR20100138073A KR20100138073A (en) 2010-12-31
KR101022491B1 true KR101022491B1 (en) 2011-03-16

Family

ID=43511591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090056432A KR101022491B1 (en) 2009-06-24 2009-06-24 System and method for rendering fluid flow

Country Status (1)

Country Link
KR (1) KR101022491B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538141B1 (en) * 2014-03-31 2015-07-23 동국대학교 산학협력단 Apparatus and method for simulating fluid processing correction of density of gas

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353303B1 (en) * 2012-07-09 2014-01-22 삼성전자주식회사 Graphics processing unit and image processing apparatus having graphics processing unit and image processing method using graphics processing unit
KR101579112B1 (en) * 2013-09-04 2016-01-04 삼성전자주식회사 Method and apparatus for processing image
US9384574B2 (en) 2013-09-04 2016-07-05 Samsung Electronics Co., Ltd. Image processing method and apparatus therefor
KR101671365B1 (en) * 2015-05-11 2016-11-01 동서대학교 산학협력단 Color mixing Implementation method of Similar liquefaction point groups
KR101671357B1 (en) * 2015-05-11 2016-11-01 동서대학교 산학협력단 Graphical presenting method of pseudo liquid emitting by point group with density attribute

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568562B1 (en) 2003-11-07 2006-04-07 강문구 A real-time simulation and rendering method for fluid flows using continuum fluid mechanics and volume rendering techniques
KR100568563B1 (en) 2003-11-04 2006-04-07 강문구 A real-time simulation and rendering method for fluid flows using particle dynamics and volume rendering techniques
KR100568564B1 (en) 2003-12-01 2006-04-07 강문구 A real-time simulation and rendering method for fluid effects using mesh-free simulation technique

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568563B1 (en) 2003-11-04 2006-04-07 강문구 A real-time simulation and rendering method for fluid flows using particle dynamics and volume rendering techniques
KR100568562B1 (en) 2003-11-07 2006-04-07 강문구 A real-time simulation and rendering method for fluid flows using continuum fluid mechanics and volume rendering techniques
KR100568564B1 (en) 2003-12-01 2006-04-07 강문구 A real-time simulation and rendering method for fluid effects using mesh-free simulation technique

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538141B1 (en) * 2014-03-31 2015-07-23 동국대학교 산학협력단 Apparatus and method for simulating fluid processing correction of density of gas
WO2015152456A1 (en) * 2014-03-31 2015-10-08 동국대학교 산학협력단 Apparatus and method for fluid simulation for performing correction of gas density

Also Published As

Publication number Publication date
KR20100138073A (en) 2010-12-31

Similar Documents

Publication Publication Date Title
Kato et al. Neural 3d mesh renderer
US7450122B2 (en) Volumetric hair rendering
JP4364409B2 (en) How to model graphic objects interactively using linked and unlinked surface elements
Macklin et al. Local optimization for robust signed distance field collision
KR101022491B1 (en) System and method for rendering fluid flow
US9747668B2 (en) Reconstruction of articulated objects from a moving camera
Kang et al. An efficient animation of wrinkled cloth with approximate implicit integration
KR100915574B1 (en) Remeshing apparatus and method to restore sharp features of surface mesh smoothed enough
Koh et al. A simple physics model to animate human hair modeled in 2D strips in real time
KR102215101B1 (en) Method and Apparatus for Generating Point Cloud Using Feature of Object Acquired from Image
CN105261069A (en) GPU-based automatic generation and collision detection method for soft tissue organ metaball model
CN104299259A (en) Dynamic interpolation method and sea surface scene generation method
CN106210696B (en) A kind of method and device of real-time virtual View Synthesis
Vyatkin Method of binary search for image elements of functionally defined objects using graphics processing units
CN104463934A (en) Automatic generation method for point set model animation driven by mass point-spring system
US10861174B2 (en) Selective 3D registration
JP5400802B2 (en) Contact simulation method and apparatus using layered depth images
KR102454180B1 (en) Apparatus and method for generating 3d geographical data
JP3084659B1 (en) 3D fluid data visualization processing method
Jeon et al. Enhanced FFD-AABB collision algorithm for deformable objects
Kil et al. 3D warp brush modeling
KR101673442B1 (en) The method and apparatus for remeshing visual hull approximation by DBSS(displaced butterfly subdivision surface)
CN110047145A (en) Metaplasia simulation system and method based on deep learning and finite element modeling
Linsen et al. Smoothviz: Visualization of smoothed particles hydrodynamics data
Choi et al. Image morphing using mass-spring system

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
FPAY Annual fee payment

Payment date: 20140310

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150309

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160412

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200309

Year of fee payment: 10