KR102187066B1 - Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method - Google Patents

Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method Download PDF

Info

Publication number
KR102187066B1
KR102187066B1 KR1020180067155A KR20180067155A KR102187066B1 KR 102187066 B1 KR102187066 B1 KR 102187066B1 KR 1020180067155 A KR1020180067155 A KR 1020180067155A KR 20180067155 A KR20180067155 A KR 20180067155A KR 102187066 B1 KR102187066 B1 KR 102187066B1
Authority
KR
South Korea
Prior art keywords
reaction
diffusion
medium
lattice
equation
Prior art date
Application number
KR1020180067155A
Other languages
Korean (ko)
Other versions
KR20190140568A (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 KR1020180067155A priority Critical patent/KR102187066B1/en
Publication of KR20190140568A publication Critical patent/KR20190140568A/en
Application granted granted Critical
Publication of KR102187066B1 publication Critical patent/KR102187066B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B5/00ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Physiology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

격자-볼츠만 기법에 기반한 반응-확산 모델링 방법 및 그 장치를 제공한다. 반응-확산 모델링 장치는, 격자-볼츠만 기법에 따른 반응-확산 모델링 프로그램이 저장된 메모리, 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 프로세서는 상기 반응-확산 모델링 프로그램의 실행에 따라, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하고, 설정된 매질에 대해 반응-확산 모델을 통해 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 이방성 제어를 적용한 시뮬레이션 및 흐름저항력을 적용한 시뮬레이션 중 적어도 하나의 시뮬레이션을 수행하며, 시뮬레이션의 결과로서 생성된 패턴을 출력한다.A reaction-diffusion modeling method and apparatus based on the lattice-Boltzmann technique are provided. The reaction-diffusion modeling apparatus includes a memory in which a reaction-diffusion modeling program according to the lattice-Boltzmann technique is stored, and a processor that executes a program stored in the memory, and the processor is, according to the execution of the reaction-diffusion modeling program, the lattice- A reaction-diffusion model that calculates the diffusion process of the medium using the Boltzmann method, and a reaction-diffusion model that calculates the reaction process of the medium using the Gray-Scott model equation, and the reaction-diffusion model for a set medium When the region is divided into a plurality of grids, a simulation is performed on the medium through the change of the amount of the medium present in each grid, but at least one of a simulation applying anisotropic control and a simulation applying flow resistance is performed, The pattern generated as a result of the simulation is output.

Description

격자-볼츠만 기법에 기반한 반응-확산 모델링 방법 및 장치{METHOD AND APPARATUS OF REACTION-DIFFUSION MODELING BASED ON LATTICE BOLTZMANN METHOD}Reaction-diffusion modeling method and apparatus based on the lattice-Boltzmann technique {METHOD AND APPARATUS OF REACTION-DIFFUSION MODELING BASED ON LATTICE BOLTZMANN METHOD}

본 발명은 격자-볼츠만(lattice-boltzmann) 기법에 기반하여 반응-확산 패턴을 생성하는 반응-확산(reaction-diffusion) 모델링 방법 및 그 장치에 관한 것이다.The present invention relates to a reaction-diffusion modeling method and apparatus for generating a reaction-diffusion pattern based on a lattice-boltzmann technique.

컴퓨터 그래픽스 기술은 게임, 영화, 애니메이션 등에서 사용자가 콘텐츠에 몰입하고 즐거움을 느낄 수 있도록 만드는 '사실적인 영상미'에 중요한 역할을 하고 있다. 또한, 컴퓨터 그래픽스 기술이 발전함에 따라 더욱 사실적이고 높은 몰입감에 대한 수요가 증가하고 있기 때문에 관련 기술에 대한 연구가 필수적이다. Computer graphics technology plays an important role in the'realistic visual beauty' that enables users to immerse themselves in and enjoy content in games, movies, and animations. Also, as computer graphics technology develops, the demand for more realistic and high immersion is increasing, so research on related technologies is essential.

'사실적인 영상미'는 현실 세계에서 발견된 물리적인 계산을 통해 구현할 수 있다. 그러나 현실 세계처럼 모든 물리적인 계산을 고려한다면 많은 물리적, 시간적 비용이 발생하게 된다. 따라서 컴퓨터 그래픽스 기술에서는 가능하면 적은 비용의 물리적인 계산을 고려하면서도 사용자에게 최대한 사실적 만족감을 줄 수 있는 방향으로 개발되어 왔다.'Realistic visual beauty' can be realized through physical calculations found in the real world. However, as in the real world, if all physical calculations are considered, a lot of physical and time costs are incurred. Therefore, in computer graphics technology, it has been developed in a way that can give maximum realistic satisfaction to users while considering physical calculations with as little cost as possible.

이를 위해 사용된 방법 중 하나로, 텍스처를 이용한 방법이 있다. 예를 들어, 무늬가 있는 3D 객체를 모델링할 때에 2D 텍스처를 매핑해 보다 쉽게 객체 표면의 무늬를 나타낼 수 있도록 한다. 또한, 복잡한 표면을 갖는 3D 객체는 복잡한 표면을 수작업으로 모델링하는 것이 아니라 질감을 나타낼 수 있는 텍스처를 이용해 실제로 복잡한 표면을 갖고 있는 것처럼 보이게 해준다. 이와 같이 사용되는 텍스처는, 실제 촬영물을 보정하여 제작할 수도 있고 직접 컴퓨터 툴을 이용해 그려서 제작할 수도 있다. 하지만 가장 쉽고 효과적인 방법은 반응-확산 모델을 통해 제작하는 것이다. One of the methods used for this is a method using textures. For example, when modeling a patterned 3D object, a 2D texture is mapped to make it easier to represent the pattern on the object's surface. In addition, a 3D object with a complex surface makes it look like it actually has a complex surface by using a texture that can represent a texture rather than manually modeling the complex surface. The texture used in this way can be produced by correcting the actual photographed material or by drawing it directly using a computer tool. However, the easiest and most effective way is to build it through a reaction-diffusion model.

한편, 자연에서는 나뭇잎이 자라는 모양, 사람의 손가락이나 생물의 촉수가 자라나는 모양, 나비 날개의 무늬 등을 통해 다양한 패턴들을 발견할 수 있다. 이러한 패턴들은 생물학적 패턴이라고 하는데, Alan Turing은 두 가지의 과정을 통해 이러한 패턴들이 생성될 수 있음을 보였다. 그 두 가지의 과정을 반응과 확산이라고 하며, 이러한 물리적인 과정을 통해 생물학적 패턴을 만들어 내는 모델을 반응-확산 모델이라고 한다. On the other hand, in nature, various patterns can be found through the pattern of growing leaves, the shape of human fingers or the tentacles of living things, and the pattern of butterfly wings. These patterns are called biological patterns, and Alan Turing has shown that these patterns can be created through two processes. The two processes are called reaction and diffusion, and a model that creates biological patterns through these physical processes is called a reaction-diffusion model.

이러한 반응-확산 모델을 통해 패턴을 생성하는 기법은 Greg Turk과 Andrew Witkin등에 의해 텍스처 합성 분야에 활용되기 시작했다. Greg Turk은 반응-확산 모델을 통해 다양한 동물의 피부 패턴을 생성해 사용할 수 있도록 하였고, Andrew Witkin은 패턴의 방향성을 컨트롤할 수 있는 모델을 제시하였다. 반응-확산 모델은 시간에 따라 변화하는 노이즈 이미지 생성과 흥미롭고 다양한 패턴들을 생성하는 데에 사용되며, 패턴들은 3D 모델의 텍스처 합성 또는 질감 표현이나 아티스트들의 예술적 표현에 사용되어 왔다.The technique of generating patterns through this reaction-diffusion model began to be used in the field of texture synthesis by Greg Turk and Andrew Witkin. Greg Turk created and used various animal skin patterns through a reaction-diffusion model, and Andrew Witkin proposed a model that could control the orientation of the pattern. Reaction-diffusion models are used to generate noise images that change over time and to create interesting and diverse patterns, and patterns have been used for texture synthesis or texture expression of 3D models, or artistic expressions of artists.

일반적으로 반응-확산 모델에서는 서로 다른 유체들이 어떻게 반응하게 될지에 대한 반응식을 정의한다. 이때, 유체의 확산은 다양한 방법으로 시도될 수 있는데 확산 방법에 따라서도 결과의 차이가 존재한다. 기존의 반응-확산 모델은 주로 유체의 확산을 유한차1분법을 기반으로 하여 계산하는 방식으로서, 반응 계수 값만을 조절하여 여러 가지의 패턴을 생성해냈다. In general, reaction-diffusion models define reaction equations for how different fluids will react. At this time, diffusion of the fluid can be attempted in various ways, but there are differences in results depending on the diffusion method. Existing reaction-diffusion models mainly calculate the diffusion of fluids based on the finite difference fractional method, and generate various patterns by adjusting only the reaction coefficient values.

그러나 더 다양하고 동적인 패턴을 생성할 수 있도록 패턴의 양상을 제어할 수 있는 기술이 필요하다. 특히, 콘텐츠의 사실적인 영상미 또는 아티스트의 예술적인 표현에 사용될 수 있도록, 다양하고 동적인 텍스처를 생성하는 반응-확산 패턴의 양상 제어 방법이 필요하다.However, there is a need for a technology capable of controlling the patterns of patterns so that more diverse and dynamic patterns can be created. In particular, there is a need for a method of controlling the aspect of a reaction-diffusion pattern that generates various and dynamic textures so that it can be used for realistic image beauty of content or artistic expression of an artist.

미국공개특허 제2017-0255745호(발명의 명칭: System and Method for Medical Image Based Cardio-Embolic Stroke Risk Prediction)US Patent Publication No. 2017-0255745 (Name of invention: System and Method for Medical Image Based Cardio-Embolic Stroke Risk Prediction)

본 발명의 일 실시예는 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 반응-확산 모델에서 반응식의 반응 계수만을 조절하는 것이 아니라 패턴의 양상을 지역적으로 제어함으로써 보다 더 다양하고 사용자가 원하는 양상으로 패턴을 생성할 수 있는, 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법 및 장치를 제공하고자 한다. An embodiment of the present invention is to solve the problems of the prior art described above, and not only control the reaction coefficient of the reaction equation in the reaction-diffusion model, but by controlling the pattern pattern locally, It is intended to provide a reaction-diffusion modeling method and apparatus based on the lattice-Boltzmann technique that can generate patterns.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법은, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하는 단계; 설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 이방성 제어를 적용하여 시뮬레이션하는 단계; 및 상기 시뮬레이션의 결과로서 생성된 패턴을 출력하는 단계를 포함하고, 사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정되며, 상기 이방성 제어는 복수의 기설정된 방향 중 특정 방향으로 이동하는 상기 분자들의 반응의 크기를 제어하는 이방성 함수를 상기 확산 과정에 적용한다.As a technical means for achieving the above-described technical problem, the reaction-diffusion modeling method based on the lattice-Boltzmann technique according to the first aspect of the present invention calculates the diffusion process of the medium using the lattice-Boltzmann technique, and gray- Modeling a reaction-diffusion model for calculating the reaction process of the medium using the Scott model equation; When a region in which the medium exists is divided into a plurality of grids through the reaction-diffusion model for a set medium, a simulation is performed on the medium through a change in the amount of the medium present in each grid, but anisotropic control is applied. To simulate; And outputting a pattern generated as a result of the simulation, wherein the number of a plurality of directions each of the molecules of the medium existing in the lattice has is set in advance, and the anisotropy control is performed in a specific direction among a plurality of preset directions. An anisotropic function that controls the magnitude of the reaction of the molecules moving in the direction is applied to the diffusion process.

또한, 본 발명의 제2 측면에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법은, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하는 단계; 설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 흐름저항력을 적용하여 시뮬레이션하는 단계; 및 상기 시뮬레이션의 결과로서 생성된 패턴을 출력하는 단계를 포함하고, 사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정되며, 매질이 다른 셀로 이동하는 양을 조절하는 스타일 맵에 따른 상기 흐름저항력을 상기 매질의 확산 과정에 적용하되, 상기 매질이 이동하려는 셀과 대응된 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동된 매질의 양이 적어지고, 상기 스타일 맵은 상기 매질이 확산될 수 있는 영역과 동일한 해상도를 갖는 정지 이미지로서 픽셀 한 칸 마다 흐름저항력의 값이 설정된다.In addition, the reaction-diffusion modeling method based on the lattice-Boltzmann technique according to the second aspect of the present invention calculates the diffusion process of the medium using the lattice-Boltzmann technique, and the reaction process of the medium using the Gray-Scott model equation. Modeling a reaction-diffusion model that calculates When the region in which the medium exists is divided into a plurality of grids through the reaction-diffusion model for a set medium, a simulation is performed on the medium through a change in the amount of the medium present in each grid, but the flow resistance is applied. To simulate; And outputting a pattern generated as a result of the simulation, wherein the number of directions each of the molecules of the medium existing in the lattice has in advance is set, and the amount of the medium moves to another cell is controlled. The flow resistance according to the map is applied to the diffusion process of the medium, but the greater the flow resistance at a location on the style map corresponding to the cell to which the medium is to be moved, the smaller the amount of the moved medium, and the style map shows that the medium is As a still image having the same resolution as the area that can be diffused, the value of the flow resistance is set for each pixel.

또한, 본 발명의 제3 측면에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델링 장치는, 격자-볼츠만 기법에 따른 반응-확산 모델링 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 상기 프로세서는 상기 반응-확산 모델링 프로그램의 실행에 따라, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하고, 설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 이방성 제어를 적용한 시뮬레이션 및 흐름저항력을 적용한 시뮬레이션 중 적어도 하나의 시뮬레이션을 수행하며, 상기 시뮬레이션의 결과로서 생성된 패턴을 출력한다. 이때, 사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정된다. 또한, 상기 이방성 제어는 복수의 기설정된 방향 중 특정 방향으로 이동하는 상기 분자들의 반응의 크기를 제어하는 이방성 함수를 상기 확산 과정에 적용한다. 또한, 매질이 다른 셀로 이동하는 양을 조절하는 스타일 맵에 따른 상기 흐름저항력이 상기 매질의 확산 과정에 적용되며, 상기 매질이 이동하려는 셀과 대응된 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동된 매질의 양이 적어지고, 상기 스타일 맵은 상기 매질이 확산될 수 있는 영역과 동일한 해상도를 갖는 정지 이미지로서 픽셀 한 칸 마다 흐름저항력의 값이 설정된다.In addition, a response-diffusion modeling apparatus based on a lattice-Boltzmann technique according to a third aspect of the present invention includes: a memory storing a reaction-diffusion modeling program according to the lattice-Boltzmann technique; And a processor that executes a program stored in the memory, wherein the processor calculates a diffusion process of the medium using a lattice-Boltzmann technique according to execution of the reaction-diffusion modeling program, and uses a Gray-Scott model equation. A reaction-diffusion model that calculates the reaction process of the medium is modeled, and the amount of medium present in each grid is divided into a plurality of grids through the reaction-diffusion model for a set medium. A simulation of the medium is performed through the change of, but at least one of a simulation to which anisotropic control is applied and a simulation to which flow resistance is applied is performed, and a pattern generated as a result of the simulation is output. In this case, the number of directions in each of the molecules of the medium existing in the lattice is set in advance. In addition, in the anisotropy control, an anisotropic function for controlling the magnitude of a reaction of the molecules moving in a specific direction among a plurality of preset directions is applied to the diffusion process. In addition, the flow resistance according to the style map that controls the amount of the medium moving to another cell is applied to the diffusion process of the medium, and the larger the flow resistance at a position on the style map corresponding to the cell to which the medium is moving, the moved medium The amount of is reduced, and the style map is a still image having the same resolution as a region in which the medium can be diffused, and a value of the flow resistance is set for each pixel.

또한, 본 발명의 제 4 측면은 상기 제1 측면 및 제 2측면 중 어느 하나의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공한다.Further, a fourth aspect of the present invention provides a computer-readable recording medium in which a program for implementing any one of the first and second aspects is recorded.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 컴퓨터 그래픽의 3D 모델링 시에 텍스처의 사실적인 질감 등을 표현하기 위해 사용되는 반응-확산 모델에서, 패턴의 양상을 변화시키는 데에 있어서 반응 계수 값만을 조정하는 것이 아닌 확산 방향성 또는 흐름저항력이라는 제약 조건을 적용시켜 패턴의 양상을 다양하게 제어 및 변화시킬 수 있다. 즉, 기존의 유한차분법에 비해 지역적 제어가 용이한 반응-확산 모델을 통해, 유체의 흐름 또는 반응에 확산 방향성을 부여하는 이방성 제어 방식과 스타일맵을 통해 흐름저항력을 적용하는 방식을 통해 더욱 다양한 패턴의 생성이 가능하다.According to any one of the above-described problem solving means of the present invention, in a reaction-diffusion model used to express a realistic texture of a texture during 3D modeling of computer graphics, a response coefficient in changing the pattern of the pattern By applying constraints such as diffusion direction or flow resistance, not just the value, the pattern can be variously controlled and changed. In other words, through a reaction-diffusion model that is easier to control locally than the existing finite difference method, anisotropic control method that gives diffusion direction to the flow or reaction of fluid, and a method that applies flow resistance through a style map Pattern creation is possible.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 반응-확산 모델에서 패턴 양상 변화 시 사용자가 제약 조건을 설정 및 조절할 수 있어, 사용자가 원하는 경향의 패턴을 생성할 수 있다.In addition, according to any one of the problem solving means of the present invention, when the pattern aspect changes in the reaction-diffusion model, the user can set and adjust the constraint condition, so that the user can generate the pattern of the desired trend.

도 1은 본 발명의 일 실시예에 따른 반응-확산 모델링 장치의 구성도이다.
도 2 및 도 3은 본 발명의 일 실시예에 적용된 격자-볼츠만 기법을 설명하기 위한 도면이다.
도 4는 기존의 유한차분법 기반 그레이-스콧 반응-확산 모델의 시뮬레이션 결과를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델의 시뮬레이션 결과의 일례를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 이방성 제어를 적용한 반응-확산 모델의 시뮬레이션 결과의 일례를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 스타일 맵에 따른 흐름저항력을 적용한 반응-확산 모델의 시뮬레이션 결과의 일례를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법을 설명하기 위한 순서도이다.
1 is a block diagram of a reaction-diffusion modeling apparatus according to an embodiment of the present invention.
2 and 3 are diagrams for explaining a lattice-Boltzmann technique applied to an embodiment of the present invention.
4 is a diagram showing a simulation result of a gray-Scott response-diffusion model based on a conventional finite difference method.
5 is a diagram showing an example of a simulation result of a response-diffusion model based on a lattice-Boltzmann technique according to an embodiment of the present invention.
6 is a diagram showing an example of a simulation result of a reaction-diffusion model to which anisotropic control is applied according to an embodiment of the present invention.
7 is a view showing an example of a simulation result of a reaction-diffusion model to which a flow resistance force according to a style map is applied according to an embodiment of the present invention.
8 is a flowchart illustrating a reaction-diffusion modeling method based on a lattice-Boltzmann technique according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 도면을 참고하여 설명하면서, 같은 명칭으로 나타낸 구성일지라도 도면에 따라 도면 번호가 달라질 수 있고, 도면 번호는 설명의 편의를 위해 기재된 것에 불과하고 해당 도면 번호에 의해 각 구성의 개념, 특징, 기능 또는 효과가 제한 해석되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly describe the present invention, parts irrelevant to the description are omitted in the drawings, and similar reference numerals are assigned to similar parts throughout the specification. In addition, while describing with reference to the drawings, the drawing numbers may vary depending on the drawings even if the configuration is indicated by the same name, and the drawing numbers are only described for convenience of description, and the concept, features, and functions of each configuration are indicated by the corresponding drawing numbers. Or the effect is not to be interpreted as limiting.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included, and one or more other components are not excluded unless specifically stated to the contrary. It is to be understood that the presence or addition of features, numbers, steps, actions, elements, parts, or combinations thereof, does not preclude the possibility of preliminary exclusion.

본 명세서에 있어서 '부(部)' 또는 '모듈'이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다.In this specification, the term'section' or'module' includes a unit realized by hardware or software, and a unit realized using both, and one unit is realized using two or more hardware. Alternatively, two or more units may be realized by one piece of hardware.

도 1은 본 발명의 일 실시예에 따른 반응-확산 모델링 장치의 구성도이다.1 is a block diagram of a reaction-diffusion modeling apparatus according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 반응-확산 모델링 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.As shown in FIG. 1, the reaction-diffusion modeling apparatus 100 includes a memory 110 and a processor 120.

메모리(110)에는 격자-볼츠만 기법에 기반한 반응-확산 모델을 모델링하고, 모델링된 반응-확산 모델을 통해 패턴을 생성하는 반응-확산 모델링 프로그램이 저장되어 있다. 이러한 반응-확산 모델링 프로그램의 실행을 통해 처리되는 반응-확산 모델링 과정 및 패턴 생성 과정에 대해서는 아래에서 프로세서(120)의 동작을 통해 상세히 설명하도록 한다.The memory 110 stores a reaction-diffusion modeling program that models a reaction-diffusion model based on the lattice-Boltzmann technique, and generates a pattern through the modeled reaction-diffusion model. The reaction-diffusion modeling process and pattern generation process processed through the execution of the reaction-diffusion modeling program will be described in detail through the operation of the processor 120 below.

메모리(110)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 또는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The memory 110 collectively refers to a nonvolatile storage device that continuously maintains stored information even when power is not supplied or a volatile storage device that requires power to maintain stored information.

프로세서(120)는 반응-확산 모델링 장치(100)의 전반적인 동작을 제어한다. 이를 위해, 프로세서(120)는 적어도 하나의 프로세싱 유닛(CPU, micro-processor, DSP 등), RAM(Random Access Memory), ROM(Read-Only Memory) 등을 포함하여 구현될 수 있으며, 메모리(110)에 저장된 프로그램을 RAM으로 독출하여 적어도 하나의 프로세싱 유닛을 통해 실행할 수 있다. 한편, 실시예에 따라서 ‘제어부’ 라는 용어는 '프로세서', '컨트롤러', '연산 장치' 등의 용어와 동일한 의미로 해석될 수 있다.The processor 120 controls the overall operation of the reaction-diffusion modeling apparatus 100. To this end, the processor 120 may be implemented by including at least one processing unit (CPU, micro-processor, DSP, etc.), random access memory (RAM), read-only memory (ROM), and the like, and the memory 110 The program stored in) can be read into RAM and executed through at least one processing unit. Meanwhile, according to embodiments, the term “control unit” may be interpreted as the same meaning as terms such as “processor”, “controller”, and “operation device”.

