SlideShare ist ein Scribd-Unternehmen logo
1 von 23
GPG 2. Section 2. Mathmatics 2.8

    프랙탈의 프로그래밍
 (Programming Fractals)
DevRookie Study, 2011.11.19 박민근(알콜코더)
개요
• 랚덤 생성 지형의 필요성

• 프랙탈(fractal)
  • 완전 난수에 기반핚 지형은 형태가 무작위적이어서 비현실적
  • 프랙탈 – 혼돈과 질서가 혼합되어 있다
  • 제어가 가능, 항상 새로운 지형 생성 가능
  • 규칙속의 무작위성이 존재
  • 지형의 하이트맵 생성에 사용
플라즈마 프랙탈
• 가장 흔핚 형태
• 프로그래밍이 매우 쉽다. 속도가 빠르다
플라즈마 프랙탈
• 네 귀퉁이에 임의의 높이를 배정
• 귀퉁이들을 선형적으로 보갂
• 전체 맵을 특정 크기로 분핛, 위의 과정을 재귀적으로 반복
• 중심 정점에 랚덤 범위를 빼거나 더해준다
• 범위를 H라는 계수로 뺀다
• H를 제어함으로서 무작위성을 제어 가능
플라즈마 프랙탈
• 프랙탈의 제어가 매우 적다
• 가장자리에서의 융기가 뚜렷하다
단층 프랙탈
• 프로그래밍하기 쉬우나, 플라즈마 프랙탈보다 훨씬 느리다
• 임의의 단층선을 따라서, 여러 번의 지진을 일으키는 것
단층 프랙탈
• 하이트맵을 가로지르는 임의의 선을 긋는다
• 선의 핚쪽은 조금씩 올리고, 반대쪽은 조금씩 내린다
• 이러핚 과정을 계속 반복핚다
단층 프랙탈
• 속도가 느리다
• 난수의 범위 이외에는 제어 계수가 존재하지 않는다
프랙탈 브라운 운동(FBM)
• 좀더 확실핚 수학적 기반과 수학적 특징을 가지고 있으며, 다루
 기가 갂단하다
• 갂단히 말해 음악의 주파수 그래프 모양으로 지형을 생성하는 것
• 노이즈 함수들의 조합 (ex. 펄린 노이즈)
프랙탈 브라운 운동(FBM)
프랙탈 브라운 운동(FBM)
• 노이즈 함수
 • 규칙적인 배열을 준비하고, 랚덤값을 배정핚다
 • 각 점마다 랚덤값을 보갂하여, 프랙탈 값을 생성핚다
 • 주파수로 값의 범위를 결정핚다
프랙탈 브라운 운동(FBM)
• 다양핚 주파수들의 노이즈 함수들을 만든 후,
• 그 노이즈 함수들이 돌려준 높이 값을 혼합하기만 하면 된다.
• 혼합 방법은 더하거나, 곱하거나 그외의 방식으로 가능
• 계수
  • 옥타브 : 얼마나 많은 잡음들을 함께 더핛 것인지
  • 진폭 : 노이즈의 전체적인 높이
  • H : 각 옥타브에 대해 진폭이 얼마나 변핛 수 있는가
프랙탈 브라운 운동(FBM)
• 낮은 주파수의 노이즈 : 낮은 지형. 언덕과 산
• 높은 주파수의 노이즈 : 굴곡이 많은 계곡
• 더하거나 곱해서 다양핚 지형의 종류를 만들어 낸다.
FBM 구현
• 난수 함수
FBM 구현
• 코사인 보갂 함수
FBM 구현
• 난수들을 보갂하는 노이즈 함수
FBM 구현
• 스무딩 함수
FBM 구현
• FBM 함수
FBM 구현
• 다중 프랙탈
FBM의 활용 - 구름
FBM의 활용 - 구름
FBM의 활용 - 지형
FBM의 활용 - 지형

Weitere ähnliche Inhalte

Was ist angesagt?

拡大縮小から始める画像処理
拡大縮小から始める画像処理拡大縮小から始める画像処理
拡大縮小から始める画像処理yuichi takeda
 
취미로 엔진 만들기
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기Jiho Choi
 
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...Deep Learning JP
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?Yusuke Shirakawa
 
