KR20060133847A - Editing graphical objects using noise editing - Google Patents

Editing graphical objects using noise editing Download PDF

Info

Publication number
KR20060133847A
KR20060133847A KR1020050053717A KR20050053717A KR20060133847A KR 20060133847 A KR20060133847 A KR 20060133847A KR 1020050053717 A KR1020050053717 A KR 1020050053717A KR 20050053717 A KR20050053717 A KR 20050053717A KR 20060133847 A KR20060133847 A KR 20060133847A
Authority
KR
South Korea
Prior art keywords
noise
editing
value
control
function
Prior art date
Application number
KR1020050053717A
Other languages
Korean (ko)
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 KR1020050053717A priority Critical patent/KR20060133847A/en
Publication of KR20060133847A publication Critical patent/KR20060133847A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A method for editing graphical objects by noise editing is provided to calculate result values for user's noise restriction demands while keeping statistic characteristics of noise by optimization for minimizing a difference between an ideal statistic value and a statistic value of gradient value of a real noise function. In a method for editing graphical objects by noise editing, M 3D PRN unit vectors are composed to be stored in a G table, which has M size, and M-1 random number permutations from P to O are stored in another table having the same size. 3 integer intervals[qi0,qi1](i=1,2,3) for each dimension of given coordinates are obtained, wherein qi0=[xi]mod M and qi0=qi1+1. The 3 integer intervals generate a single regular tetrahedron. 8 gradient vectors are obtained for each point of the calculated regular tetrahedron: gjkl=G[P[P[Pq1j]+q2k+q3l]], wherein jkl represent all permutations from 0 to 1 having a length of 3. A result value of noise is calculated by calculation of 8 inner products, that is, a weighted sum of gjklÀ[vjkl-(x1,x2,x3)], wherein the weighted sum is calculated by ease curve formula represented by s(t)=6t5-15t4+10t3.

Description

노이즈 편집을 이용한 그래픽스 객체 편집 기법{Editing Graphical Objects using Noise Editing}Editing Graphical Objects using Noise Editing}

도1은 다른 난수 분포를 가진 일차원 노이즈 함수Figure 1 is a one-dimensional noise function with different random number distribution

도2는 노이즈 알고리즘과 해슁(1차원 경우) 구조도Fig. 2 is a structural diagram of noise algorithm and hashing (one-dimensional case)

도3은 1차원 노이즈의 결과와 0을 지나는 문제 예제Figure 3 is an example of the problem of passing through zero and the result of one-dimensional noise

도4는 복스카르 함수와 근사치 함수의 그림4 is a diagram of the Voxkar and approximation functions.

도5는 노이즈 함수에 제어가 가해짐에 따른 카이-스퀘어 통계치의 변화5 shows the change in chi-square statistic as control is applied to the noise function.

도6은 FBM(Fractional Brownian Motion)제어 결과 그림Figure 6 is a result of FBM (Fractional Brownian Motion) control

도7은 애니메이션 패스 제어 결과그림Figure 7 is an animation path control result

도8은 불꽃 애니메이션 제어 결과그림8 shows the result of the flame animation control

도9는 점진적 텍스처의 제어 결과그림Fig. 9 shows the control result of the progressive texture

도10은 난수 화된 지형 제어 그림10 is a randomized terrain control diagram.

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

도1. (a) : 균등 난수 분포를 가진 1차원 노이즈 함수.Figure 1. (a): One-dimensional noise function with uniform random distribution.

도1. (b) : 기울어진 분포를 가진 1차원 노이즈 함수.Figure 1. (b): One-dimensional noise function with a skewed distribution.

도1. (c) : 본 발명의 제어 방법을 사용한 500번의 제어가 적용된 결과.Figure 1. (c): 500 times of control using the control method of the present invention was applied.

도4. (a) : 원래의 복스카르 함수.Figure 4. (a): Original Voxkar function.

도4. (b) : 근사치 곡선을 사용한 근사 복스카르 함.Figure 4. (b): Approximate boxcar using approximation curve.

도7. (a) : 애니메이션 패스가 노이즈에 의해 외부 객체와 충돌이 날 경우Figure 7. (a): When animation path collides with an external object by noise

도7. (b) : 노이즈 제약을 통해 충돌을 해결한 결과Figure 7. (b): Result of resolving collision through noise constraint

도8. (a) : 노이즈를 사용한 불꽃 애니메이션Figure 8. (a): Flame animation using noise

도8. (b) : 화살표 방향으로 제어가 이루어진 후 결과 애니메이션Figure 8. (b): Result animation after control is made in the direction of the arrow

도9. (a) : 노이즈를 사용한 나무무늬Figure 9. (a): Wood pattern using noise

도9. (b) : 화살표 방향으로 제어가 이루어진 결과 Figure 9. (b): Control result in the direction of arrow

도9. (c) : (a)와 (b)의 차이 맵Figure 9. (c): difference map between (a) and (b)

도9. (d) : 노이즈 스케일링이 적용된 결과Figure 9. (d): Result of noise scaling applied

도10. (a) : 난수화된 지형Figure 10. (a): Randomized terrain

도10. (b) : 제어가 일어난 지형.Figure 10. (b): Terrain under control.