프로세서(120)는 메모리(110)에 저장된 반응-확산 모델링 프로그램을 실행하며, 이를 통해 매질(예: 유체)의 흐름 및 반응에 대해 이방성 제어 및 흐름저항력 적용한 패턴 생성 동작을 처리한다.The processor 120 executes a reaction-diffusion modeling program stored in the memory 110, and processes an anisotropic control for the flow and reaction of a medium (eg, fluid) and a pattern generation operation in which flow resistance is applied.

프로세서(120)는 반응-확산 모델링 프로그램을 실행함에 따라 다음의 동작을 처리한다.The processor 120 processes the following operations as the reaction-diffusion modeling program is executed.

반응-확산 모델은 두 가지의 과정으로 나뉜다. 이러한 두 과정은 매질 또는 물질이 퍼져나가는 과정인 '확산 과정'과, 서로 다른 매질 또는 물질이 반응을 일으키는 '반응 과정'이다. 프로세서(120)는 확산 과정을 계산하는 방법으로서, 지역적으로 세밀하게 제어가 가능한 격자-볼츠만 방법을 사용할 수 있다. 또한, 프로세서(120)는 반응 과정을 계산하는 식으로서 반응식에 대해 직관적인 이해가 가능한 그레이-스콧 모델식을 사용할 수 있다.The reaction-diffusion model is divided into two processes. These two processes are a'diffusion process', a process in which a medium or substance spreads out, and a'reaction process' in which different mediums or substances cause a reaction. As a method of calculating the diffusion process, the processor 120 may use a lattice-Boltzmann method that can be precisely controlled locally. In addition, the processor 120 may use a Gray-Scott model equation capable of intuitive understanding of the reaction equation as an equation for calculating the reaction process.