Prml 2_3_5
Prml 2_3_5Prml 2_3_5
Prml 2_3_5brownbro
 
NeurIPS2020参加報告
NeurIPS2020参加報告NeurIPS2020参加報告
NeurIPS2020参加報告Sho Takase
 
Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Bongseok Cho
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習Masayuki Tanaka
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじsleepy_yoshi
 
[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph GenerationDeep Learning JP
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてRyutaro Yamauchi
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​ARISE analytics
 
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...Deep Learning JP
 
R言語による簡便な有意差の検出と信頼区間の構成
R言語による簡便な有意差の検出と信頼区間の構成R言語による簡便な有意差の検出と信頼区間の構成
R言語による簡便な有意差の検出と信頼区間の構成Toshiyuki Shimono
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.ozlael ozlael
 
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...Deep Learning JP
 
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서Kim kyoung-song
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 

Was ist angesagt? (20)

拡大縮小から始める画像処理
拡大縮小から始める画像処理拡大縮小から始める画像処理
拡大縮小から始める画像処理
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
 
취미로 엔진 만들기
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기
 
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
Prml 2_3_5
Prml 2_3_5Prml 2_3_5
Prml 2_3_5
 
NeurIPS2020参加報告
NeurIPS2020参加報告NeurIPS2020参加報告
NeurIPS2020参加報告
 
Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)Game Physics Engine Development (게임 물리 엔진 개발)
Game Physics Engine Development (게임 물리 엔진 개발)
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじ
 
[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法について
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​【論文レベルで理解しよう!】​ 欠測値処理編​
【論文レベルで理解しよう!】​ 欠測値処理編​
 
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...
[DL輪読会]NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Det...
 
R言語による簡便な有意差の検出と信頼区間の構成
R言語による簡便な有意差の検出と信頼区間の構成R言語による簡便な有意差の検出と信頼区間の構成
R言語による簡便な有意差の検出と信頼区間の構成
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
 
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
 
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 

Andere mochten auch

3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib웅식 전
 
[발표자료]Game interface design
[발표자료]Game interface design[발표자료]Game interface design
[발표자료]Game interface designJun-Seok Mun
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들Jubok Kim
 
[비즈스프링] 웹로그분석 보고서 Example
[비즈스프링] 웹로그분석 보고서 Example[비즈스프링] 웹로그분석 보고서 Example
[비즈스프링] 웹로그분석 보고서 ExampleBizSpring Inc.
 
진선웅 유저수만큼다양한섬을만들자 공개용
진선웅 유저수만큼다양한섬을만들자 공개용진선웅 유저수만큼다양한섬을만들자 공개용
진선웅 유저수만큼다양한섬을만들자 공개용Sunwung Jin
 
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계Imseong Kang
 
보고서 작성의 기술 With 파워포인트
보고서 작성의 기술 With 파워포인트보고서 작성의 기술 With 파워포인트
보고서 작성의 기술 With 파워포인트장표 홍
 
Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_ozlael ozlael
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Andere mochten auch (10)

3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib
 
[발표자료]Game interface design
[발표자료]Game interface design[발표자료]Game interface design
[발표자료]Game interface design
 
NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들NDC2011 - 절차적 지형과 트렌드의 추적자들
NDC2011 - 절차적 지형과 트렌드의 추적자들
 
[비즈스프링] 웹로그분석 보고서 Example
[비즈스프링] 웹로그분석 보고서 Example[비즈스프링] 웹로그분석 보고서 Example
[비즈스프링] 웹로그분석 보고서 Example
 
진선웅 유저수만큼다양한섬을만들자 공개용
진선웅 유저수만큼다양한섬을만들자 공개용진선웅 유저수만큼다양한섬을만들자 공개용
진선웅 유저수만큼다양한섬을만들자 공개용
 
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
 
보고서 작성의 기술 With 파워포인트
보고서 작성의 기술 With 파워포인트보고서 작성의 기술 With 파워포인트
보고서 작성의 기술 With 파워포인트
 
Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_Optimizing the graphics_pipeline_
Optimizing the graphics_pipeline_
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Mehr von MinGeun Park

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdfMinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석MinGeun Park
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이MinGeun Park
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBRMinGeun Park
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OTMinGeun Park
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.MinGeun Park
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & TrickMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법MinGeun Park
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 MinGeun Park
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기MinGeun Park
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 

Mehr von MinGeun Park (20)

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 

[Gpg2권 박민근] 2.8 프랙탈의 프로그래밍

  • 1. GPG 2. Section 2. Mathmatics 2.8 프랙탈의 프로그래밍 (Programming Fractals) DevRookie Study, 2011.11.19 박민근(알콜코더)
  • 2. 개요 • 랚덤 생성 지형의 필요성 • 프랙탈(fractal) • 완전 난수에 기반핚 지형은 형태가 무작위적이어서 비현실적 • 프랙탈 – 혼돈과 질서가 혼합되어 있다 • 제어가 가능, 항상 새로운 지형 생성 가능 • 규칙속의 무작위성이 존재 • 지형의 하이트맵 생성에 사용
  • 3. 플라즈마 프랙탈 • 가장 흔핚 형태 • 프로그래밍이 매우 쉽다. 속도가 빠르다
  • 4. 플라즈마 프랙탈 • 네 귀퉁이에 임의의 높이를 배정 • 귀퉁이들을 선형적으로 보갂 • 전체 맵을 특정 크기로 분핛, 위의 과정을 재귀적으로 반복 • 중심 정점에 랚덤 범위를 빼거나 더해준다 • 범위를 H라는 계수로 뺀다 • H를 제어함으로서 무작위성을 제어 가능
  • 5. 플라즈마 프랙탈 • 프랙탈의 제어가 매우 적다 • 가장자리에서의 융기가 뚜렷하다
  • 6. 단층 프랙탈 • 프로그래밍하기 쉬우나, 플라즈마 프랙탈보다 훨씬 느리다 • 임의의 단층선을 따라서, 여러 번의 지진을 일으키는 것
  • 7. 단층 프랙탈 • 하이트맵을 가로지르는 임의의 선을 긋는다 • 선의 핚쪽은 조금씩 올리고, 반대쪽은 조금씩 내린다 • 이러핚 과정을 계속 반복핚다
  • 8. 단층 프랙탈 • 속도가 느리다 • 난수의 범위 이외에는 제어 계수가 존재하지 않는다
  • 9. 프랙탈 브라운 운동(FBM) • 좀더 확실핚 수학적 기반과 수학적 특징을 가지고 있으며, 다루 기가 갂단하다 • 갂단히 말해 음악의 주파수 그래프 모양으로 지형을 생성하는 것 • 노이즈 함수들의 조합 (ex. 펄린 노이즈)
  • 11. 프랙탈 브라운 운동(FBM) • 노이즈 함수 • 규칙적인 배열을 준비하고, 랚덤값을 배정핚다 • 각 점마다 랚덤값을 보갂하여, 프랙탈 값을 생성핚다 • 주파수로 값의 범위를 결정핚다
  • 12. 프랙탈 브라운 운동(FBM) • 다양핚 주파수들의 노이즈 함수들을 만든 후, • 그 노이즈 함수들이 돌려준 높이 값을 혼합하기만 하면 된다. • 혼합 방법은 더하거나, 곱하거나 그외의 방식으로 가능 • 계수 • 옥타브 : 얼마나 많은 잡음들을 함께 더핛 것인지 • 진폭 : 노이즈의 전체적인 높이 • H : 각 옥타브에 대해 진폭이 얼마나 변핛 수 있는가
  • 13. 프랙탈 브라운 운동(FBM) • 낮은 주파수의 노이즈 : 낮은 지형. 언덕과 산 • 높은 주파수의 노이즈 : 굴곡이 많은 계곡 • 더하거나 곱해서 다양핚 지형의 종류를 만들어 낸다.
  • 15. FBM 구현 • 코사인 보갂 함수
  • 16. FBM 구현 • 난수들을 보갂하는 노이즈 함수
  • 20. FBM의 활용 - 구름
  • 21. FBM의 활용 - 구름
  • 22. FBM의 활용 - 지형
  • 23. FBM의 활용 - 지형