펄린이 노이즈 함수를 소개한 이후로, 그것은 점진적 텍스처의 생성, 물 또는 불과 같은 다양한 자연형상에 표현, 그리고 움직이는 모션을 좀 더 자연스럽게 하는 방법으로 사용되어 왔다. 노이즈는 그 동안 자연현상을 시뮬레이션 하는 거의 모든 과정에서 쓰여 왔고 때때로 복잡한 물리기반의 시뮬레이션에 대한 대안으로도 노이즈는 사용되었다. 최근에는, 실시간 그래픽스를 위해 노이즈 알고리즘이 하드웨어로도 구현되고 있다. 자연현상을 표현하는 또 다른 알고리즘으로 스펙트럼 합성(spectral synthesis)가 제안되었지만 제어에 대한 유동성 부족으로 펄린의 알고리즘이 컴퓨터 그래픽스에 있어 더 선호되고 있다. Since Perlin introduced the noise function, it has been used to create progressive textures, to represent various natural shapes such as water or fire, and to make moving motion more natural. Noise has been used in almost every process of simulating natural phenomena and is sometimes used as an alternative to complex physics-based simulations. Recently, noise algorithms have also been implemented in hardware for real-time graphics. Spectral synthesis has been proposed as another algorithm to represent natural phenomena, but Perlin's algorithm is becoming more preferred in computer graphics due to lack of fluidity in control.

그 동안 노이즈의 적용에 대한 많은 연구는 존재했었지만 그것을 제어하는 연구는 거의 존재 하지 않았다. 그 동안의 연구들은 노이즈나 노이즈의 합으로 이루어지는 프랙탈 합에 대한 기본적 변수에만 초점을 맞추고 있었다. 최근 Perlin은 기존의 노이즈 알고리즘의 두 가지 문제점을 해결하는 새로운 알고리즘을 제시하였다. 그는 모든 정의역에서 C2 연속성을 만족하기 위한 새로운 보간법을 제시하였고, 16개의 고정된 편향치 벡터를 통한 결과 값이 한쪽으로 치우치는 결과를 막음과 동시에 빠른 계산이 가능하게 하였다. 우리는 이 두 가지 개선점 중 편향치 벡터를 고정하는 방법은 사용하지 않았다. 왜냐하면 우리의 알고리즘 자체가 편향치 벡터의 제어를 통해 원하는 결과 값을 얻는 것이기 때문이다. 몇몇 연구자들은 확률론적인 모 델을 통해 물체의 모양이나 특정 현상을 제어하는 방법을 연구해왔다. 다양한 연구를 통하여, 적은 저장 공간을 요하는, 다중 스케일(Multiple Scale) 확률적 모델의 사용을 통해 일반적인 렌더링 소프트웨어에서 쉽게 구현 가능한 방법을 제시하였다. 텍스처 조합(Texture Synthesis)에 관한 연구에 있어, 많은 사람들은 주어진 작은 이미지와 유사한 큰 이미지를 생성하기 위해 근사치 통계 필드(Approximated Statistical Field)의 사용을 시도하였다. There has been a lot of research on the application of noise, but very little research controls it. Previous studies have focused only on the fundamental variables for fractal sums, which consist of noise or sums of noises. Perlin recently proposed a new algorithm that solves two problems of the existing noise algorithm. He proposed a new interpolation method to satisfy C 2 continuity in all domains, and enabled fast calculations while avoiding skewed results through 16 fixed bias vectors. We did not use any of these two improvements to fix the bias vector. Because our algorithm itself is to obtain the desired result through control of the bias vector. Some researchers have studied how to control the shape or specific phenomena of objects through stochastic models. Through various studies, we have proposed a method that can be easily implemented in general rendering software through the use of a multiple scale stochastic model, which requires less storage space. In the study of Texture Synthesis, many have attempted to use Approximated Statistical Fields to produce large images similar to a given small image.

다중 단계 모델링 이론에 기반을 두어 생각할 때, 우리의 이론은 애니메이션의 세부적인 조절을 위한 마지막 단계라 볼 수 있다. 이번 연구에서 우리는 적용에 있어 가장 빈번하게 쓰이는 펄린의 편향치 노이즈 알고리즘을 제어하는데 초점을 맞추었다. Based on the theory of multi-step modeling, our theory is the last step for fine-tuning the animation. In this study, we focused on controlling Perlin's bias noise algorithm, the most frequently used application.

본 발명은 노이즈의 성질을 유지한 체, 사용자의 요구에 맞는 결과 값이 요구 될 경우에 사용될 수 있다. 예를 들어, 특정 애니메이션이 점진적 형태로 만들어졌을 때, 보다 자연스러움을 위해 노이즈 함수 또는 그것들의 합(Fractal Sum)을 통한 난수가 더해진다. 난수가 적용된 이후의 정확한 형태를 예상할 수 없기에, 사용자가 원하는 다른 제약을 정확히 만족하기는 힘들다. 만약 물리 시뮬레이션과 같이, 애니메이션을 만드는 점진적 계산이 복잡한 계산을 요할 때는, 제약을 위해 애니메이션 패스를 다시 계산하는 것은 원하진 않을 것이다. 심지어 패스를 다시 계산한다고 해도 노이즈에 의한 난수가 추가 때문에 그것이 제약을 만족하리란 보장은 없 다. 따라서 이런 경우, 바탕이 되는 패스의 제어가 아닌, 추가되는 난수에 대한 제어, 즉 노이즈를 제어할 수 있는 방법이 필요하다. 하지만 만약 원하는 특정 결과 값을 위해, 노이즈함수의 근원인 편향치에 대한 인위적인 변이가 있었을 때는, 앞에서 말한 이상적인 노이즈의 특성들이 유지되기 힘들다. 왜냐하면 편향치에 대한 인위적인 변이는 난수의 분포가 한쪽으로 치우치는 결과를 가져올 수 있기 때문이다. 따라서 애니메이션의 제어에 있어, 추가된 노이즈의 통계적 분포를 유지하면서 난수를 제어할 수 있는 방법이 필요하다.  The present invention can be used when the result value that meets the needs of the user is required while maintaining the nature of the noise. For example, when a particular animation is made in a progressive form, random numbers are added through noise functions or their Fractal Sums for more naturalness. Since the exact form after the random number is applied cannot be predicted, it is difficult to meet exactly the other constraints desired by the user. If, like physics simulation, the incremental calculations that make an animation require complex calculations, you may not want to recalculate the animation paths for constraints. Even if the path is recalculated, there is no guarantee that it will satisfy the constraint because random numbers due to noise are added. Therefore, in this case, there is a need for a method for controlling noise, that is, control of added random numbers, not control of an underlying path. However, if there is an artificial variation of the bias, the source of the noise function, for the particular desired result, then the ideal noise characteristics mentioned above are difficult to maintain. This is because an artificial variation in bias can result in the distribution of random numbers skewed to one side. Therefore, in controlling animation, there is a need for a method capable of controlling random numbers while maintaining a statistical distribution of added noise.