먼저, 프로세서(120)가 확산 과정을 계산하는 동작에 대해서 설명하도록 한다.First, an operation of calculating the spreading process by the processor 120 will be described.

참고로, 유체를 시뮬레이션하는 방법은, 크게 오일러(Eulerian) 관점에서의 방법과 라그랑지안(Lagrangian) 관점에서의 방법으로 나눌 수 있다. 오일러 관점에서는 유체가 존재할 수 있는 영역을 격자들로 나누어 각각의 격자에 존재하는 유체의 양을 통해 유체를 시뮬레이션한다. 반면, 라그랑지안 관점에서는 유체 분자 하나 하나의 움직임을 통해 유체를 시뮬레이션한다. 이러한 오일러 관점의 시뮬레이션 방법에는 유한차분법(FDM: Finite Differential Method)과 격자-볼츠만 방법(LBM: Lattice Boltzmann Method)이 있다. 이때, 유한차분법에 비해 격자-볼츠만 방법은 유체의 움직임을 계산하는데에 있어서 주변 격자에 대한 정보가 필요하지 않기 때문에 병렬 처리를 이용해 계산 속도를 더 빠르게 할 수 있으며, 보다 더 미시적인 접근으로 지역적인 제어가 용이하다.For reference, a method of simulating a fluid can be largely divided into a method from an Euler perspective and a method from a Lagrangian perspective. From Euler's point of view, a fluid is simulated by dividing the area where the fluid can exist into grids and using the amount of fluid present in each grid. On the other hand, from the Lagrangian perspective, the fluid is simulated through the motion of each fluid molecule. Simulation methods from Euler's point of view include the Finite Differential Method (FDM) and the Lattice Boltzmann Method (LBM). At this time, compared to the finite difference method, the lattice-Boltzmann method does not require information about the surrounding lattice to calculate the motion of the fluid, so the computational speed can be faster by using parallel processing, and a more microscopic approach Easy to control.

기존의 반응-확산 모델에 적용된 유한차분법은 미분을 유한한 차분식으로 근사하여 해를 구하는 수치계산법으로서, 격자-볼츠만 방법과 같이 오일러 관점에서의 유체 시뮬레이션의 한 방법으로 그리드를 기반해 유체가 존재할 수 있는 공간을 격자로 나눈다. 그러나 격자 안의 유체 분자들이 어떤 방향을 갖고 있는지는 고려하지 않고 격자 안의 유체가 얼마만큼 있는지 만을 고려한다.The finite difference method applied to the existing reaction-diffusion model is a numerical calculation method that approximates the derivative with a finite difference equation to obtain a solution. Like the lattice-Boltzmann method, it is a method of fluid simulation from the Euler perspective. Divide the space that can exist into a grid. However, it does not consider the direction of the fluid molecules in the lattice, but only considers how much fluid there are in the lattice.

프로세서(120)는 격자-볼츠만 기법에 따라, 매질(이하, "유체" 인 것을 예로서 설명하도록 함)이 존재할 수 있는 영역을 격자로 나누고 하나의 격자에 존재하는 유체의 분자들이 가질 수 있는 방향을 몇 가지로 제한하여 유체를 시뮬레이션한다.According to the lattice-Boltzmann technique, the processor 120 divides a region where a medium (hereinafter, referred to as “fluid”) can exist into a lattice, and a direction that molecules of fluid existing in one lattice can have. The fluid is simulated by limiting to a few.

예를 들어, 도 2에 도시한 바와 같이, 정지 상태를 포함한 2차원일 경우 9가지의 방향을 고려할 수 있으며, 하나의 격자 안의 밀도는 1이 되는 것으로 상정한다. 또한, 3차원일 경우 19가지의 방향을 고려하는 것도 가능하며, 이 또한 하나의 격자 안의 밀도는 1이 되는 것으로 상정한다.For example, as shown in FIG. 2, nine directions can be considered in the case of two-dimensional including a stationary state, and it is assumed that the density in one grid is 1. In addition, in the case of three-dimensional, it is possible to consider 19 directions, and it is also assumed that the density in one grid is 1.

하나의 격자 안의 분자들이 갖는 방향의 비율을 각각 다르게 정하는데, 2차원의 9가지 방향일 경우 정지 상태는 4/9, 수직 방향은 1/9, 대각선 방향은 1/36 으로 비율을 갖는다. 또한, 3차원의19가지 방향일 경우, 정지 상태는 1/3, 수직 방향은 1/18, 대각선 방향은1/36 으로 비율을 갖는다.The ratio of directions of molecules in one lattice is determined differently. In the case of 9 two-dimensional directions, the ratio is 4/9 in the stationary state, 1/9 in the vertical direction, and 1/36 in the diagonal direction. In addition, in the case of 19 three-dimensional directions, the ratio is 1/3 in the stationary state, 1/18 in the vertical direction, and 1/36 in the diagonal direction.

이때, 2차원일 경우, 격자 안에서의 한 방향의 분포 함수 f는 아래의 수학식 1과 같으며, 분포 함수를 통해 아래 수학식 2와 같이 격자 하나의 밀도(ρ)를 계산할 수 있다.In this case, in the case of 2D, the distribution function f in one direction within the grid is equal to Equation 1 below, and the density ρ of one lattice can be calculated as Equation 2 below through the distribution function.

<수학식 1><Equation 1>

Figure 112018057329740-pat00001
Figure 112018057329740-pat00001

<수학식 2><Equation 2>

Figure 112018057329740-pat00002
Figure 112018057329740-pat00002

수학식 1 및 2에서, i는 분자의 방향,

