문제

저는 3D 데이터를 처리하는 데 사용될 도구를 작성하고 회전 객체, 번역, 스케일링 및 모든 좋은 작업과 같은 작업을 수행합니다. 이 일반적인 3D 작업 중 일부를 이미하고있는 좋은 도서관을 아는 사람이 있습니까?

현재 데이터를 시각화하는 데 관심이 없으며 주로 작업 수행에 관심이 있습니다.

이 시점에서 내가 필요로하는 것들 :

  • 2D/3D/4D 벡터
    • (추가, 빼기, 도트 제품, 크로스 제품 등 ...)
  • 행렬을 사용한 회전/번역/스케일링
  • 쿼터니언

나는 그것을 찾을 수 있었다 Sharp3d 도서관이지만, 내가 원하는 것을 할 수 있지만 오랫동안 업데이트되지 않은 것 같습니다. 전에 이것을 사용한 사람이 있습니까? 다른 (더 나은) 제안이 있습니까?

도움이 되었습니까?

해결책

Microsoft.xna.framework (이 XNA 배송)은 작업을 수행 할 수 있습니다.

XNA 프레임 워크 수학 라이브러리에는 2D 또는 3D 공간에서 객체를 조작하는 데 사용할 수있는 여러 기본 기하학적 유형이 있습니다. 이 라이브러리의 원시 객체는 기하학적 객체 또는 해당 객체의 작업을 나타내는 데 필요한 데이터를 나타냅니다. 각 기하학적 유형에는 유형에 맞는 다수의 수학 연산이 있습니다.

벡터

XNA 프레임 워크는 벡터를 표현하고 조작하기위한 벡터 2, 벡터 3 및 벡터 4 클래스를 제공합니다. 벡터는 일반적으로 방향과 크기를 나타내는 데 사용됩니다. 그러나 XNA 프레임 워크에서는 동일한 스토리지 요구 사항이있는 좌표 또는 기타 데이터 유형을 저장하는 데 사용될 수도 있습니다.

각 벡터 클래스에는 다음과 같은 표준 벡터 작업을 수행하는 방법이 있습니다.

  • 도트 제품
  • 크로스 제품
  • 표준화
  • 변환
  • 선형, 입방, Catmull-ROM 또는 Hermite Spline 보간.

매트릭스

XNA 프레임 워크는 지오메트리 변환을위한 행렬 클래스를 제공합니다. 행렬 클래스는 행에 행렬을 다루기 위해 행 메이저 순서를 사용합니다. 즉, 2 차원 행렬의 요소를 설명 할 때 열이 열 앞에 지정되어 있음을 의미합니다. 매트릭스 클래스는 스케일, 번역 및 회전 행렬을 생성하기위한 도우미 방법 외에도 매트릭스의 결정 또는 역수 계산과 같은 표준 매트릭스 작업을 수행하는 방법을 제공합니다.

쿼터니언

XNA 프레임 워크는 지정된 각도 주위의 벡터에 대한 효율적인 회전을 표현하고 계산하기위한 Quaternion 구조를 제공합니다.

다른 팁

나는 전에 그것을 사용한 적이 없지만 단지 sharp3d를 잡았고 그것은 잘 작동하는 것 같습니다 (몇 분 동안 일하는 데 몇 분이 걸린 강한 이름에 대한 문제를 제외하고). 내 인상은 무게가 가벼운 것이 아니라 무거운면에있는 것과는 거리가 멀다는 것입니다.

최근의 업데이트가 없다면 수학이 바뀌는 것과는 다릅니다.

Scinet Linea를 사용해보십시오 www.obacs.com. 무료 라이브러리는 아니지만 대안과 비교하여 그다지 비싸지 않습니다.

Scinet Linea는 더 이상 www.obacs.com에서 구할 수 없습니다. 이제는 훨씬 더 많은 기능을 갖춘 Scinet Math 내에 있습니다. 한 달 전에 연구 사본을 구입했습니다. 나는 지금까지 그것을 좋아한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top