쏘는 벡터의 시작점을 x,y,z라고 할때, 이 벡터가 3차원 배열 을 통과하여 나오는 탈출구 p,q,r을 찾아보세요.
(고등수학 정도의 계산이면 충분히 구할 수 있을듯 싶습니다.)
그 다음 x,y,z와 p,q,r을 서로 마주보는 가장 먼 대각선으로 갖는 직육면체를 생각해보세요.
그리고나서 이제 대각선 x,y,z ~ p,q,r이 통과하는 단위 정육면체(단위의 크기는 sizeof(arr[0][0][0]) 이겟지요.)의 갯수를 구하면 되지 않을까요?.
만약 n,m,l (n,m,l은 자연수) 직육면체의 대각선을 이었을때, 이것이 통과하는 단위 정육면체의 갯수는
n+m+l-gcd(n,m)-gcd(m,l)-gcd(n,l)+1 이라는 것도 알려져 있으니 여기에 약간의 응용만 한다면 구할 수 있지 않을까요?
자료구조까지 배우셧으면, 왠만한 허찌르기 숙제,왠만한 저의를 알기힘든 출제자의 반응정도는 경험하셨을텐데, 어느부분이 애로사항인지 짐작이 안되시나요?
옛날 칼럼이나 기사들을 검색하면 수학과 프로그래밍에대한 견해들이 있을텐데 그게 어떤 철학적인 힌트가 될수있지만,어딧는지는 모르겠네요...
그리고, 정확한지 애매하지만, 2차원그래프를 생각해보면, y=2x+4라는 그래프가 있을때, y값은 x가 1일때 6,2일때 8,3일때 10이런식으로 진행되는건 아시져? 3차원도 그런 식으로 하면 될듯합니다. 야매로써, FM알고리즘은 어떻게 푸는지 모르겠지만...
--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------
어떤 방식으로 해결한다기보다.. 어떤걸 공부하거나,
어떤 방식으로 해결한다기보다.. 어떤걸 공부하거나, 키워드라도 알려주시면 감사하겠습니다. ㅜㅜ
워나
고등학교수학
직선(벡터)과 점(배열의 요소의 중점)사이의 거리만 구하면 되겠네요. 배열의 요소는 구가 아니라 직육면체모양이니 판단하기 에매한 구간이 있을텐데 그런영역에서 정확히 하려면 거리가 아니라 거리벡터를 구해서 그게 요소 내부에 있는지를 보면 되구요.
"3차원 공간의 3차원 배열에, 어느 점에서 벡터를
"3차원 공간의 3차원 배열에, 어느 점에서 벡터를 쏘아 3차원 배열을 통과시킬 때"
이 말이 무슨뜻인지 원글자 분은 이해하시는지요?
문제의 해결방법보다 문제가 무슨 뜻인지를 이해하는게 먼저일 것 같습니다.
3차원 공간의 3차원 배열??
벡터를 쏜다?
배열을 통과시킨다?
모두 인문학적인 표현이지, 이학/공학과는 거리가 먼 표현들이네요..
3차원 배열이라면..
폴리곤 집합을 통과하는 벡터(ray)를 구하고 싶으신건가요??
.
주어진 벡터를 parameterization한 다음에 parameter를 조금씩 증가시켜 나가면서 그 값에 해당하는 3차원 값을 얻어내면 될 것 같습니다.
예를들어, 원래 벡터가 v = (x, y, z)라 할 때,
w(t) = tv = (tx, ty, tz) (0 <= t <= 1)와 같이 나타낸 다음
t들을 작게 증가시켜면서 array[w(t).x][w(t).y][w(t).z] 들을 출력하면 될 듯합니다.
t를 얼마나 작게 증가시켜야 하는지는(t를 0.00000001씩 증가시킬 수도 있지만 그럴 필요가 없어요..) 잘 생각해보시면 답이 나올겁니다..
약간 덧붙이자면
배열의 index는 정수여야 하지만 w(t)의 값들은 실수일 수 있으니, floor를 취하면 될 듯 합니다.
컴퓨터 본연의 실수 연산 error도 약간 감안을 하셔야 할 것 같구요..
그리고 지금 보니 t는 반드시 0 이상 1 이하일 이유가 없군요.
선'그리기 부터 해보세요.
D3DXIntersect 네이버에서 검색해보세요.
2D는 이거 참고하시면 편합니다.
http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=278&MAEULNo=20&no=32157&ref=32157
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
그냥삼차원히스토그램아닌가요?
그냥삼차원히스토그램아닌가요?
감사합니다. ㅜ
아직 감이 잡히지는 않지만.. 설명해주신 것들 토대로 공부해보겠습니다..
워나
도움이 될지는 모르겟지만
쏘는 벡터의 시작점을 x,y,z라고 할때, 이 벡터가 3차원 배열 을 통과하여 나오는 탈출구 p,q,r을 찾아보세요.
(고등수학 정도의 계산이면 충분히 구할 수 있을듯 싶습니다.)
그 다음 x,y,z와 p,q,r을 서로 마주보는 가장 먼 대각선으로 갖는 직육면체를 생각해보세요.
그리고나서 이제 대각선 x,y,z ~ p,q,r이 통과하는 단위 정육면체(단위의 크기는 sizeof(arr[0][0][0]) 이겟지요.)의 갯수를 구하면 되지 않을까요?.
만약 n,m,l (n,m,l은 자연수) 직육면체의 대각선을 이었을때, 이것이 통과하는 단위 정육면체의 갯수는
n+m+l-gcd(n,m)-gcd(m,l)-gcd(n,l)+1 이라는 것도 알려져 있으니 여기에 약간의 응용만 한다면 구할 수 있지 않을까요?
일단 2차원에서 그림 그려서 해보세요. 그 다음
일단 2차원에서 그림 그려서 해보세요.
그 다음 3차원 이상으로 확장하는건 쉽습니다.
피할 수 있을때 즐겨라! http://melotopia.net/b
자료구조까지 배우셧으면, 왠만한 허찌르기 숙제,왠만한
자료구조까지 배우셧으면, 왠만한 허찌르기 숙제,왠만한 저의를 알기힘든 출제자의 반응정도는 경험하셨을텐데, 어느부분이 애로사항인지 짐작이 안되시나요?
옛날 칼럼이나 기사들을 검색하면 수학과 프로그래밍에대한 견해들이 있을텐데 그게 어떤 철학적인 힌트가 될수있지만,어딧는지는 모르겠네요...
그리고, 정확한지 애매하지만, 2차원그래프를 생각해보면, y=2x+4라는 그래프가 있을때, y값은 x가 1일때 6,2일때 8,3일때 10이런식으로 진행되는건 아시져? 3차원도 그런 식으로 하면 될듯합니다. 야매로써, FM알고리즘은 어떻게 푸는지 모르겠지만...
--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------
댓글 달기