이하 첨부된 도면에 의해 상세히 설명하면 다음과 같다.Hereinafter, described in detail by the accompanying drawings as follows.

우리가 제시한 방법은 펄린의 편향치 노이즈 알고리즘을 기반으로 하고 있다. 도면 2를 참고하면 편향치 노이즈 알고리즘이란, 의사난수(PRN: Pseudorandom numbers)로 만들어진 단위 편향치 벡터로 구성된 편향치 테이블 G 와 PRN 정수로 채워진 테이블 P를 통한 해슁 인덱싱을 통해 얻어진 값의 보간을 통해 결과값을 얻는다. 정수 격자는(Integer Lattice) 노이즈 함수의 정의역에 차원에 의해 결정된다. 따라서 N 차원 노이즈는 결과값 계산을 위해2N 만큼의 편향치 벡터를 필요로 한다. 3차원 노이즈 함수의 예제 알고리즘 다음과 같다. Our method is based on Perlin's bias noise algorithm. Referring to FIG. 2, a bias noise algorithm is obtained by interpolating a value obtained through hash indexing through a deflection table G composed of a unit deflection vector made of pseudorandom numbers (PRN) and a table P filled with PRN integers. Get the result. Integer Lattice is determined by the dimension of the domain of the noise function. Therefore, N-dimensional noise requires as much as 2 N of bias vector to calculate the result. An example algorithm for a three-dimensional noise function is as follows.

Step 1: M 개의 3차원 PRN 단위 벡터를 구성하여 M 만큼의 크기를 가진 G[0,...,M-1] 테이블에 저장한다. 또한 같은 M 만큼의 크기를 가지는 다른 테이블 P 에 0에서 M-1까지의 난수 순열을 저장해 둔다. Step 1: by constructing a 3D PRN the M unit vectors and stores the G [0, ..., M -1 ] table having a size of as much as M. In addition, a random permutation from 0 to M -1 is stored in another table P with the same M size.

Step 2: 주어진 좌표의 각각의 차원에 대한 3개의 정수 간격, 즉 [

Figure 112005032994758-PAT00002
,
Figure 112005032994758-PAT00003
] (i=1,2,3)을 얻는다. 여기서
Figure 112005032994758-PAT00004
mod M 이고
Figure 112005032994758-PAT00005
=
Figure 112005032994758-PAT00006
+1을 나타낸다. 각각의 차원에 대한 3개의 정수 간격은 주어진 좌표 (x 1 ,x 2 ,x 3 )를 포함하는 하나의 정사면체를 생성한다. Step 2: Three integer intervals for each dimension of a given coordinate, i.e. [
Figure 112005032994758-PAT00002
,
Figure 112005032994758-PAT00003
] ( i = 1,2,3). here
Figure 112005032994758-PAT00004
mod M
Figure 112005032994758-PAT00005
=
Figure 112005032994758-PAT00006
Indicates +1. The three integer intervals for each dimension produce one tetrahedron containing the given coordinates ( x 1 , x 2 , x 3 ).

Step 3: Step 2에서 계산된 정사면체의 각각의 점에 대한 8개의 편향치 벡터를 다음과 같이 얻어온다:

Figure 112005032994758-PAT00007
. 여기서 jkl 은 3의 길이를 가지는 0에서 1까지의 가능한 모든 수열을 뜻한다. Step 3: Obtain eight bias vectors for each point of the tetrahedron computed in Step 2:
Figure 112005032994758-PAT00007
. Where jkl is all possible sequences from 0 to 1 with length 3.

Step 4: 노이즈의 결과 값은 여덟 개의 내적 계산, 즉

Figure 112005032994758-PAT00008
의 가중치 합을 통해 계산된다. 여기서 가중치는
Figure 112005032994758-PAT00009
로 표현되는 이즈 곡선(ease curve)공식을 통해 계산된다. 우리는 펄린(Perlin)에 의해 개선된 이즈 곡선을 사용하였다[13]. Step 4: The resulting noise results in eight internal products, i.e.
Figure 112005032994758-PAT00008
Calculated by the weighted sum of. Where the weight is
Figure 112005032994758-PAT00009
It is calculated through the Ease curve formula expressed as We used an ease curve improved by Perlin [13].

1) 카이-스퀘어 테스트1) Chi-square test

카이-스퀘어 테스트는 관찰한 데이터의 분포와 원하는 분포를 비교하는데 사용되어 왔다. Y = y 1 ,...,y m 를 관찰된 데이터의 세트라 가정하고 라 했을 때, Y 의 정의역인 [a,b]를 일정한 크기를 가진 K 개의 버켓(bucket)으로 나눌 수 있다. 이때 각각의 분리된 버켓을 Y k, (k=1,...,K)로 나타낼 수 있다. Z 가 원하는 분포를 나타내고, YZ 가 비슷한 분포를 가지길 원한다고 가정하면 카이-스퀘어 통계치는 아래와 같이 계산된다. Chi-square tests have been used to compare the distribution of observed data with the desired distribution. Assuming that Y = y 1 , ..., y m is a set of observed data, we can divide Y 's domain [a, b] into K buckets of constant size. In this case, each separated bucket may be represented by Y k, ( k = 1, ..., K ). Z represents a desired distribution, assuming they want the Y and Z is interested a similar distribution of chi-square statistic is calculated as follows:

Figure 112005032994758-PAT00010
Figure 112005032994758-PAT00010

|.|이 버켓에 포함된 데이터의 양을 표현한다고 가정하면, |Z k |는 Z의 분포에서 K번째 버켓에 들어갈 기대 값을 말한다. 예를 들어, 만약 Z가 균등한 난수 분포를 가졌다고 가정하면, 모든 K에 있어 |Z k |=M/K이다. D 2 값이 작아질수록 Y의 분포는 Z의 분포와 유사해 진다고 볼 수 있다. 식 (1)에서

Figure 112005032994758-PAT00011
를 |Z k |로 나누는 것은, K번째 버켓의 기대 값이 크면 클수록 제곱차인 가 D 2 값에 주는 영향이 줄어듦을 의미한다. 버켓의 크기는 엄지손가락의 법칙(rule-of-thumb)을 따라서 각각의 버켓에 최소한 5개의 데이터가 들어갈 수 있는 크기로 결정하였다. 본 연구에선 노 이즈의 256개의 크기를 가지는 노이즈 테이블을 사용하였으므로, 카이-스퀘어 테스트를 위해 50개의 버켓으로 테이블을 나누었다.Assuming |. | Represents the amount of data contained in the bucket, | Z k | is the expected value to enter the Kth bucket in the distribution of Z. For example, if Z assumes an even distribution of random numbers, then for all K | Z k | = M / K. As the value of D 2 decreases, the distribution of Y becomes similar to that of Z. In equation (1)
Figure 112005032994758-PAT00011
To | Dividing by Z k | means that the larger the expected value of the Kth bucket, the smaller the effect of the squared difference on the value of D 2 . The size of the bucket was determined according to the rule-of-thumb, and the size of each bucket could contain at least five pieces of data. In this study, a noise table with 256 magnitudes of noise was used, so the table was divided into 50 buckets for chi-square test.

2) 최적화 기법을 사용한 제약된 노이즈의 생성2) Generation of Constrained Noise Using Optimization Techniques

앞에서 설명했듯이, 노이즈 함수 “Noise(x)"는 N 차원의 좌표 값 x를 통해 유도된 편향치들의 공식으로 아래와 같이 나타낼 수 있다. As described above, the noise function “Noise ( x )” is a formula of the deflection values derived through the coordinate value x of the N dimension and can be expressed as follows.

Noise(x)=c 1 g 1+c 2 g 2+...+c j g j Noise ( x ) = c 1 g 1 + c 2 g 2 + ... + c j g j

여기서 J = 2N 이고 g j ,(j=1,2,...,J)는 x좌표를 통해 해슁한 편향치 벡터 테이블 G로부터 얻어지는 값이다. 계수인 c j 는 노이즈 계산 알고리즘을 통해 얻어진다. 노이즈에 제어를 가한다는 뜻은 특정 x좌표에서 유도될 노이즈의 값을 원하는 값 H로 할당함을 뜻한다(즉, Noise(x)=H). 이 경우에 주어진 제약을 위해 편향치 벡터 g j 가 바뀌어야 한다. 간단히, 위의 일차식을 풀어 g j 를 구해서 테이블에 넣을 순 있다. 하지만 연속적인 제약이 노이즈에 적용될 경우, 의사난수의 질이 떨어져 테이블이 노이즈 함수가 가져야 할 이상적인 통계적 특징을 잃어버릴 위험성이 있다. 편향치 테이블의 분포를 보존하기 위해, 우리는 바뀐 새로운 테이블이 최대한 균등한 난수 분포를 가지는 방향으로 가야 한다. Where J = 2N and g j , ( j = 1,2 , ... , J ) are values obtained from the deflection vector table G obtained through the x coordinate. The coefficient c j is obtained through a noise calculation algorithm. Controlling noise means assigning the desired value H to the value of noise to be derived at a specific x coordinate (ie Noise ( x ) = H ). In this case the bias vector g j must be changed for the given constraint. In short, you can solve the above equation to get g j and put it on the table. However, if continuous constraints are applied to noise, there is a risk that the quality of pseudorandom numbers will be lost and the table will lose the ideal statistical features that the noise function should have. In order to preserve the distribution of the bias table, we must go in the direction that the new table that is changed has the most uniform random number distribution.

간단한 이해를 위해, 1차원 노이즈 함수가 주어진 하나의 제약 Noise(x)=H를 만족하는 문제를 가정하겠다. 후에 N차원으로의 확장을 서술하겠다. 1차원에선 Noise(x)=c u g u +c v g v 로 나타낼 수 있다. 해슁 메커니즘을 사용하여 우리는 2개의 편향치 벡터 g u g v 를 테이블로부터 구해올 수 있다.For the sake of simplicity, suppose that the one-dimensional noise function satisfies a given constraint Noise ( x ) = H. We will describe the extension to N dimension later. In one dimension, Noise ( x ) = c u g u + c v g v . Using the hashing mechanism, we can obtain two bias vectors g u and g v from the table.

카이-스퀘어 테스트를 위한 K개의 버켓이 존재하고, 데이터의 전체 분포가 균일한 난수 분포를 가진다고 할 때, 각 버켓의 기대값 Z=M/K로 정의 할 수 있다. g u 와(또는) g v 의 변형을 통해 K번째 버켓에 들어가는 데이터의 양은 모든 k에 대해 r k 로 변이 된다. 따라서 우리의 문제에 대한 카이-스퀘어 통계치는 아래와 같은 공식으로 나타낼 수 있다.If there are K buckets for the chi-square test, and the total distribution of the data has a uniform random number distribution, the expected value of each bucket can be defined as Z = M / K. Through the transformation of g u and / or g v , the amount of data in the Kth bucket is transformed into r k for all k . Thus, the chi-square statistic for our problem can be expressed by the formula