Figure 112018057329740-pat00003
격자의 위치, t는 시간이다. 분포 함수는
Figure 112018057329740-pat00004
에 위치해 있는 격자에서 i 방향을 갖고 있는 분자들의 양을 의미하며, 한 격자의 모든 방향(즉, 9가지로 설정된 방향)에 대한 분포 함수 값을 합하면 해당 격자 안의 유체에 대한 밀도가 된다.In Equations 1 and 2, i is the direction of the molecule,
Figure 112018057329740-pat00003
The position of the grid, t is the time. The distribution function is
Figure 112018057329740-pat00004
It means the amount of molecules in the i-direction in the lattice located at, and the sum of the distribution function values for all directions of one lattice (that is, the directions set to nine) gives the density of the fluid in the lattice.

격자-볼츠만 방법에서 유체의 흐름은 병진 과정과 충돌 과정으로 나뉜다. 병진 과정을 통해서 각 격자의 분자들은 다음 격자로 이동하게 된다. 병진 과정에 대한 식은 다음의 수학식 3과 같다.In the lattice-Boltzmann method, the flow of fluid is divided into a translation process and a collision process. Through the translation process, the molecules of each lattice move to the next lattice. The expression for the translation process is shown in Equation 3 below.

<수학식 3><Equation 3>

Figure 112018057329740-pat00005
Figure 112018057329740-pat00005

수학식 3에서,

Figure 112018057329740-pat00006
는 시간 변화량으로서 격자-볼츠만 방법에서는 보통 1을 사용하며,
Figure 112018057329740-pat00007
는 j방향의 단위 벡터이고, j는 i의 반대 방향이다. 즉, 다음 시간에서 해당 격자의 i 방향에 해당하는 밀도 값은 i의 반대 방향으로 한 칸 건너간 격자의 i 방향의 밀도 값이 된다.In Equation 3,
Figure 112018057329740-pat00006
Is the amount of time change, usually 1 in the Lattice-Boltzmann method,
Figure 112018057329740-pat00007
Is the unit vector in the j direction, and j is the opposite direction of i. That is, the density value corresponding to the i-direction of the corresponding grid at the next time becomes the density value of the i-direction of the grid crossed one space in the opposite direction of i.

병진 과정 후에 충돌 과정을 통해서는 분자들이 다음 격자로 이동하면서 발생한 충돌을 조정하고 한 격자 안의 전체적인 흐름을 반영한다. 이러한 충돌 과정은 다음의 수학식 4 내지 6을 통해 나타낼 수 있다.After the translation process, the collision process adjusts the collisions that occur as molecules move to the next grid and reflects the overall flow within one grid. This collision process can be represented through Equations 4 to 6 below.

<수학식 4><Equation 4>

Figure 112018057329740-pat00008
Figure 112018057329740-pat00008

<수학식 5><Equation 5>

Figure 112018057329740-pat00009
Figure 112018057329740-pat00009

<수학식 6><Equation 6>

Figure 112018057329740-pat00010
Figure 112018057329740-pat00010

이때,

Figure 112018057329740-pat00011
는 평형 분포 함수이고,
Figure 112018057329740-pat00012
는 해당 격자에서의 분자들의 전체적인 속도이고,
Figure 112018057329740-pat00013
는 방향에 대한 가중 함수이며, "i=0"은 정지 상태, "i=1, 2, 3, 4"는 수직 방향, "i=5, 6, 7, 8"은 대각선 방향이다.At this time,
Figure 112018057329740-pat00011
Is the equilibrium distribution function,
Figure 112018057329740-pat00012
Is the overall velocity of the molecules in that lattice,
Figure 112018057329740-pat00013
Is the weighting function for the direction, "i=0" is the stationary state, "i=1, 2, 3, 4" is the vertical direction, and "i=5, 6, 7, 8" is the diagonal direction.

예를 들어, 도 3을 참조하면, 파란색 화살표의 방향을 i 방향이라고 했을 때, 해당 격자의 i 방향의 반대 방향은 왼쪽 아래이므로, 왼쪽 아래 격자의 i 방향인 빨간색 화살표가 해당 격자로 이동하게 되고, 이와 마찬가지로 파란색 화살표는 오른쪽 위의 격자로 이동하게 된다.For example, referring to FIG. 3, when the direction of the blue arrow is the i-direction, the opposite direction of the i-direction of the corresponding grid is the lower left, so the red arrow, which is the i-direction of the lower left grid, moves to the corresponding grid. Likewise, the blue arrow moves to the upper right grid.

이상에서와 같은 격자-볼츠만 기법을 통해 확산되어지는 매질(예: 유체)은 시뮬레이션 영역을 벗어나려고 하거나 시뮬레이션 영역 안의 장애물에 부딪힐 수가 있다. 이때, 이와 같은 현상을 처리하는 것을 경계면 처리라고 한다. The medium (eg fluid) that is diffused through the lattice-Boltzmann technique as described above may try to leave the simulation area or hit an obstacle in the simulation area. At this time, processing such a phenomenon is referred to as boundary surface processing.

이를 처리하기 위한 경계면으로서 노 슬립 경계면(no-slip boundary)과 주기적 경계면(periodic boundary)이 있다. 노 슬립 경계면은 유체가 경계면에 부딪혔을 때, 경계면에 대한 유체의 상대 속도가 0이 되도록 하고, 주기적 경계면은 도메인의 상하 및 좌우가 각각 연결되어 있어 도메인의 크기가 무한하다고도 볼 수 있다. As an interface for processing this, there are a no-slip boundary and a periodic boundary. The no-slip interface allows the relative velocity of the fluid with respect to the interface to be 0 when the fluid hits the interface, and the periodic interface can be regarded as infinite in size because the vertical and horizontal domains are connected respectively.

본 발명의 일 실시예에서는 프로세서(120)가 노 슬립 경계면을 구현하여 유체가 경계면에 부딪혔을 때, 부딪혔을 때의 방향과 정확히 반대가 되는 방향으로 유체의 흐름이 바뀌도록 한 것을 설명한다.In an embodiment of the present invention, it is described that the processor 120 implements a no-slip interface so that when the fluid hits the interface, the flow of the fluid changes in a direction that is exactly opposite to the direction when the fluid hits the interface.

다음으로, 프로세서(120)가 반응 과정을 계산하는 동작에 대해서 설명하도록 한다.Next, an operation of calculating the reaction process by the processor 120 will be described.

반응-확산 모델링 시 사용될 수 있는 반응식은 한정적이지 않으나, 본 발명의 일 실시예에서는 직관적 이해가 뛰어난 그레이-스콧 반응식을 이용하여 반응-확산 모델을 구현하는 것을 설명하도록 한다.The reaction equation that can be used in the reaction-diffusion modeling is not limited, but in an embodiment of the present invention, the implementation of the reaction-diffusion model will be described using a Gray-Scott reaction equation with excellent intuitive understanding.

그레이-스콧 반응-확산 모델에서는 기본적으로 두 가지의 물질을 반응시킨다. 이때, 해당하는 두 가지의 물질을 각각 A, B라고 하면, A는 단위 시간이 지날 때마다 일정한 비율로 공급이 되고, B는 소멸이 된다. 그와 동시에 B분자 2개와 A분자 1개가 있으면 반응을 일으켜 A분자는 B분자가 된다. The Gray-Scott reaction-diffusion model basically reacts two substances. At this time, if the corresponding two substances are respectively A and B, A is supplied at a constant rate each time the unit time elapses, and B is extinguished. At the same time, if there are 2 molecules B and 1 molecule A, a reaction occurs, and molecule A becomes molecule B.

이에 따른 물질 A와 B에 대한 반응식은 아래의 수학식 7과 같이 나타낼 수 있다.Accordingly, the reaction equation for substances A and B can be expressed as Equation 7 below.

<수학식 7><Equation 7>

Figure 112018057329740-pat00014
Figure 112018057329740-pat00014

수학식 7에서 A와 B는 각각 두 물질에 대해 확산을 적용시킨 후의 값이며, f는 A의 공급률, k는 B의 소멸율이며, r은 두 물질의 반응속도이다.In Equation 7, A and B are values after diffusion is applied to each of the two materials, f is the feed rate of A, k is the extinction rate of B, and r is the reaction rate of the two materials.

참고로, 기존의 유한차분법에 기반한 그레이 스콧 반응-확산 모델 식은 다음의 수학식 8과 같다.For reference, the Gray Scott reaction-diffusion model equation based on the existing finite difference method is shown in Equation 8 below.

<수학식 8><Equation 8>

Figure 112018057329740-pat00015
Figure 112018057329740-pat00015

이때, γ는 물질 A 또는 B를 나타내며, D γ 는 물질에 대한 확산 계수이고, R γ 는 물질에 대한 반응식이다.Here, γ represents the substance A or B, D γ is the diffusion coefficient for the substance, and R γ is the reaction equation for the substance.

도 4를 참조하면, 기존의 유한차분법에 기반한 그레이-스콧 반응-확산 모델의 결과이되, r=0.1이고, 해상도 64X64인 경우의 결과를 확인할 수 있다.Referring to FIG. 4, the result of the Gray-Scott response-diffusion model based on the existing finite difference method, r=0.1, and a resolution of 64X64.

반면, 본 발명의 일 실시예에 따른 격자-볼츠만 기법에 기반한 그레이-스콧 반응-확산 모델식은 다음의 수학식 9와 같다.On the other hand, the Grey-Scott reaction-diffusion model equation based on the lattice-Boltzmann technique according to an embodiment of the present invention is as Equation 9 below.

<수학식 9><Equation 9>

Figure 112018057329740-pat00016
Figure 112018057329740-pat00016

수학식 9에서 f ** 는 병진 과정 및 충돌 과정 후의 분포 함수이며, R γ 는 물질 γ에 대한 반응식이다.In Equation 9, f ** is a distribution function after a translation process and a collision process, and R γ is a reaction equation for a substance γ .

