C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[6805] Re:Re: 예전에 구입했던 책에 딸려있던 클래스였어요
김상구.패패루 [peperu] 1384 읽음    2003-02-13 20:06
일단, 백일님의 그 풍부한 정보에 항상 감사드립니다.
오늘도 사실 백일님이 좋은 정보를 주실 줄 알고 글을 썼습니다.

제가 지금까지 쓰던건 예전에 구입했던 C++ Power Technic이라는 책에 포함된 라이브러리인데요.. 그럭저럭 꽤 쓸만합니다.

MTL은 봤었는데.. 그건 전형적인 templete으로 구성된 stl류의 라이브러리죠?
저도 평상시에 stl의 vector등은 자주 쓰지만 이번 프로젝트에 사용하기는 어렵다는 결론이었습니다. 제가 지금 원하는 것은 4x1 벡터의 경우 x, y, z, w 네개의 맴버만을 가지고 있어서 클래스를 통째로 배열화 할 경우 바로 메트릭스로 전환되는 식의 접근방식을 원하는데 MTL은 일단 이런 방식은 안되는 분위기 입니다.
게다가 호모지니어스 좌표계에서는 일반 벡터연산과 좀 다른 규칙이 부여됩니다.

예를 들어
[x1, y1, z1, 1]T + [x2, y2, z2, 1]T = [x1+x2, y1+y2, z1+z2, 1]T

이런식의 연산이 필요하거든요.
마지막 w 값은 항상 1로 유지가 되어야 하는.. 좀 특이합니다. 일반적인 벡터 연산을 하면 마지막 값이 2가 되죠? 이런 사소한 문제서부터..
수치계산에서 Matrix연산은 주로 Matrix의 수가 많은게 아니라 Matrix의 수는 상대적으로 소수, 대신 row/col의 크기가 어마어마하게 큰 메트릭스의 각종 연산을 얼마나 효율적으로 수행하는가..에 초점이 맞춰져 있죠. 그래픽스쪽에선 약간 초점이 다른 것이 주로 고속의 벡터 내적/외적 연산, 행렬/벡터간의 Product연산.. 4x4메트릭스에 대한 역행렬.. 정도가 많이 쓰입니다.

만일 파라메트릭 모델링을 지원하려 한다면 그때는 일반 수치연산에서 사용하는 대용량의 메트릭스가 필요하게 되죠. 파라메트릭 모델링에 최적설계 알고리즘을 적용하는 경우도 있기 때문에 이때는 희소행렬도 요긴하게 쓰일 수 있겠네요.

알려주신 자료들을 아직 다 검토해 보지는 못했으나 몇개 확인해 본 것과 설명을 기초로 판단하건데.. 주로 수치연산쪽에 적합하지 않나.. 싶네요.

OpenGL이나 DirectX의 경우 각종 vertex정보나 matrix정보들은 일반배열을 통해 서로 교환되기 때문에 기존 C 스타일의 프로그래밍에서는 임의의 배열에 대한 행렬연산을 수행할 수 있는 함수셋을 구성하는 것이 일반적이었던 것 같습니다. 뭐, 각종 책들을 봐도 비슷하게 해결하고 있죠.
예전에는 잘 모를때는 저도 이런 식으로 주로 만들었는데.. 이렇게 만들면 정말 나중에 감당이 안됩니다. 거의 짜장면의 극을 달리게 되는..

아무튼.. 좋은 정보 주셔서 다시한번 감사드리구요, 그 사이트 가 보니까 다른 여러가지 라이브러리를 많이 제공하는 것 같군요. 찬찬히 좀 살펴봐야겠습니다. 딱 맞는 라이브러리까지는 아니더라도 좋은 아이디어를 좀 얻을 수 있으면 좋겠네요.

+ -

관련 글 리스트
6802 범용이냐.. 전용이냐.. 그것이 문제로다.. 김상구.패패루 1436 2003/02/13
6803     Re:어떤 행렬 라이브러리를 쓰셨나요? 김백일.cedar 2681 2003/02/13
6805         Re:Re: 예전에 구입했던 책에 딸려있던 클래스였어요 김상구.패패루 1384 2003/02/13
6807             Re:Re:Re: 예전에 구입했던 책에 딸려있던 클래스였어요 김백일.cedar 1335 2003/02/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.