Figure 112005032994758-PAT00012
.
Figure 112005032994758-PAT00012
.

따라서 우리는 카이-스퀘어 통계치를 최소화 하는 아래와 같은 최적화 문제를 구성하였다.Therefore, we constructed the following optimization problem to minimize the chi-square statistics.

Figure 112005032994758-PAT00013
Figure 112005032994758-PAT00013

subject tosubject to

Figure 112005032994758-PAT00014
Figure 112005032994758-PAT00014

Figure 112005032994758-PAT00015
Figure 112005032994758-PAT00015

하지만 우리는 위의 최적화 문제를 수정해야 할 필요성이 있다. 제약을 나타내는 식은 편향치의 값에 관한 식인 반면에, 목적함수 D 2는 버켓에 들어가 있는 편향치의 숫자에 관한 식이기 때문이다. g u g v 가 원래 들어가 있던 버켓 u,v의 크기는 [b u ,b u +1] 과 [b v ,b v +1]로 나타낼 수 있다. uv가 꼭 다른 버켓이란 가정은 없다. gu와 gv가 h u h v 로 변이할 때 버켓 u에 들어간 편향치의 양은 m u 에서 r u 로 변할 것이다. 즉 아래와 같이 정의 할 수 있다.But we need to fix the optimization problem above. This is because the expression representing the constraint is an expression of the value of the deflection value, while the objective function D 2 is an expression of the number of deflection values in the bucket. g u and g v size of the bucket u, v is was before entering may be represented by [b u, b u +1] and [b v, b v +1] . There is no assumption that u and v are necessarily different buckets. When gu and gv transition from h u and h v , the amount of deflection in the bucket u will change from m u to r u . That is, it can be defined as follows.

Figure 112005032994758-PAT00016
,
Figure 112005032994758-PAT00016
,

여기서 B u (h)는 아래와 같이 정의되는 복스카르(Boxcar) 함수이다.Where B u ( h ) is a Boxcar function defined as

Figure 112005032994758-PAT00017
,
Figure 112005032994758-PAT00017
,

비슷하게 r v 또한 편향치가 변이된 후 버켓 v에 들어갈 양이다. 지금까지의 내용을 바탕으로 목적함수는 아래와 같이 다시 정의 할 수 있다.Similarly, r v is also the amount to enter bucket v after the bias changes. Based on the contents so far, the objective function can be redefined as follows.

Figure 112005032994758-PAT00018
Figure 112005032994758-PAT00018

다차원 노이즈 함수의 계산을 위해선, 우리는 테이블에서 J=2 N 개의 편향치 벡터인 g j ,(j=1,...,J)를 사용한다. 원하는 노이즈의 제어를 위해 계산되어야 할 새로운 편향치 벡터 h j 는Noise(x)=c 1 h 1+...+c j h j =H로 나타낼 수 있다. N차원의 확장된 최적화 문제를 위한 목적함수는 아래와 같이 정의 된다. To calculate the multidimensional noise function, we use the j = 2 N deflection vectors g j , ( j = 1, ..., J ) in the table. The new deflection vector h j to be calculated for the control of the desired noise can be represented by Noise ( x ) = c 1 h 1 + ... + c j h j = H. The objective function for the N- dimensional extended optimization problem is defined as

Figure 112005032994758-PAT00019
Figure 112005032994758-PAT00019

여기서 I(g j )는 편향치 벡터 g j 가 변이 전 속해있던 버켓의 인덱스를 뜻한다. 위 목적함수의 제약 식은 아래와 같다.Where I ( g j ) is the index of the bucket to which the bias vector g j belonged before the mutation. The constraint expression of the above objective function is as follows.

Figure 112005032994758-PAT00020
,
Figure 112005032994758-PAT00020
,

여기서

Figure 112005032994758-PAT00021
는 벡터의 크기를 뜻한다.here
Figure 112005032994758-PAT00021
Is the size of the vector.

4) 근사치 최적화 함수4) Approximation Optimization Function

목적함수의 최소값을 구하기 위해 미분할 필요성이 있으므로, 도면 4(b)와 같이 복스카르 함수와 근사한 구간적 함수를 정의했다. 근사화된 곡선의 어떤 점이라도 원래의 복스카르 함수의 내부에 존재한다. 본 연구에선 간단한 계산을 위해 근사화를 간단한 이차 곡선을 통해 구현 하였다.Since it is necessary to differentiate to obtain the minimum value of the objective function, as shown in FIG. Any point on the approximated curve exists inside the original Vaxkar function. In this study, approximation is implemented by simple quadratic curve for simple calculation.

도면 5는 원래의 의사 난수 분포를 가지는 노이즈에 여러 번의 많은 제어를 가했을 때 카이-스퀘어 통계 값의 변화를 보여준다. 도면에서 보듯, 이상적인 Z 값이 버켓에 들어갈 편향치의 양으로 사용되어 카이-스퀘어 통계 값이 거의 일정하게 감소함을 알 수 있다. 우리는 최적화 문제를 풀기 위해 Spellucci가 제안한 등호 제약이 들어간 순차적 이차 프로그래밍방법(sequential equality constrained quadratic programming method)과 액티브 셋 테크닉(active set technique)을 사용하였다.5 shows the change in chi-square statistical values when a large number of controls are applied to the noise having the original pseudorandom number distribution. As can be seen from the figure, the ideal Z value is used as the amount of deflection to enter the bucket, indicating that the Chi-Square statistical value decreases almost constant. We use the sequential equality constrained quadratic programming method and the active set technique proposed by Spellucci to solve the optimization problem.