도 5를 참조하면, 본 발명의 일 실시예에 따른 격자-볼츠만 기법에 기반한 그레이-스콧 반응-확산 모델을 통한 패턴 생성의 결과를 확인할 수 있다. 이때, 가로축은 공급률이고, 세로축은 소멸율이며, 각각의 범위는 0.00~0.09이며 간격은 0.01인 것을 나타냈다. 또한, r=0.5이고, 해상도 64X64인 경우의 결과를 확인할 수 있다.Referring to FIG. 5, a result of pattern generation through a gray-Scott reaction-diffusion model based on a lattice-Boltzmann technique according to an embodiment of the present invention can be confirmed. At this time, the horizontal axis is the feed rate, the vertical axis is the extinction rate, and each range is 0.00 to 0.09, indicating that the interval is 0.01. In addition, the result can be confirmed when r=0.5 and the resolution is 64X64.

이하, 도 6 및 도 7을 참조하여, 프로세서(120)가 격자-볼츠만 기법에 기반한 반응-확산 모델에 대해 지역적 제어를 수행하여 패턴을 생성하는 방식에 대해서 설명하도록 한다.Hereinafter, with reference to FIGS. 6 and 7, a method of generating a pattern by performing local control on a response-diffusion model based on the lattice-Boltzmann technique will be described.

기존의 반응-확산 모델을 통한 패턴 생성 방식은 단순히 반응계수 값만을 조정하여 패턴을 생성하는 것에 그쳤다. 하지만 하나의 반응식 안에서는 대체적으로 비슷한 유형의 패턴이 존재하기 때문에 패턴의 움직임을 변화시킬 또 다른 방법이 필요하다. 따라서 프로세서(120)는 이방성 제어 및 흐름저항력 적용을 통해 매질(즉, 유체)의 흐름 또는 반응에 제약조건을 적용함으로써 패턴의 양상을 변화시킨다. 이때, 확산식은 보다 더 미시적인 관점으로 유체를 시뮬레이션하는 격자-볼츠만 방법을 사용하였다.The existing method of generating a pattern through a reaction-diffusion model has been limited to generating a pattern by simply adjusting the value of the reaction coefficient. However, because there are generally similar types of patterns within a single reaction equation, another way to change the movement of the pattern is needed. Accordingly, the processor 120 changes the pattern of the pattern by applying a constraint to the flow or reaction of the medium (ie, fluid) through anisotropy control and application of flow resistance. At this time, the diffusion equation used a lattice-Boltzmann method that simulates a fluid from a more microscopic point of view.

먼저, 프로세서(120)가 반응-확산 패턴 생성 시 이방성 제어를 처리하는 과정에 대해서 설명하도록 한다.First, a process of processing the anisotropy control when the processor 120 generates a reaction-diffusion pattern will be described.

앞서 설명한 바와 같이, 격자-볼츠만 방법에서는 하나의 격자 안에서 총 9개의 방향을 고려하고, 이러한 유체의 정보를 각 격자마다 9개의 방향으로 나누어 저장하는 것을 예로서 설명하도록 한다.As described above, in the lattice-Boltzmann method, a total of nine directions are considered in one lattice, and information of this fluid is divided into nine directions for each lattice and stored as an example.

프로세서(120)는 반응식을 계산하고 유체의 정보를 9개의 방향으로 나누어 저장할 때, 이방성 함수를 적용하여 특정 방향으로 이동하는 유체 분자들의 반응의 크기를 제어한다. 이처럼, 반응식에 이방성 함수를 적용한 식은 다음의 수학식 10과 같이 나타낼 수 있다.When the processor 120 calculates the reaction equation and stores the fluid information in nine directions, the processor 120 controls the magnitude of the reaction of the fluid molecules moving in a specific direction by applying an anisotropic function. In this way, the equation to which the anisotropic function is applied to the reaction equation can be expressed as Equation 10 below.

<수학식 10><Equation 10>

Figure 112018057329740-pat00017
Figure 112018057329740-pat00017

수학식 10에서, f ** 는 병진 과정 및 충돌 과정 이후의 분포 함수이고, a i 는 이방성 함수로서 i방향을 갖는 분자들이 얼마만큼의 반응을 일으킬지를 결정하고, R은 반응식, γ 는 물질 A 또는 B를 나타낸다.In Equation 10, f ** is a distribution function after a translation process and a collision process, a i is an anisotropic function, which determines how much reactions molecules in the i direction will cause, R is the reaction equation, and γ is the substance A Or B.

이처럼, 반응 과정에서 반응식을 통한 계산 결과를 물질량의 변화에 적용할 때, 이방성 함수를 함께 적용하여 반응의 양을 제어할 수 있다.In this way, when applying the calculation result through the reaction equation to the change in the amount of a substance in the reaction process, the amount of reaction can be controlled by applying an anisotropic function together.

예를 들어, 분자는 정지와 상/하/좌/우의 4가지 대각선 방향을 포함하여 총 9가지 방향 중 어느 하나의 방향을 가지며, 이방성 함수는 어떤 방향인지에 따라 반응의 양을 조절한다. 이때, 이방성 함수에는 각 9가지 방향에 대응된 9개의 값이 존재하며, 이 값은 아래의 수학식 11과 같이 나타낼 수 있다.For example, a molecule has a direction in any of 9 directions, including stationary and 4 diagonal directions, up/down/left/right, and the anisotropy function controls the amount of reaction depending on which direction. At this time, there are 9 values corresponding to each of the 9 directions in the anisotropic function, and this value can be expressed as Equation 11 below.

<수학식 11><Equation 11>

Figure 112018057329740-pat00018
Figure 112018057329740-pat00018

즉, 수학식 11의 a i 를 적용하면, 수학식 10의 이방성 함수에는 9개의 값 a 0 , a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 이 적용될 수 있다. 이때, 각 값은 0와 1 사이의 실수로 설정될 수 있으며, 값이 0이면 해당 방향을 갖는 분자는 반응이 일어나지 않게 된다. 또한, 이방성 함수의 값은 사용자에 의해 결정될 수 있다. 이를 위해, 프로세서(120)는 사용자가 이방성 제어에 적용할 이방성 함수 값을 입력할 수 있는 사용자 인터페이스를 제공할 수 있다.That is, when a i of Equation 11 is applied, 9 values a 0 , a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 are applied to the anisotropic function of Equation 10. I can. At this time, each value may be set as a real number between 0 and 1, and if the value is 0, a reaction does not occur in a molecule having a corresponding direction. Also, the value of the anisotropic function may be determined by the user. To this end, the processor 120 may provide a user interface through which a user can input an anisotropic function value to be applied to anisotropic control.

도 6을 참조하면, 이방성 제어 여부에 따른 패턴 생성 결과를 비교하기 위한 것으로서, f=0.06, k=0.04, r=0.7이고, 해상도는 256X256인 경우의 결과를 확인할 수 있다. Referring to FIG. 6, the result of pattern generation according to whether or not anisotropy is controlled is compared, and the result can be confirmed when f=0.06, k=0.04, r=0.7, and the resolution is 256X256.

이때, 도 6의 (a)는 이방성 제어를 적용하지 않았을 때의 패턴 생성 결과이고, (b)는 설정된 방향(예: +x방향)을 갖는 분자에 대해서만 반응이 일어나도록 이방성 제어를 적용한 패턴 생성 결과이다. At this time, Figure 6 (a) is the pattern generation result when the anisotropy control is not applied, and (b) is the pattern generation applying anisotropy control so that the reaction occurs only for molecules having a set direction (e.g., +x direction) It is the result.

도 6의 (b)에서와 같이 이방성 제어를 적용함으로써 격자-볼츠만 기법의 반응-확산 모델만을 적용한 경우에 생성되는 (a)와 같은 패턴과는 다른 새로운 패턴 양상을 제어할 수 있다.By applying anisotropy control as shown in (b) of FIG. 6, it is possible to control a new pattern aspect different from the pattern as shown in (a) generated when only the response-diffusion model of the lattice-Boltzmann technique is applied.

다음으로, 프로세서(120)가 반응-확산 패턴 생성 시 스타일 맵을 통해 흐름저항력 적용을 처리하는 과정에 대해서 설명하도록 한다. Next, a description will be given of a process in which the processor 120 processes the application of the flow resistance through the style map when generating the reaction-diffusion pattern.

이때, 프로세서(120)는 병진 과정을 변형해 흐름저항력을 적용하되, 이러한 흐름저항력을 적용하는 식은 아래의 수학식 12와 같다.In this case, the processor 120 applies the flow resistance by modifying the translation process, but the equation for applying the flow resistance is as Equation 12 below.

<수학식 12><Equation 12>

Figure 112018057329740-pat00019
Figure 112018057329740-pat00019

수학식 12에서, d는 확산 계수, β는 흐름저항계수이다. 이때, n의 값이 높아질수록 흐름저항력의 차이를 더욱 극명하게 확인할 수 있다.In Equation 12, d is a diffusion coefficient and β is a flow resistance coefficient. At this time, as the value of n increases, the difference in flow resistance can be more clearly confirmed.

도 7을 참조하면, (a) 내지 (c)에서 각각 좌측은 흐름저항력에 대한 정보를 갖는 스타일 맵을 나타낸다. 예를 들어, 도 7의 (a) 내지 (c)의 스타일 맵에서는, 검정색에 가까울수록 흐름저항력이 약해지는 것을 나타내고, 반대의 경우 흐름저항력이 강해지는 것을 나타낸다.Referring to FIG. 7, in (a) to (c), each left represents a style map having information on flow resistance. For example, in the style maps of FIGS. 7A to 7C, the closer to black, the weaker the flow resistance is, and the reverse case, the stronger the flow resistance.

이때, 도 7의 (a)에서는 원 형상의 스타일 맵에 기초한 흐름저항력을 적용한 패턴 생성 결과를 나타내었으며, f=0.09, k=0.04인 경우의 결과를 확인할 수 있다. 도 7의 (b)에서는 사각형의 스타일 맵에 기초한 흐름저항력을 적용한 패턴 생성 결과를 나타냈으며, f=0.07, k=0.07인 경우의 결과를 확인할 수 있다. 그리고 도 7의 (c)에서는 나무결 무늬 스타일 맵에 기초한 흐름저항력을 적용한 패턴 생성 결과를 나타냈으며, f=0.06, k=0.04 인 경우의 결과를 확인할 수 있다. 또한, 도 7의 (a) 내지 (c)에서 모두 r=0.7, n=3, 해상도는 256X256 를 적용하였다.At this time, in (a) of FIG. 7 shows the result of pattern generation by applying the flow resistance based on the circle-shaped style map, and the result in the case of f=0.09 and k=0.04 can be confirmed. In (b) of FIG. 7 shows the result of pattern generation in which the flow resistance based on the square style map is applied, and the result in the case of f=0.07 and k=0.07 can be confirmed. In addition, in (c) of FIG. 7 shows the result of pattern generation by applying the flow resistance based on the wood grain pattern style map, and the result in the case of f=0.06 and k=0.04 can be confirmed. In addition, r=0.7, n=3, and 256X256 were applied in all of FIGS. 7A to 7C.

