2012-01-10 2 views
6

최대한 열심히 시도하십시오. 1D의 Perlin \ Samplex Noise에 대한 실제 튜토리얼을 찾을 수 없습니다.Perlin Noise for 1D?

전 인터넷을 검색했지만 아무 것도 찾을 수 없습니다. 내가 1D 펄린 노이즈에 대해 언급 한 사이트는 일반적으로 매우 명확하지 않거나 단지 코드를 보여줍니다.

+0

찾은 코드가 효과가 없었습니까? 귀하의 질문 ([그 중 하나] (http://lotsacode.wordpress.com/2010/02/24/perlin-noise-in-c/))에 적용되는 여러 코드 샘플이 온라인에있는 것으로 보입니다. 제공된 코드를 사용할 수 있고 코드를 찾고 있는데 문제가있는 것 같습니까? –

+0

거기에 따라 모든 코드의 조합은 상대적으로 어렵고, 코드가 있다면 그것에 대한 설명이 거의 없습니다. – DubyaDubyaDubyaDot

+1

복잡한 알고리즘을 묻습니다. 물론 그것을 구현하는 코드는 따라하기가 어렵습니다. 코드 *가해야 할 일을 이해합니까? 당신이 그랬다면 그물에있는 코드는 따르기가 쉽지 않을 것입니다. –

답변

-1

이 질문은 오래되었지만 이미 답변되었지만 2D Perlin 노이즈를 제거 할 수는 없었습니다. x 또는 y에 항상 0을 사용 하시겠습니까?

+0

그것은 엄청난 성능 손실이 될 것이다. –

+0

네, 그건 사실입니다 ... – Jwosty

+0

는 코멘트 여야합니다 –

1

나는이 오래된 질문이다 그러나 여기에서 1 차원 펄린 노이즈 알아야 할 가장 중요한 사항 중 http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

하나를 구성하는 고정 점 사이의 보간에 대한 명확한 설명 중 하나입니다 알고, 모든 프로그램에 유용입니다 당신이 smoothstep 보간과 임의의 점을 일단 보간 기능 ...

http://paulbourke.net/miscellaneous/interpolation/

, 당신은 부드러운 1D 노이즈 함수의 종류를 가지고있다.

위키의 smoothstep을 참조하십시오. 구글을 통해 많은 주제에.

https://en.wikipedia.org/wiki/Smoothstep 분명히 하이퍼 링크는 여기 다시이며, 불안정 :

단면 노이즈 켄 펄린은 그의 고전적인 노이즈 알고리즘의 교체를 "단순 노이즈"를 발표

을 신화화. 클래식 "펄린 노이즈"는 아카데미 상을 수상했으며 수십 년 동안 컴퓨터 그래픽을위한 유비쿼터스 절차 프리미티브가되었습니다.하지만 뒤늦은 지경에 따라 몇 가지 제한 사항이 있습니다. Ken Perlin은 그 한계를 극복하기 위해 특별히 단순한 노이즈를 설계했으며 그에게 은 많은 좋은 생각을 보냈습니다. 따라서 원래의 알고리즘보다 더 좋은 아이디어입니다.

더 눈에 잘 띄는 장점 중 몇

은 다음과 같습니다 심플 렉스 소음이 낮은 계산 복잡도를 가지고 있으며, 적은 수의 곱셈을 필요로

•.

• 단순 노이즈는 계산량이 훨씬 적은 고차원 (4D, 5D 및 그 이상)으로 확장되지만 고전적인 노이즈 대신 치수가 복잡합니다.

• 단방향 노이즈에는 눈에 띄는 방향 인공물이 없습니다.

• 단방향 노이즈는 어느 곳에서나 정의되고 연속적인 그래디언트가 적용되어 을 매우 저렴하게 계산할 수 있습니다.

• 단방향 노이즈는 하드웨어로 구현하기 쉽습니다.

슬프게도 2005 년 초반에 거의 아무도 단순한 노이즈를 이해하지 못하는 것처럼 보였습니다. 거의 아무도 사용하지 않습니다. 이것이 내가 이것을 쓴 이유입니다. 알고리즘을 좀 더 철저히 설명하려고합니다. Ken Perlin이 Siggraph 2001 및 2002에서 작성한 코스 노트에서 수행 할 시간이 있고 희망 사항으로 처음 이해되는 것처럼 이해하기 어렵지 않다는 것을 분명히 알리십시오. 내가 배운 것을 보면 사람을 가장 혼란스럽게 만드는 것은 Ken Perlin의 Java에서 참조 구현 인 의 침입 할 수없는 특성입니다.그는 에 매우 컴팩트하고 주석이없는 코드를 보여 주지만 그 코드는 자습서로 읽히지 않을 것입니다. 몇 번 시도한 후 나는 코드를 포기하고 대신 자신의 논문을 읽었습니다.

아니요 크리스탈 은 분명히 단어와 코드 스 니펫으로 알고리즘을 제시하므로 분명합니다. 나는 을 몇 가지 그래프와 수치, 그리고 몇 가지 유용한 방정식에 대해 고맙게 생각하며, 여기에 을 제공하려고합니다. 다른 사람들이 단순한 노이즈의 위대함과 아름다움을 더 쉽게 이해할 수 있도록하기 위해서입니다. 나는 도 그래프로 설명하기 쉽도록 일차원 및 이차원으로 물건을 설명하고 및 이미지를 입력 한 다음 3 차원 및 4 차원으로 이동합니다. 클래식 노이즈 심플 렉스 노이즈를 설명하기 위해 고전적인 Perlin 노이즈를 잘 이해하면 도움이됩니다. 나는이 분야에서 많은 잘못된 정보와 잘못된 정보를 보았으므로, 당신은 필요한 기초 작업을 확실히하기 위해 에 고전적인 Perlin 노이즈를 먼저 제시 할 것입니다.

Perlin 노이즈는 소위 그래디언트 노이즈입니다. 즉, 공간에서 일정한 간격의 점에서 의사 랜덤 그래디언트 을 설정하고 이러한 점 사이에서 부드러운 기능을 보간하는 것을 의미합니다. 이 한 차원에서 Perlin 노이즈를 생성하려면 각각의 정수 좌표와 노이즈 함수 에 의사 무작위 그라디언트 (또는 기울기)를 연결하고 각 정수 좌표 에서 함수 값을 0으로 설정합니다. 대체로 두 정수 포인트 사이의 값 두 값 왼쪽과 오른쪽에서 가장 가까운 직선 기울기가 외삽 된 경우 결과했을 즉 값 사이에 보간 주어진 지점에 대한

문제의 요점. 이 보간법은 부드러운 단계의 알 고입니다.

+0

링크가 죽었습니다 –

+1

확인한 날과 똑같은 날에 그것을 클릭했을 때 죽은 것이 아니 었습니다. 살아있어. –

+0

죄송합니다, 지금 작동합니다. –

관련 문제