5) 프랙탈 합의 제어5) Fractal Consensus Control

낮은 주기를 가지는 노이즈 함수 의 확장으로 “프랙탈 합(fractal sum)"이 자주 사용된다. 프랙탈 합을 통해 정수 격자에서 항상 0을 지나는 문제점과 정해진 주기의 진동 때문에 생기는 균일한 형태의 결과와 같은 순수한 노이즈의 단점을 해결 할 수 있다. 자연현상 또한 다양한 주기성을 가진 현상의 합으로 이루어져 있기 때문에 이것에 표현에도 용이해 진다. 일반적으로 프랙탈 합의 공식은 아래와 같이 정의 된다.The "fractal sum" is often used as an extension of the low-period noise function. Through the fractal sum, pure noise such as the problem of always passing zeros in the integer lattice and the uniform form of the oscillation of a given period Natural phenomena are also made easier to express because they consist of sums of phenomena with various periodicities.

Figure 112005032994758-PAT00022
,
Figure 112005032994758-PAT00022
,

여기서 U는 더해지는 노이즈 함수의 개수를 뜻하고(‘레이어’ 도는 ‘옥타브’라 불린다), a j 는 진폭에 관한 가중치, b j 는 각각의 더해질 노이즈 함수의 주기를 제어할 수 있는 가중치를 뜻한다. 두 개의 가중치 값은 일반적으로 다음과 같은 규칙을 따른다. j=1,...,U에서 두 개의 가중치를 a j <a j +1, b j <b j +1로 정의하면, 낮은 주기를 가지는 노이즈 함수는 높은 진폭을 가지고, 높은 주기를 가지는 노이즈 함수는 낮은 진폭을 가지게 된다. 이런 가중치를 제어하거나 어떤 특정한 수학적 함수를 가중치에 더해주게 됨으로써 여러 가지 다양한 효과를 만들어 낼 수 있다. 그 중에서 FBM(Fractional Brownian Motion) 과 Turbulence는 가장 많이 사용되는 방법들이다. 프랙탈 합의 결과값을 제어하기 위해서, 우리는 두 가지 방법을 제안한다. 첫 번째 방법은 특정 지역의 프랙탈 합의 패턴을 변화시킬 필요성이 있을 경우에 사용하고, 두 번째 방법은 외부에 적용되는 추가적인 변이를 고려하지 않고 특정부분의 프랙탈 합의 결과 값을 고정할 때 사용한다. Where U is the number of noise functions to be added (called 'layer' or 'octave'), a j is the weight of the amplitude, and b j is the weight that controls the period of each noise function to be added. . The two weight values generally follow the following rules. If we define two weights in j = 1, ..., U as a j < a j +1, b j < b j +1, a low-period noise function has a high amplitude and a high-period noise The function will have a low amplitude. By controlling these weights or adding certain mathematical functions to the weights, you can create many different effects. Among them, FBM (Fractional Brownian Motion) and Turbulence are the most used methods. To control the result of the fractal sum, we propose two methods. The first method is used when there is a need to change the pattern of fractal consensus in a specific area, and the second method is used to fix the result of fractal consensus of a specific part without considering additional variation applied to the outside.

때때로 사용자는 프랙탈 합을 통해 나온 결과값을 제어함에 있어 그 공간 이외의 외부에는 최소화의 변이를 가져올 필요성이 있다. 구체적으로 시간에 따라 연속적으로 바뀌는 애니메이션의 경우 특정 프레임의 애니메이션에 제어를 가함에 있어 갑작스런 전역적 변화를 방지해야 할 필요성이 있다. 하지만, 프랙탈 합은 같은 편향치 벡터 테이블로 이루어진 여러 개의 노이즈 함수로 구성되어 있기 때문에, 모든 노이즈 함수가 제약 치를 나누어가지게 되면 지역적 변이가 아닌 전역적 변이가 일어나게 된다. 이런 현상의 이유는, 하나의 노이즈 함수를 제어하기 위해서 편향치 벡터에 변이를 일으키면, 그것을 참조하는 다른 노이즈들이 모두 영향을 받기 때문이다. 따라서 프랙탈 합의 제어를 통한 변이의 결과를 정확히 예상하기 힘들 다. 특정 지역의 패턴만을 바꾸는 패턴제어의 방법을 위해, 우리는 가장 큰 진폭을 가지는(따라서 가장 낮은 주기를 가진) 하나의 노이즈 함수만을 제어하는 방법을 제시한다. 이 방법으로 최소한의 외부적 변이만 일어나는 지역적 변이가 가능해 진다.Occasionally, the user needs to bring a minimal variation outside of that space in controlling the result of the fractal sum. Specifically, in the case of animation that changes continuously over time, there is a need to prevent sudden global changes in controlling the animation of a specific frame. However, since the fractal sum is composed of several noise functions that consist of the same bias vector table, when all noise functions are divided by constraints, global variation occurs, not local variation. The reason for this phenomenon is that if a bias vector is shifted to control one noise function, all other noises referring to it are affected. Therefore, it is difficult to accurately predict the result of the variation through the control of fractal consensus. For the method of pattern control to change only the pattern of a specific area, we present a method of controlling only one noise function with the largest amplitude (and therefore the lowest period). In this way, local variation occurs with minimal external variation.

간단한 설명을 위해, 두 개의 노이즈 함수의 합으로 이루어진 예제를 통해 설명하도록 하겠다.For the sake of simplicity, I will illustrate this with an example of the sum of two noise functions.