이러한 스타일 맵의 형상 및 변수 조건(예를 들어, 확산 계수 및 흐름 저항 계수 등)은 한정되지 않으며, 규칙적으로 또는 랜덤하게 적용되거나, 사용자에 의해 선택될 수도 있다. 이를 위해, 프로세서(120)는 사전에 저장되어 있는 복수의 형상 및 조건을 사용자가 확인하여 선택할 수 있는 사용자 인터페이스를 제공할 수 있다. 이때, 복수의 스타일 맵은 메모리(110) 또는 프로세서(120)에 의해 제어되는 별도의 저장 공간(미도시)에 저장될 수 있다. 또한, 프로세서(120)는 사용자가 새로운 스타일 맵을 장치(100)에 등록하거나 편집하여 저장할 수 있는 사용자 인터페이스를 제공할 수도 있다.The shape and variable conditions (eg, diffusion coefficient and flow resistance coefficient, etc.) of the style map are not limited, and may be applied regularly or randomly, or may be selected by a user. To this end, the processor 120 may provide a user interface through which a user can check and select a plurality of shapes and conditions stored in advance. In this case, the plurality of style maps may be stored in a separate storage space (not shown) controlled by the memory 110 or the processor 120. In addition, the processor 120 may provide a user interface through which a user can register or edit and store a new style map in the device 100.

구체적으로, 스타일 맵은 물질의 확산 과정에서 물질이 다른 셀로 이동하게 되는 양을 조절한다. 스타일 맵은 물질이 확산될 수 있는 영역과 같은 해상도를 갖는 정지 이미지이며, 픽셀 한 칸마다 0과 1 사이의 실수 값을 갖도록 설정될 수 있다. 이러한 픽셀 한 칸마다 설정되는 값을 흐름저항력이라고 한다. 물질이 이동하려는 셀과 대응되는 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동하게 되는 물질의 양이 적어진다. Specifically, the style map controls the amount by which the material moves to another cell during the diffusion process. The style map is a still image having the same resolution as the area in which the material can be diffused, and may be set to have a real value between 0 and 1 per pixel. The value set for each pixel is called flow resistance. The greater the flow resistance at the location on the style map corresponding to the cell to which the material is moving, the less the amount of material to be moved.

이상에서 설명한 격자-볼츠만 기법에 기반한 반응-확산 모델에 사용되는 이방성 제어 방식과 흐름저항력 적용 방식은 적어도 하나의 방식이 사용될 수 있으며, 그 적용 순서는 한정되지 않는다. 또한, 프로세서(120)는 사용자가 이방성 제어 방식 및 흐름저항력 적용 방식 중 적어도 하나를 선택할 수 있도록 하며, 두 방식을 모두 선택한 경우 사용자가 적용 순서를 선택할 수 있도록 하는 사용자 인터페이스를 제공할 수 있다.At least one method may be used for the anisotropy control method and the flow resistance application method used in the reaction-diffusion model based on the lattice-Boltzmann method described above, and the order of application is not limited. In addition, the processor 120 may allow a user to select at least one of an anisotropic control method and a flow resistance application method, and may provide a user interface that allows the user to select an application order when both methods are selected.

또한, 프로세서(120)는 이상의 과정에 따른 시뮬레이션의 결과로서 생성된 패턴을 출력한다. 즉, 프로세서(120)는 격자-볼츠만 기법에 기반한 반응-확산 모델에 사용되는 이방성 제어 방식과 흐름저항력 적용 방식 중 적어도 하나에 따라 생성된 패턴들을, 3D 객체를 모델링할 때 사용되는 텍스처 데이터로서 적용하거나 또는 3D 컴퓨터 그래픽 장치(미도시)로 제공할 수 있다.In addition, the processor 120 outputs a pattern generated as a result of the simulation according to the above process. That is, the processor 120 applies the patterns generated according to at least one of the anisotropic control method and the flow resistance application method used in the response-diffusion model based on the grid-Boltzmann method as texture data used when modeling a 3D object. Alternatively, it may be provided with a 3D computer graphics device (not shown).

이하, 도 8을 참조하여 프로세서(120)가 반응-확산 모델을 생성하고, 이를 통해 패턴을 생성하는 동작에 대해서 상세히 설명한다. Hereinafter, an operation of generating a reaction-diffusion model by the processor 120 and generating a pattern through it will be described in detail with reference to FIG. 8.

먼저, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링한다(S810).First, a reaction-diffusion model that calculates a reaction process of a medium is modeled using a lattice-Boltzmann technique and a Gray-Scott model equation (S810).

이때, 앞서 설명한 바와 같이, 확산 과정은 분자의 방향, 격자의 위치 및 시간에 기초한 분포 함수와, 상기 분포 함수, 시간 변화량 및 상기 분자의 방향의 반대 방향에 기초한 병진 과정의 식과, 병진 과정의 식, 평형 분포 함수, 해당 격자에서의 분자들의 전체적인 속도, 방향에 대한 가중 함수에 기초한 충돌 과정의 식에 기반하여 계산된다. 또한, 반응 과정은, 매질에 포함된 둘 이상의 물질에 대해 상기 확산 반응을 적용시킨 후의 값, 둘 이상의 물질 중 제 1 물질의 공급률, 둘 이상의 물질 중 제 2 물질의 소멸율 및, 제 1 및 제 2 물질의 반응 속도에 기초한 반응식과, 병진 과정 및 충돌 과정 후의 분포 함수에 기반하여 계산된다.At this time, as described above, the diffusion process includes a distribution function based on the direction of the molecule, the position of the lattice, and time, the expression of the translation process based on the distribution function, the amount of time change, and the direction opposite to the direction of the molecule, and the expression of the translation process. , The equilibrium distribution function, the overall velocity of the molecules in the lattice, and the equation of the collision process based on the weighting function for the direction. In addition, the reaction process is the value after applying the diffusion reaction to two or more substances contained in the medium, the supply rate of the first substance among two or more substances, the extinction rate of the second substance among two or more substances, and the first and second substances. 2 It is calculated based on the reaction equation based on the reaction rate of the substance and the distribution function after the translation and collision process.

또한, 기설정된 시뮬레이션 영역에 대해 경계면 처리를 수행하되, 노 슬립 경계면(no-slip boundary)을 적용하여 매질이 경계면에 부딪힌 경우 속도가 0이 되도록 할 수 있다.In addition, the boundary surface processing is performed on a predetermined simulation region, but a no-slip boundary is applied so that the speed becomes 0 when the medium hits the boundary surface.

다음으로, 모델링된 반응-확산 모델을 통해 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행한다(S820).Next, when the region in which the medium exists is divided into a plurality of grids through the modeled reaction-diffusion model, simulation of the medium is performed through a change in the amount of the medium present in each grid (S820).

이때, 이방성 제어 및 흐름저항력 적용 중 적어도 하나의 방식을 적용하여 시뮬레이션을 수행한다.At this time, simulation is performed by applying at least one of anisotropic control and flow resistance application.

이방성 제어를 적용할 경우, 복수의 기설정된 방향 중 특정 방향으로 이동하는 분자들의 반응의 크기를 제어하는 이방성 함수를 확산 과정에 적용한다.When anisotropic control is applied, an anisotropy function that controls the magnitude of the reaction of molecules moving in a specific direction among a plurality of preset directions is applied to the diffusion process.

구체적으로, 이방성 함수는 기설정된 개수의 방향 별로 대응하는 복수의 값을 포함하되, 복수의 값은 각각 0 내지 1 사이의 실수이며, 0의 값을 갖는 경우 해당 방향을 갖는 분자는 반응이 일어나지 않도록 한다.Specifically, the anisotropy function includes a plurality of values corresponding to a predetermined number of directions, but the plurality of values are real numbers between 0 and 1, respectively, and when the value is 0, the molecule having the corresponding direction does not cause a reaction. do.

또한, 이방성 제어를 적용하여 시뮬레이션할 경우, 사용자가 이방성 함수의 값을 입력할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하되, 이방성 함수의 값은 사용자가 입력한 값으로 설정한다.In addition, when the simulation is performed by applying anisotropic control, the step of providing a user interface for allowing the user to input the value of the anisotropic function is further included, wherein the value of the anisotropic function is set to a value input by the user.

한편, 흐름저항력을 적용할 경우, 매질이 다른 셀로 이동하는 양을 조절하는 스타일 맵에 따른 흐름저항력을 매질의 확산 과정에 적용한다. 이때, 매질이 이동하려는 셀과 대응된 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동된 매질의 양이 적어진다. 또한, 스타일 맵은 매질이 확산될 수 있는 영역과 동일한 해상도를 갖는 정지 이미지로서 픽셀 한 칸 마다 흐름저항력의 값이 설정된 것이다.On the other hand, when the flow resistance is applied, the flow resistance according to the style map that controls the amount of the medium moving to another cell is applied to the diffusion process of the medium. At this time, the larger the flow resistance at the location on the style map corresponding to the cell to which the medium is to be moved, the smaller the amount of the moved medium. In addition, the style map is a still image having the same resolution as a region in which a medium can be diffused, and a value of flow resistance is set for each pixel.

구체적으로, 확산 계수 및 흐름 저항 계수가 더 포함된 병진 과정의 식에 기반하여 흐름저항력을 적용할 수 있다.Specifically, the flow resistance may be applied based on the expression of the translation process further including the diffusion coefficient and the flow resistance coefficient.

