Matrix3D에서 변환을위한 오프셋 사용

user316117

일부 3D 포인트의 크기를 조정, 회전 및 변환하려는 응용 프로그램이 있습니다.

저는 3x3 회전 행렬을보고 별도의 값 배열에 변환을 저장하는 데 익숙합니다. 그러나 .Net Matrix3D 구조 ( https://msdn.microsoft.com/en-us/library/System.Windows.Media.Media3D.Matrix3D%28v=vs.110%29.aspx )는 4x4이고 행이 있습니다. "offsets"-분명히 번역에 사용되는 OffsetX, OffsetY, OffsetZ. 그러나 정확히 어떻게 적용 할 것인가?

X, Y, Z 값 (예 : 72, 24, 4)이있는 Vector3D가 있다고 가정합니다. 그리고 내 Matrix3D가

.707   0   -.707   0
0      1     0     0
.707   0   .707    0
100   100    0     1

즉, OffsetX 및 OffsetY 값은 100입니다.

내 포인트에 대한 변환으로 이것을 적용 할 Matrix3D에 대한 방법이나 연산자가 있습니까? Transform () 은 보이지 않습니다. 내 코드에. . .

Vector3D v = new Vector3D(72, 24, 0);
Vector3D vectorResult = new Vector3D();
vectorResult = MyMatrix.Transform(v);

vectorResult는 8.484, 24, -8.484를 가지며 오프셋이 0이면 동일한 값을 갖습니다.

분명히 각 축에 대해 개별적으로 변환을 수동으로 적용 할 수 있지만 구조의 일부이기 때문에 점을 지정하고 변환을 포함하여 전체 행렬을 적용하는 방법이나 연산자가있을 수 있다고 생각했습니다. 거기 있어요?

니코 셰 틀러

4x4 행렬은 동종 좌표를 사용하는 3D 공간의 변환을 나타냅니다. 이 표현에서는 w구성 요소가 벡터에 추가됩니다. 이 구성 요소는 벡터가 나타내는 내용에 따라 다릅니다. 벡터를 행렬로 변환하는 것은 간단한 곱셈입니다.

transformed = vector * matrix

(여기서 두 벡터는 모두 행 벡터입니다).

w성분은 매트릭스 '마지막 행으로 간주됩니다 - 번역이 저장되어있는 부분. 따라서 점을 변환하려면이 구성 요소가 1이어야합니다. 방향을 변환하려면이 구성 요소가 0이어야합니다 (변환해도 방향 벡터는 변경되지 않기 때문입니다).

이 차이는 WPF에서 두 가지 다른 구조로 표현됩니다. Vector3D(방향과 나타내는 w성분 0)과은 Point3D(갖는 점을 나타내고 w성분 1). 당신이 만드는 경우에 따라서 vPoint3D예상대로 모든 것이 작동합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

matrix3d에서 뷰포트 단위 사용

분류에서Dev

matrix3d에서 뷰포트 단위 사용

분류에서Dev

루프 내에서 오프셋 및 범위 사용

분류에서Dev

VBA에서 오프셋을 사용하여 동적 범위 복사

분류에서Dev

루프 내에서 오프셋을 사용하여 복사 및 붙여 넣기

분류에서Dev

부트 스트랩 CSS에서 오프셋 -3을 사용하는 경우

분류에서Dev

대상 오프셋을 사용하여 Excel에서 셀 범위 지우기

분류에서Dev

Laravel에서 get () 뒤에 한계와 오프셋을 사용하는 방법

분류에서Dev

제한 / 오프셋을 사용할 때 mysql 쿼리에서 결과가 겹침

분류에서Dev

VBA에서 activecell 및 오프셋 사용

분류에서Dev

정확한 오프셋을 사용하여 UTC DateTime을 EST DateTime으로 변환

분류에서Dev

범위 오프셋을 가변 사용자 정의 텍스트로 열에 저장

분류에서Dev

mysqli에서 mysqli_fetch_assoc를 사용한 잘못된 문자열 오프셋

분류에서Dev

절대 위치를 사용하여 왼쪽에 오프셋이 있음

분류에서Dev

MySQL에서 그룹 별 적용 및 오프셋 제한

분류에서Dev

VBA- 한 셀에서 다른 오프셋 셀로 값 복사

분류에서Dev

Google 데이터 저장소에서 제한 / 오프셋을 사용할 때 총 행 가져 오기

분류에서Dev

Google 데이터 저장소에서 제한 / 오프셋을 사용할 때 총 행 가져 오기

분류에서Dev

오프셋을 사용하여 중첩 된 구조체에 액세스

분류에서Dev

과거 평균을 얻기 위해 오프셋을 사용하여 PromQL에서 여러 하위 쿼리 방지

분류에서Dev

Glyphter.com을 사용하여 SVG를 글꼴로 변환 할 때 오프셋-오프셋

분류에서Dev

C에서 오프셋을 사용하여 포인터에 값을 할당하는 것에 대한 혼란

분류에서Dev

KonvaJS-오프셋을 사용하지 않고 커서 주위로 사각형 회전

분류에서Dev

오프셋이있는 푸 아송 GLM에 대한 의사 R²

분류에서Dev

값을 찾고 오프셋을 복사하지만 점에만

분류에서Dev

오프셋을 사용하여 VBA에서 지정된 순서로 데이터 변경

분류에서Dev

비트 오프셋을 사용하여 std :: string에서 바이트 단위로 연속 비트 추출

분류에서Dev

180º firefox 및 Opera에서 svg matrix3d 변환 회전 예

분류에서Dev

메모리의 2 제곱에서 오프셋을 사용하여 메모리의 변수 정렬

Related 관련 기사

  1. 1

    matrix3d에서 뷰포트 단위 사용

  2. 2

    matrix3d에서 뷰포트 단위 사용

  3. 3

    루프 내에서 오프셋 및 범위 사용

  4. 4

    VBA에서 오프셋을 사용하여 동적 범위 복사

  5. 5

    루프 내에서 오프셋을 사용하여 복사 및 붙여 넣기

  6. 6

    부트 스트랩 CSS에서 오프셋 -3을 사용하는 경우

  7. 7

    대상 오프셋을 사용하여 Excel에서 셀 범위 지우기

  8. 8

    Laravel에서 get () 뒤에 한계와 오프셋을 사용하는 방법

  9. 9

    제한 / 오프셋을 사용할 때 mysql 쿼리에서 결과가 겹침

  10. 10

    VBA에서 activecell 및 오프셋 사용

  11. 11

    정확한 오프셋을 사용하여 UTC DateTime을 EST DateTime으로 변환

  12. 12

    범위 오프셋을 가변 사용자 정의 텍스트로 열에 저장

  13. 13

    mysqli에서 mysqli_fetch_assoc를 사용한 잘못된 문자열 오프셋

  14. 14

    절대 위치를 사용하여 왼쪽에 오프셋이 있음

  15. 15

    MySQL에서 그룹 별 적용 및 오프셋 제한

  16. 16

    VBA- 한 셀에서 다른 오프셋 셀로 값 복사

  17. 17

    Google 데이터 저장소에서 제한 / 오프셋을 사용할 때 총 행 가져 오기

  18. 18

    Google 데이터 저장소에서 제한 / 오프셋을 사용할 때 총 행 가져 오기

  19. 19

    오프셋을 사용하여 중첩 된 구조체에 액세스

  20. 20

    과거 평균을 얻기 위해 오프셋을 사용하여 PromQL에서 여러 하위 쿼리 방지

  21. 21

    Glyphter.com을 사용하여 SVG를 글꼴로 변환 할 때 오프셋-오프셋

  22. 22

    C에서 오프셋을 사용하여 포인터에 값을 할당하는 것에 대한 혼란

  23. 23

    KonvaJS-오프셋을 사용하지 않고 커서 주위로 사각형 회전

  24. 24

    오프셋이있는 푸 아송 GLM에 대한 의사 R²

  25. 25

    값을 찾고 오프셋을 복사하지만 점에만

  26. 26

    오프셋을 사용하여 VBA에서 지정된 순서로 데이터 변경

  27. 27

    비트 오프셋을 사용하여 std :: string에서 바이트 단위로 연속 비트 추출

  28. 28

    180º firefox 및 Opera에서 svg matrix3d 변환 회전 예

  29. 29

    메모리의 2 제곱에서 오프셋을 사용하여 메모리의 변수 정렬

뜨겁다태그

보관