Figure 112005032994758-PAT00023
,
Figure 112005032994758-PAT00023
,

여기서

Figure 112005032994758-PAT00024
는 둘 중 높은 진폭을 가진 쪽이다. 이 경우 두 개의 노이즈 함수는 아래와 같이 두 개의 편향치를 성분으로 한 일차 식으로 표현 할 수 있다.here
Figure 112005032994758-PAT00024
Is the higher amplitude of the two. In this case, the two noise functions can be expressed as a linear equation with two bias values as follows.

Figure 112005032994758-PAT00025
Figure 112005032994758-PAT00025

Figure 112005032994758-PAT00026
Figure 112005032994758-PAT00026

위의 식에서, 우리는

Figure 112005032994758-PAT00027
Figure 112005032994758-PAT00028
는 함수를 계산할 때 편향치 값 g 2를 공유하고 있다고 가정했다. 우리가 원하는 건 가장 큰 진폭을 가지는
Figure 112005032994758-PAT00029
만을 변이 시키는 것이므로 최적화 문제의 설계에 있어서 편향치 값 h 1h 2(g 1g 2가 변이될 예상 값)만이 변수로 고려되어야 한다. 식으로 표현하면 F sum (x)=H로 제어할 때, 아래와 같이 상세한 식으로 서술할 수 있다.In the above expression, we
Figure 112005032994758-PAT00027
Wow
Figure 112005032994758-PAT00028
Assumes that the bias value g 2 is shared when computing the function. What we want is to have the largest amplitude
Figure 112005032994758-PAT00029
Since only variances are made, only the deflection values h 1 and h 2 (the expected values of g 1 and g 2 are likely to be shifted) should be considered in the design of the optimization problem. Expressed in the formula, when F sum ( x ) = H can be described in the following detailed expression.

Figure 112005032994758-PAT00030
Figure 112005032994758-PAT00030

약간의 정렬을 거치게 되면 아래와 같은 식이 얻어진다.After a little alignment, we get

Figure 112005032994758-PAT00031
Figure 112005032994758-PAT00031

따라서 임의의 개수를 가진 다차원 노이즈로 이루어진 프랙탈 합의 제약식은 아래와 같이 정리 될 수 있다Therefore, the constraint equation of fractal sum of multi-dimensional noise with arbitrary number can be summarized as follows.

Figure 112005032994758-PAT00032
Figure 112005032994758-PAT00032

여기서

Figure 112005032994758-PAT00033
는 노이즈 함수의 계산에 있어서 변이될 편향치 벡터 g *에 대한 모든 개수들을 뜻하고,
Figure 112005032994758-PAT00034
는 변이되지 않아야 할 노이즈 함수의 계산에 필요한 편향치 벡터와 개수의 합이다. here
Figure 112005032994758-PAT00033
Denotes all the numbers for the bias vector g * to be distorted in the calculation of the noise function,
Figure 112005032994758-PAT00034
Is the sum of the deflection vector and the number needed to calculate the noise function that should not be distorted.

결과값 제어는 프랙탈 합에 특정 지역에 주어진 값을 할당하는 것이다. 즉 아래와 같은 일반적인 제약식을 사용할 수 있다.Outcome control is assigning a given value to a specific region to a fractal sum. That is, the following general constraints can be used.

Figure 112005032994758-PAT00035
Figure 112005032994758-PAT00035

최적화 문제에 있어 각각의 노이즈 함수의 모든 편향치 벡터가 변수로 여겨진다. 예를 들어 앞의 패턴 제어와 같은 예를 사용했을 때, 제약식은 아래와 같다.In the optimization problem, all the bias vectors of each noise function are considered variables. For example, using the previous pattern control example, the constraint is:

Figure 112005032994758-PAT00036
Figure 112005032994758-PAT00036

h 1,h 2,h 3는 최적화 문제의 변수가 된다. 패턴 제어 때와 같이, 각각의 다른 노이즈 함수에서 같은 편향치 벡터를 같이 사용될 때 개수를 합쳐주는 과정이 필요하다. h 1 , h 2 , and h 3 are variables of the optimization problem. As with pattern control, a process of adding the numbers together when using the same deflection vector in different noise functions is required.

6) 결과6) Results

도면 7은 애니메이션 패스에 제어를 가한 경우를 보여준다. 원래의 패스 P(t)에 어떤 일차원 노이즈 Noise(t)가 더해졌을 경우, 움직이는 물체가 다른 물체를 뚫고 들어갈 위험이 생긴다(도면 7(a)). 충돌문제를 해결하기 위해, 충돌 전 노이즈에 제약을 가하게 되면 문제 해결이 가능하다. 우리는 물체들이 움직이면서 자동으로 충돌을 계산해 미리 노이즈를 제약하는 시스템을 만들었다.7 shows a case where control is applied to an animation path. If one-dimensional noise Noise ( t ) is added to the original path P ( t ), there is a risk of moving objects penetrating other objects (Fig. 7 (a)). In order to solve the collision problem, it is possible to solve the problem by applying noise before the collision. We built a system that automatically calculates collisions as objects move and constrains noise in advance.

도면 8에서 볼 수 있는 불 애니메이션 또한 노이즈 제어 기술이 들어간 것이다. 애니메이션은 이미 널리 알려진 방법인 3차원 노이즈가 더해진 자유 곡선을 통해 3차원 텍스처를 만드는 방법을 사용했다. 우리는 노이즈의 특정부분에 계속해서 제어를 줌으로써, 바람이 불어와 불이 한쪽으로 치우치는 결과를 간단히 시뮬레이션 할 수 있었다. 이 기술을 이용하면 불의 모양을 바꾸기 위해 자유 곡선을 바꿀 필요성이 없어진다. The fire animation shown in Figure 8 also includes noise control techniques. Animation used a well-known method of creating three-dimensional textures from free curves with three-dimensional noise. By continuing to control certain parts of the noise, we could simply simulate the effects of wind blowing and fire to one side. This technique eliminates the need to change the free curve to change the shape of the fire.