또한, 흐름저항력을 적용하여 시뮬레이션할 경우, 사용자가 스타일 맵의 형상을 선택하거나, 확산 계수 및 상기 흐름 저항 계수 중 적어도 하나를 입력할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하되, 사용자의 선택 또는 입력에 따른 스타일 맵의 형상, 확산 계수, 및 흐름 저항 계수를 적용한다.In addition, when the simulation is performed by applying the flow resistance, the method further comprises providing a user interface that allows a user to select a shape of a style map or input at least one of a diffusion coefficient and the flow resistance coefficient, Apply the shape, diffusion coefficient, and flow resistance coefficient of the style map according to selection or input.

다음으로, 시뮬레이션의 결과로서 생성된 패턴을 출력한다(S830).Next, a pattern generated as a result of the simulation is output (S830).

이때, 격자-볼츠만 기법에 기반한 반응-확산 모델에 사용되는 이방성 제어 방식과 흐름저항력 적용 방식 중 적어도 하나에 따라 생성된 패턴들을 출력한다. 또한, 출력된 패턴들은 3D 객체를 모델링할 때 사용되는 텍스처 데이터로서 적용하거나 또는 3D 컴퓨터 그래픽 장치(미도시)로 제공될 수 있다.At this time, patterns generated according to at least one of an anisotropic control method and a flow resistance application method used in a reaction-diffusion model based on the lattice-Boltzmann method are output. In addition, the output patterns may be applied as texture data used when modeling a 3D object or may be provided to a 3D computer graphics device (not shown).

이상에서 설명한 본 발명의 실시예에 따른 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The reaction-diffusion modeling method based on the lattice-Boltzmann technique according to the embodiment of the present invention described above may be implemented in the form of a recording medium including instructions executable by a computer such as a program module executed by a computer. have. Such recording media include computer-readable media, and computer-readable media may be any available media that can be accessed by a computer, and include both volatile and nonvolatile media, and removable and non-removable media. In addition, computer-readable media includes computer storage media, which are volatile and nonvolatile embodied in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. , Both removable and non-removable media.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 조사 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and an investigator of ordinary knowledge in the technical field to which the present invention pertains will be able to understand that it can be easily transformed into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

또한, 본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수도 있다.Further, although the method and system of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. .

100: 반응-확산 모델링 장치
110: 메모리
120: 프로세서
100: reaction-diffusion modeling device
110: memory
120: processor

Claims (13)

반응-확산 모델링 장치의 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법에 있어서,
격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하는 단계;
설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 이방성 제어를 적용하여 시뮬레이션하는 단계; 및
상기 시뮬레이션의 결과로서 생성된 패턴을 출력하는 단계를 포함하고,
사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정되며,
상기 이방성 제어는 복수의 기설정된 방향 중 특정 방향으로 이동하는 상기 분자들의 반응의 크기를 제어하는 이방성 함수를 상기 확산 과정에 적용하는 것이고,
상기 확산 과정은, 분자의 방향, 격자의 위치 및 시간에 기초한 분포 함수와, 상기 분포 함수, 시간 변화량 및 상기 분자의 방향의 반대 방향에 기초한 병진 과정의 식과, 상기 병진 과정의 식, 평형 분포 함수, 해당 격자에서의 분자들의 전체적인 속도, 방향에 대한 가중 함수에 기초한 충돌 과정의 식에 기반하여 계산되고,
상기 반응 과정은, 상기 매질에 포함된 둘 이상의 물질에 대해 상기 확산 반응을 적용시킨 후의 값, 상기 둘 이상의 물질 중 제 1 물질의 공급률, 상기 둘 이상의 물질 중 제 2 물질의 소멸율 및 상기 제 1 및 제 2 물질의 반응 속도에 기초한 반응식과, 상기 병진 과정 및 충돌 과정 후의 분포 함수에 기반하여 계산되는 것이고,
상기 이방성 함수는 상기 기설정된 개수의 방향 별로 대응하는 복수의 값을 포함하되,
상기 복수의 값은 각각 0 내지 1 사이의 실수이며, 0의 값을 갖는 경우 해당 방향을 갖는 분자는 반응이 일어나지 않도록 하는 것인, 반응-확산 모델링 방법.
In the reaction-diffusion modeling method based on the lattice-Boltzmann technique of the reaction-diffusion modeling device,
Modeling a reaction-diffusion model that calculates the diffusion process of the medium using the lattice-Boltzmann technique and calculates the reaction process of the medium using the Gray-Scott model equation;
When a region in which the medium exists is divided into a plurality of grids through the reaction-diffusion model for a set medium, a simulation is performed on the medium through a change in the amount of the medium present in each grid, but anisotropic control is applied. To simulate; And
And outputting the pattern generated as a result of the simulation,
In advance, the number of directions in a plurality of directions each molecule of the medium existing in the lattice has is set,
The anisotropy control is to apply an anisotropy function for controlling the magnitude of the reaction of the molecules moving in a specific direction among a plurality of preset directions to the diffusion process,
The diffusion process includes a distribution function based on a direction of a molecule, a position of a lattice, and a time, an equation of a translation process based on the distribution function, an amount of change in time, and a direction opposite to the direction of the molecule, an equation of the translation process, and an equilibrium distribution function. , Calculated based on the equation of the collision process based on the weight function for the overall velocity and direction of the molecules in the corresponding lattice,
The reaction process includes a value after applying the diffusion reaction to two or more substances contained in the medium, a supply rate of a first substance among the two or more substances, an extinction rate of a second substance among the two or more substances, and the first And a reaction equation based on the reaction rate of the second substance, and a distribution function after the translation process and collision process,
The anisotropic function includes a plurality of values corresponding to the predetermined number of directions,
Each of the plurality of values is a real number between 0 and 1, and when the value is 0, a molecule having a corresponding direction does not cause a reaction.
삭제delete 삭제delete 제 1 항에 있어서,
상기 이방성 제어를 적용하여 시뮬레이션하는 단계는,
사용자가 상기 이방성 함수의 값을 입력할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하되,
상기 이방성 함수의 값은 사용자가 입력한 값으로 설정되는 것인, 반응-확산 모델링 방법.
The method of claim 1,
The step of simulating by applying the anisotropy control,
Further comprising the step of providing a user interface for allowing a user to input the value of the anisotropic function,
The value of the anisotropic function is set to a value input by a user, a reaction-diffusion modeling method.
제 1 항에 있어서,
상기 반응-확산 모델을 통한 시뮬레이션을 수행하는 단계는,
기설정된 시뮬레이션 영역에 대해 경계면 처리를 수행하되, 노 슬립 경계면(no-slip boundary)을 적용하여 상기 매질이 경계면에 부딪힌 경우에는 속도가 0이 되도록 하는 것인, 반응-확산 모델링 방법.
The method of claim 1,
The step of performing the simulation through the reaction-diffusion model,
A reaction-diffusion modeling method that performs boundary surface treatment on a preset simulation area, but applies a no-slip boundary so that the velocity becomes 0 when the medium hits the boundary surface.
반응-확산 모델링 장치의 격자-볼츠만 기법에 기반한 반응-확산 모델링 방법에 있어서,
격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하는 단계;
설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 흐름저항력을 적용하여 시뮬레이션하는 단계; 및
상기 시뮬레이션의 결과로서 생성된 패턴을 출력하는 단계를 포함하고,
사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정되며,
매질이 다른 셀로 이동하는 양을 조절하는 스타일 맵에 따른 상기 흐름저항력을 상기 매질의 확산 과정에 적용하되,
상기 매질이 이동하려는 셀과 대응된 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동된 매질의 양이 적어지고,
상기 스타일 맵은 상기 매질이 확산될 수 있는 영역과 동일한 해상도를 갖는 정지 이미지로서 픽셀 한 칸 마다 흐름저항력의 값이 설정된 것인, 반응-확산 모델링 방법.
In the reaction-diffusion modeling method based on the lattice-Boltzmann technique of the reaction-diffusion modeling device,
Modeling a reaction-diffusion model that calculates the diffusion process of the medium using the lattice-Boltzmann technique and calculates the reaction process of the medium using the Gray-Scott model equation;
When the region in which the medium exists is divided into a plurality of grids through the reaction-diffusion model for a set medium, a simulation is performed on the medium through a change in the amount of the medium present in each grid, but the flow resistance is applied. To simulate; And
And outputting the pattern generated as a result of the simulation,
In advance, the number of directions in a plurality of directions each molecule of the medium existing in the lattice has is set,
Applying the flow resistance according to the style map for controlling the amount of the medium moving to another cell to the diffusion process of the medium,
The larger the flow resistance at the location on the style map corresponding to the cell to which the medium is to be moved, the smaller the amount of the medium moved,
The style map is a still image having the same resolution as a region in which the medium can be diffused, and a value of the flow resistance is set for each pixel.
제 6 항에 있어서,
상기 확산 과정은, 분자의 방향, 격자의 위치 및 시간에 기초한 분포 함수와, 상기 분포 함수, 시간 변화량 및 상기 분자의 방향의 반대 방향에 기초한 병진 과정의 식과, 상기 병진 과정의 식, 평형 분포 함수, 해당 격자에서의 분자들의 전체적인 속도, 방향에 대한 가중 함수에 기초한 충돌 과정의 식에 기반하여 계산되고,
상기 반응 과정은, 상기 매질에 포함된 둘 이상의 물질에 대해 상기 확산 반응을 적용시킨 후의 값, 상기 둘 이상의 물질 중 제 1 물질의 공급률, 상기 둘 이상의 물질 중 제 2 물질의 소멸율 및 상기 제 1 및 제 2 물질의 반응 속도에 기초한 반응식과, 상기 병진 과정 및 충돌 과정 후의 분포 함수에 기반하여 계산되는 것인, 반응-확산 모델링 방법.
The method of claim 6,
The diffusion process includes a distribution function based on a direction of a molecule, a position of a lattice, and a time, an equation of a translation process based on the distribution function, an amount of change in time, and a direction opposite to the direction of the molecule, an equation of the translation process, and an equilibrium distribution function. , Calculated based on the equation of the collision process based on the weight function for the overall velocity and direction of the molecules in the corresponding lattice,
The reaction process includes a value after applying the diffusion reaction to two or more substances contained in the medium, a supply rate of a first substance among the two or more substances, an extinction rate of a second substance among the two or more substances, and the first And a reaction equation based on the reaction rate of the second material and a distribution function after the translation and collision process.
제 7 항에 있어서,
확산 계수 및 흐름 저항 계수가 더 포함된 상기 병진 과정의 식에 기반하여 상기 흐름저항력을 적용하는, 반응-확산 모델링 방법.
The method of claim 7,
A reaction-diffusion modeling method for applying the flow resistance based on an equation of the translation process further including a diffusion coefficient and a flow resistance coefficient.
제 8 항에 있어서,
상기 흐름저항력을 적용하여 시뮬레이션하는 단계는,
사용자가 상기 스타일 맵의 형상을 선택하거나, 상기 확산 계수 및 상기 흐름 저항 계수 중 적어도 하나를 입력할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하되,
상기 사용자의 선택 또는 입력에 따른 스타일 맵의 형상, 확산 계수, 및 흐름 저항 계수를 적용하는 것인, 반응-확산 모델링 방법.
The method of claim 8,
The step of simulating by applying the flow resistance force,
Providing a user interface that allows a user to select a shape of the style map or to input at least one of the diffusion coefficient and the flow resistance coefficient, further comprising:
To apply the shape, diffusion coefficient, and flow resistance coefficient of the style map according to the user's selection or input.
제 6 항에 있어서,
상기 반응-확산 모델을 통한 시뮬레이션을 수행하는 단계는,
기설정된 시뮬레이션 영역에 대해 경계면 처리를 수행하되, 노 슬립 경계면(no-slip boundary)을 적용하여 상기 매질이 경계면에 부딪힌 경우 속도가 0이되도록 하는 것인, 반응-확산 모델링 방법.
The method of claim 6,
The step of performing the simulation through the reaction-diffusion model,
A reaction-diffusion modeling method that performs boundary surface treatment on a predetermined simulation region, and applies a no-slip boundary to ensure that the velocity becomes zero when the medium hits the boundary surface.
격자-볼츠만 기법에 기반한 반응-확산 모델링 장치에 있어서,
격자-볼츠만 기법에 따른 반응-확산 모델링 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며,
상기 프로세서는 상기 반응-확산 모델링 프로그램의 실행에 따라, 격자-볼츠만 기법을 사용하여 매질의 확산 과정을 계산하고, 그레이-스콧 모델식을 사용하여 매질의 반응 과정을 계산하는 반응-확산 모델을 모델링하고, 설정된 매질에 대해 상기 반응-확산 모델을 통해 상기 매질이 존재하는 영역을 복수의 격자로 분할하였을 때 각각의 격자에 존재하는 매질의 양의 변화를 통해 매질에 대한 시뮬레이션을 수행하되, 이방성 제어를 적용한 시뮬레이션 및 흐름저항력을 적용한 시뮬레이션 중 적어도 하나의 시뮬레이션을 수행하며, 상기 시뮬레이션의 결과로서 생성된 패턴을 출력하고,
사전에 상기 격자에 존재하는 매질의 분자들이 각각 갖는 복수의 방향의 개수가 설정되며,
상기 이방성 제어는 복수의 기설정된 방향 중 특정 방향으로 이동하는 상기 분자들의 반응의 크기를 제어하는 이방성 함수를 상기 확산 과정에 적용하는 것이고,
매질이 다른 셀로 이동하는 양을 조절하는 스타일 맵에 따른 상기 흐름저항력이 상기 매질의 확산 과정에 적용되며, 상기 매질이 이동하려는 셀과 대응된 스타일 맵 상의 위치에서 흐름저항력이 클수록 이동된 매질의 양이 적어지고, 상기 스타일 맵은 상기 매질이 확산될 수 있는 영역과 동일한 해상도를 갖는 정지 이미지로서 픽셀 한 칸 마다 흐름저항력의 값이 설정된 것인, 반응-확산 모델링 장치.
In the response-diffusion modeling apparatus based on the lattice-Boltzmann technique,
A memory storing a response-diffusion modeling program according to the lattice-Boltzmann technique; And
And a processor that executes a program stored in the memory,
According to the execution of the reaction-diffusion modeling program, the processor calculates the diffusion process of the medium using a lattice-Boltzmann technique, and models a reaction-diffusion model for calculating the reaction process of the medium using the Gray-Scott model equation. And, when the region in which the medium exists is divided into a plurality of grids through the reaction-diffusion model for a set medium, simulation of the medium is performed through a change in the amount of the medium present in each grid, but anisotropy control Perform at least one of the simulation to which is applied and the simulation to which the flow resistance is applied, and output the pattern generated as a result of the simulation,
In advance, the number of directions in a plurality of directions each molecule of the medium existing in the lattice has is set,
The anisotropy control is to apply an anisotropy function for controlling the magnitude of the reaction of the molecules moving in a specific direction among a plurality of preset directions to the diffusion process,
The flow resistance according to the style map that controls the amount of the medium moving to another cell is applied to the diffusion process of the medium, and the greater the flow resistance at a position on the style map corresponding to the cell to which the medium is moving, the greater the amount of the medium moved. Is reduced, and the style map is a still image having the same resolution as a region in which the medium can be diffused, and a value of the flow resistance is set for each pixel.
제 11 항에 있어서,
상기 확산 과정은, 분자의 방향, 격자의 위치 및 시간에 기초한 분포 함수와, 상기 분포 함수, 시간 변화량 및 상기 분자의 방향의 반대 방향에 기초한 병진 과정의 식과, 상기 병진 과정의 식, 평형 분포 함수, 해당 격자에서의 분자들의 전체적인 속도, 방향에 대한 가중 함수에 기초한 충돌 과정의 식에 기반하여 계산되고,
상기 반응 과정은, 상기 매질에 포함된 둘 이상의 물질에 대해 상기 확산 반응을 적용시킨 후의 값, 상기 둘 이상의 물질 중 제 1 물질의 공급률, 상기 둘 이상의 물질 중 제 2 물질의 소멸율 및 상기 제 1 및 제 2 물질의 반응 속도에 기초한 반응식과, 상기 병진 과정 및 충돌 과정 후의 분포 함수에 기반하여 계산되는 것인, 반응-확산 모델링 장치.
The method of claim 11,
The diffusion process includes a distribution function based on a direction of a molecule, a position of a lattice, and a time, an equation of a translation process based on the distribution function, an amount of change in time, and a direction opposite to the direction of the molecule, an equation of the translation process, and an equilibrium distribution function. , Calculated based on the equation of the collision process based on the weight function for the overall velocity and direction of the molecules in the corresponding lattice,
The reaction process includes a value after applying the diffusion reaction to two or more substances contained in the medium, a supply rate of a first substance among the two or more substances, an extinction rate of a second substance among the two or more substances, and the first And a reaction equation based on a reaction rate of the second material and a distribution function after the translation process and the collision process.
제 1 항, 제 4 항 내지 제 10 항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium in which a program for implementing the method of any one of claims 1, 4 to 10 is recorded.
KR1020180067155A 2018-06-12 2018-06-12 Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method KR102187066B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180067155A KR102187066B1 (en) 2018-06-12 2018-06-12 Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180067155A KR102187066B1 (en) 2018-06-12 2018-06-12 Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method

Publications (2)

Publication Number Publication Date
KR20190140568A KR20190140568A (en) 2019-12-20
KR102187066B1 true KR102187066B1 (en) 2020-12-04

Family

ID=69063040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180067155A KR102187066B1 (en) 2018-06-12 2018-06-12 Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method

Country Status (1)

Country Link
KR (1) KR102187066B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102436665B1 (en) * 2020-07-21 2022-08-26 이에이트 주식회사 Apparatus, method and computer program for multigrid lattice boltzmann method and large eddy simulation based high reynolds number fluid analysis simulation
CN117808976B (en) * 2024-03-01 2024-05-24 之江实验室 Three-dimensional model construction method and device, storage medium and electronic equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. J. Harris 외, "Physically-Based Visual Simulation on Graphics Hardware", Graphics Hardware, pp.1-10, 2002.*
T. Kim 외, "Stable Advection-Reaction-Diffusion with Arbitrary Anisotropy", Computer animation & virtual worlds", 18권, 4-5호, pp.329-338, 2007.12.*

Also Published As

Publication number Publication date
KR20190140568A (en) 2019-12-20

Similar Documents

Publication Publication Date Title
US8358310B2 (en) Musculo-skeletal shape skinning
Xu et al. Pose-space subspace dynamics
Longay et al. TreeSketch: Interactive Procedural Modeling of Trees on a Tablet.
Chu et al. Real-time painting with an expressive virtual Chinese brush
Wilhelms et al. Anatomically based modeling
Schumacher et al. Efficient simulation of example-based materials
Jin et al. Interactive control of large-crowd navigation in virtual environments using vector fields
KR102187066B1 (en) Method and apparatus of reaction-diffusion modeling based on lattice boltzmann method
Stanton et al. Self-refining games using player analytics
Yang et al. A unified smoke control method based on signed distance field
CN115908664B (en) Animation generation method and device for man-machine interaction, computer equipment and storage medium
Antoniuk et al. Generation of complex underground systems for application in computer games with schematic maps and L-systems
JP2009020874A (en) Hair simulation method, and device therefor
Kim et al. Robust handling of clumping and stiffness in wet hair animation
Çetinaslan Position manipulation techniques for facial animation
Liu et al. Haptic rendering for the coupling between fluid and deformable object
Cha et al. An efficient diffusion model for viscous fingering
WO2007074728A1 (en) Program for forming concave-convex texture and apparatus for forming concave-convex texture
Mousas et al. CHASE: character animation scripting environment.
Larico Towards interactive simulation of soft, rigid and viscous objects in immersive virtual reality
Mora u Ottawa
Tsai et al. Physically based motion adaptation for diverse articulated figures
Ismail et al. Key pose deformations in changing the 3D character motion style
Rajendran Understanding the Desired Approach for Animating Procedurally
Busquets Duran Procedural textures generation: adaptation into a Unity tool

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