목록Season 1/플래시 (29)
Graphics Programming
Tools - Install Software 선택. 세 개를 체크하고 업데이트한다.이제부터 노가다를 해야 한다. 프로젝트 속성에서 SDK는 최신 버전으로 선택할 수 있다.하지만 Output 탭에 가보면 플레이어 최신 버전이 없고 구버전으로 실행된다. C:\사용자\\AppData\Local\FlashDevelop\Settings\Platforms\AS3 로 가면 air.xml과 flashplayer.xml이 있다. 목록이 여기서 끝나면 FlashDevelop\Apps\flashsa 디렉토리를 확인하고 빠진 최신 버전들을 추가한다.내 경우는 25.0, 26.0이 빠져있었다. value와 swf-version은 동일하게 1씩 증가하는데확실히 하려면 https://www.adobe.com/devnet/artic..
표시 객체를 다루다보면 부모 표시 객체를 참조할 일이 생긴다. 비슷한 객체들을 묶어서 관리하기 위해 Sprite 객체 하나를 컨테이너로 쓴다고 치자. 다음은 메인 루프에서 호출되는 Box 클래스의 update 메서드다. class Box { public function update():void {var pivotX:Number = parent.xvar pivotY:Number = parent.y// do something with (x, y) and (pivotX, pivotY)} } 이 메서드는 박스의 부모, 즉 container의 위치를 이용하여 무언가를 갱신한다. 그 외에도 여러 메서드에서 parent 속성을 이용해 컨테이너를 참조한다. 그런데 나중에 편의상 또다시 box와 circle을 따로 묶게..
참고문헌: Richard O. Duda. Chapter 3: MLE and Bayesian Estimation In Pattern Classification 2ed (pp. 11-13) Bayes learning simulation - wonderfl build flash online 패턴 인식. 지금까지 학부 수업이 너무 쉽다고 투덜거린 나를 비참하게 만들고 있는 과목. 교재를 아무리 읽어도 너무 어렵다. 베이즈 매개변수 추정을 읽으며 이게 뭔소린가 끙끙 앓다가 코딩을 해보고 감을 잡았다. 일변수 확률 변수 X가 정규 분포를 따르고 펑균이 μ, 표쥰편차가 σ라 하자. μ는 모르고 σ는 아는 상황에서 μ를 추정하고자 한다. (별로 현실적이지 않은 가정으로, 학습을 위해 책에서 설정한 가장 단순한 문제다...
blockwise DCT - wonderfl build flash online JPEG 압축에 쓰이는 discrete cosine transform을 구현했다. 이미지 가로, 세로 길이는 8의 배수라 가정하며 다음과 같이 작동한다. 1. 원본 이미지를 준비한다. 여기서는 간단히 펄린 노이즈를 생성했다. 2. DCT를 수행한다. 3. Quantization을 수행한다. 4. band cutting을 수행한다. 주파수 영역에서 정보가 손실될 때 복원률을 알아보기 위한 단계다. 5. IDCT를 수행한다. 6. 원본 이미지, 주파수 이미지, 복원 이미지를 화면에 그린다. DCT 이미지에 마우스를 올리면 마우스가 있는 블록의 주파수 값을 볼 수 있다. 이미지를 8x8 블록들로 나눠서 DCT를 수행하기 때문에 대응..
램버트의 조명 모형을 쓰려면 다음을 계산해야 하는데 D = max(-dotProduct(N, L), 0) * C (N은 표면의 단위 법선 벡터, L은 빛의 단위 방향 벡터, C는 빛의 rgb값) AGAL 명령에는 max가 없는 줄 알았다. 그래서 이런 식으로 계산해야 하는데 d = -dotProduct(N, L) if(d = c이면 a에 1을 넣고, 그렇지 않으면 a에 0을 넣는다) 다음과 같이 픽셀 셰이더를 작성하여 램버트의 조명 모형을 구현할 수 있다. /********************** v0: 표면의 법선 벡터 (정점 셰이더에서 넘어왔기 때문에 단위 길이가 아님) fc0..
stage3d study - shadow on plane - wonderfl build flash online A: 공간상의 점 L: 단위 빛 벡터 (무한히 먼 태양에서 오는 빛처럼 방향은 일정하다고 가정) n: 평면의 법선 벡터 r: 평면이 포함하는 한 점 A에서 L의 방향을 따라 진행했을 때 평면과 교차하는 점, 즉 그림자가 드리우는 지점을 찾는 것이 목표다. - 그림의 반직선을 A + tL(t는 실수, t ≥ 0)로 나타낸다. - 평면이 포함하는 임의의 점을 x라 하면 n·x = n·r 이 성립한다. 내적 기호가 안 보임 x에 A + tL을 대입하고 t에 대해 정리하면 이 나온다. 손으로 계산하거나 CPU를 쓸 때는 t를 구해서 A + tL에 대입하면 그림자 위치를 구할 수 있지만 GPU를 쓰기 때..
원문 http://www.adobe.com/devnet/flashplayer/articles/perspective-projection.html 도입 이 튜토리얼에서는 원근법을 배웁니다. 원근법은 플래시 프로젝트에서 3D 렌더링을 사용할 때 기초가 되는 주제입니다. 이번에는 Stage3D API를 사용하여 원근이 있는 삼차원 공간을 그리는 방법을 알아보겠습니다. 이 튜토리얼은 Stage3D 작업에 관한 시리즈의 일부로 삼각형 그리기를 설명하는 이전 튜토리얼의 정보를 기초로 합니다. 원근법을 적용하여 3D 장면을 그림으로써 이전의 견본을 더 높은 수준으로 끌어올리게 될 것입니다. 원근 이해하기 현실에서 우리는 사물을 "원근법"에 따라 봅니다. 원근은 여러분에게 멀리 있는 물체가 가까이 있는 물체보다 더 작게..
다음 글을 번역한 것입니다. http://www.adobe.com/devnet/flashplayer/articles/hello-triangle.html Requirements Prerequisite knowledge Familiarity working with the Stage3D API and a basic understanding of how it is structured is required. Basic knowledge of Vertex and Fragment Shaders, and the AGAL shading language is also recommended. Before completing this tutorial, be sure to follow along with the previous..