분류 전체보기590 Bitwise operation IV 가장 오른쪽의 1인 비트의 위치를 알기 위해서는 간단한 수식을 정의할 수 있습니다. 여기서는 \( \rho (x) \)란 함수를 정의해서 사용하고자 합니다. 이 함수는 x란 숫자가 입력되었을 때, 가장 오른쪽의 1인 비트의 위치를 0부터 시작해서 표시하는 함수입니다. 애석하게도 \( \rho (0) \)에 대해서는 정의를 내릴 수가 없습니다. \[ \rho(2x) = \rho(x) + 1 \] \[ \rho(2x+1) = 0 \] \[ \rho(x-y) = \rho(x \oplus y) \] 사실 여기서 어떤 힌트를 얻어서 알고리즘을 만드는 것은 아닙니다. 오히려 우리가 얻어야 하는 힌트는 다른 데에 있습니다. 옛날에 제가 어렸을 때, 숫자를 맞추는 마술카드를 본 적이 있습니다. 이 마술카드는 1부터 5.. 2011. 9. 26. 비둘기집 문제 [질문] 1) 13명 중에 적어도 두 사람은 같은 달에 생일이 있음을 설명하라. 2) 색깔이 다름 10컬레의 장갑이 어둠 속에 뒤섞여 있다. 이중에서 장갑을 적어도 몇 짝을 집어야 색깔이 맞는 한 컬레가 포함되는가? 3) 가로, 세로 길이가 2m인 방안에 5개의 인형을 놓을 때 임의의 두 인형은 반드시 √2m이내에 있게 됨을 보여라. 4) 어느 파티에 30명이 있다. 같은 수의 친구를 가진 두 명이 있음을 설명하라. 5) 한 변의 길이가 1인 정삼각형 안에 5개의 점을 잡으면 거리가 1/2 이하인 두 점이 존재함을 밝혀라. 6) 사과 10개, 바나나, 15개 수박 5개, 참외 7개, 자두 20개가 있다. 이 중 몇 개를 골라야 같은 종류의 과일 9개가 반드시 포함되는가? (예를 들면, 사과 8개+바나나2.. 2011. 9. 25. 직각 삼각형 극한 문제 질문) 각 A가 직각인 삼각형 ABC에서 변AB=1 변BC=3일때 변BC를 n+1로 등분하여 각각의 분점을 \( M_1 , M_2 , M_3 , ..., M_n \) 이라고 한다. 이때, \[ \lim_{n \to \infty} \sum_{k=1}^{n} \overline{AM_{k}}^{2} \] 의 값을 구하면?? 답변) 질문 내용은 위 그림과 같이 표현할 수 있습니다. M 지점이 BC 길이의 k/(n+1) 이라고 한다면, BH 길이는 BA 길이의 k/(n+1)이 됩니다. MH 길이는 CA 길이의 k/(n+1)이 되고요. (닮은꼴) HA 길이는 BA 길이의 (n+1-k)/(n+1)이 됩니다. MA 길이는 결국 피타고라스 정리에 의해서, \[ \overline{M_k A}^2 = \overline{H_.. 2011. 9. 25. 원주상에서 예각 삼각형 경우의 수 질문) points A1, A2, ..., AN are equally spaced around the circumference of a circle and N≥3. three of these points are selected at random and a triangle is formed using these points as its points as its vertices. a) If N=7, what is the probability that the triangle is acute? (A triangle is acute ir each of its three interior andgles is less than 90˚) b) If N=2k for some positive integer k≥2, dete.. 2011. 9. 25. 성능향상을 위한 방법들 1. NiPick에서의 충돌 검사 일반적으로 충돌 처리를 NiPick을 이용해서 많이 합니다. 그런데 NiPick에는 심각한 문제가 있습니다. 그것은 거리와 상관없이 해당 방향에 있는 모든 오브젝트에 대해서 검사를 한다는 것이죠. NiPick 충돌 검사 비용을 줄이기 위해서는 트라이앵글 충돌검사비용을 줄여주어야 합니다. 그렇게 하기 위해서는 경계구에서 거리가 먼경우(경계구의 중심점과 NiPick.Ray의 origin 위치사이의 거리에서 경계구의 반지름을 뺀 값)에는 아예 그 안에 들어가지 않게 하는 것입니다. 이렇게 하면 속도향상을 상당부분 줄 수 있습니다. NiPick을 이용한 충돌은 기본적으로 카메라 충돌 검사, 서있는 위치 알아오기, 이동방향에 대한 충돌 등 다양하게 적용되겠죠. 2. Update .. 2011. 9. 24. NiAVObject::Update 게임브리오에서 노드들의 위치 및 경계구(Bounding sphere)를 업데이트하는 함수는 NiAVObject에 있는 Update 함수입니다. 초기 게임브리오 엔진(NetImmerse)에서는 Update 함수가 애니메이션을 항상 업데이트하게 되어 있었습니다. 그러나 지금은 애니메이션을 필요에 따라서 할 수 있습니다. 그 외에도 여러가지 형태로 Update를 제공하고 있습니다만, 기본적으로 비슷합니다. 가장 많이 헷갈리는 것이 바로 Update(0.0f)의 의미입니다. Update(0.0f)는 초기화과정으로 반드시 루트노드(Root node or top node)는 이 과정을 거쳐야 합니다. 이 과정이 없으면 프로그램은 정상적으로 동작하지 않으며, 심각한 오류를 발생시킵니다. 루트노드가 아니라면? 굳이 안.. 2011. 9. 24. 이전 1 ··· 90 91 92 93 94 95 96 ··· 99 다음 728x90