도면 9에선 주어진 점진적 텍스처(도면 9(a))를 흰 화살표 방향으로 제어를 가하는 결과인 도면 9(b)를 볼 수 있다. 도면 9(c)는 제어 전 텍스처와 제어 후 텍스처의 차이를 보여준다. 마지막으로 도면 9(d)는 노이즈 진폭한계치를 조절해서 더욱 큰 변이를 일으킨 결과이다. In Figure 9 we can see Figure 9 (b), which is the result of the control of the given progressive texture (Figure 9 (a)) in the direction of the white arrow. 9 (c) shows the difference between the texture before control and the texture after control. Finally, Figure 9 (d) is the result of the larger variation by adjusting the noise amplitude limit value.

도면 10은 지형 조절에 사용된 노이즈 제어를 보여준다. 일반적인 평지에 노이즈로 만든 난수를 높이로 적용해 계곡과 같은 굴곡을 만들어 내었다. 만약 디자이너가 특정 지역의 높이를 바꾸고 싶다면, 노이즈 제어 기술은 효과적으로 쓰일 수 있을 것이다.10 shows the noise control used for terrain control. Noise was applied to the flat plains at high heights to create valley-like bends. If the designer wants to change the height of a particular area, noise control techniques can be used effectively.

본 발명에서는 노이즈의 통계적 특징은 보존하면서, 사용자가 원하는 제약에 맞는 결과 값을 산출하는 방법을 제시한다. 본 연구는 이상적 형태의 통계 값과, 실제 노이즈 함수의 편향치의 통계 값의 차이를 최소화 하는 최적화 기법을 통해 이루어진다. 이 방법을 통해 노이즈가 적용된 애니메이션이나 모양에 대한 세부적인 제어가 가능하다.  The present invention provides a method for calculating a result value that meets a user's desired constraint while preserving the statistical characteristics of noise. This study is based on an optimization technique that minimizes the difference between the idealized statistical value and the statistical value of the bias of the actual noise function. This gives you finer control over the noiseed animation or shape.

Claims (1)

본 발명은, The present invention, 기존의 노이즈 테이블을 카이-스퀘어 테스트를 위한 해슁 테이블을 만드는 단계,Creating a hash table for the chi-square test of the existing noise table, 사용자에 의해 주어진 제약을 최적화 문제를 디자인 하는 단계,Designing the problem, optimizing the constraints given by the user 최적화 문제를 푸는 단계로 이루어지는데,To solve the optimization problem. 이러한 단계들을 통해 노이즈가 적용된 애니메이션이나 모양에 대한 세부적인 제어방법을 특허 청구한다.Through these steps, we patent the detailed control method for the noise or animation.
KR1020050053717A 2005-06-21 2005-06-21 Editing graphical objects using noise editing KR20060133847A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050053717A KR20060133847A (en) 2005-06-21 2005-06-21 Editing graphical objects using noise editing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050053717A KR20060133847A (en) 2005-06-21 2005-06-21 Editing graphical objects using noise editing

Publications (1)

Publication Number Publication Date
KR20060133847A true KR20060133847A (en) 2006-12-27

Family

ID=37812572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050053717A KR20060133847A (en) 2005-06-21 2005-06-21 Editing graphical objects using noise editing

Country Status (1)

Country Link
KR (1) KR20060133847A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11718949B2 (en) 2019-11-21 2023-08-08 Samsung Electronics Co., Ltd. Dryer and method for controlling the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11718949B2 (en) 2019-11-21 2023-08-08 Samsung Electronics Co., Ltd. Dryer and method for controlling the same

Similar Documents

Publication Publication Date Title
Sud et al. Fast dynamic voronoi treemaps
Szirmay‐Kalos et al. Free path sampling in high resolution inhomogeneous participating media
JP6736361B2 (en) Tessellation method using displacement coefficient
Lin et al. Quality guaranteed all-hex mesh generation by a constrained volume iterative fitting algorithm
Santamaría-Ibirika et al. Procedural approach to volumetric terrain generation
Ribelles et al. Multiresolution modeling of arbitrary polygonal surfaces: a characterization
Longva et al. Higher-order finite elements for embedded simulation
Zhang et al. Synthetic modeling method for large scale terrain based on hydrology
Co et al. Iso-splatting: A point-based alternative to isosurface visualization
Auer et al. A semi‐Lagrangian closest point method for deforming surfaces
Gaillard et al. Dendry: A procedural model for dendritic patterns
Oh et al. Two‐step Temporal Interpolation Network Using Forward Advection for Efficient Smoke Simulation
KR20060133847A (en) Editing graphical objects using noise editing
Talgorn et al. Real-time sketch-based terrain generation
Barthe et al. Triquadratic reconstruction for interactive modelling of potential fields
Valette et al. A dynamic model of cracks development based on a 3D discrete shrinkage volume propagation
Hyttinen et al. Terrain synthesis using noise by examples
Yoon et al. Editing noise
Balmelli et al. Computational analysis of mesh simplification using global error
Santamaría-Ibirika et al. Volumetric virtual worlds with layered terrain generation
Barthe et al. Interactive implicit modelling based on C1 continuous reconstruction of regular grids
Lamontagne Orometric noise for procedural terrain generation
Thorimbert et al. Polynomial methods for fast procedural terrain generation
Wang et al. An improved CPU–GPU parallel framework for real-time interactive cutting simulation of deformable objects
Tzathas et al. Physically‐based analytical erosion for fast terrain generation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid