저는 MATLAB에 3D 데이터 행렬을 가지고 있습니다. 그러나 그 행렬에서 임의로 회전 된 데이터 조각을 추출하여 2D 행렬로 저장할 수 있습니다. 접속하다. slice() 함수가 모든 각도에서 슬라이스 된 데이터를 표시하는 것과 비슷합니다. 단, 배열 인 것처럼 데이터를보고 수정할 수 있어야합니다.2D 배열로 3D 배열에서 임의로 회전 된 데이터면을 추출합니다.
Ax + By + Cz = D
:
는 I는 (X, Y 및 Z 축), I는 또한 형태의 평면 방정식을 계산 한 평면의 피벗 점의 좌표뿐만 아니라 회전 각도를 가지고
그 평면에있는 데이터 만 포함 된 3D 행렬을 추출 할 수는 있지만 간단한 2D 배열로 변환하는 방법을 알지 못합니다.
또 다른 방법은 원본 평면을 평면 각도의 반대 방향으로 회전시켜 데이터 평면을 XY 축과 일렬로 정렬하고 간단히 해당 부분을 추출하는 것입니다 ,하지만 그와 같은 행렬을 회전시키는 것이 가능한지 나는 모른다.
나는 이것이 다른 곳에서 대답하지 않기를 바란다. 나는 하루 종일 인터넷 검색을 해왔지만 아무 문제도 내 것과 정확히 일치하지 않는다.
감사합니다.
평면 (일반적으로 매우 작은 양의 데이터 점이 될 것임)에 정확하게 속하는 데이터 만 필요합니까? 아니면 데이터를 보간하려고합니까? – yohai
보간법이 나중에 고려 될지라도, 보간법 대신 가장 가까운 셀을 반환하고 싶습니다. –
3 개의 indeces'A [i, j, k] = a_ijk'가있는 행렬을 가지고 있고 2의 배열을 만들고 싶습니다. B''''''''''''''''는'i'''''''''''''''''' 세계의 평면/슬라이스에서 좌표가되는 곳인 B [u, v] = b_uv'입니다. (그리고 모든 indeces는 정수이다.) 또한,'ijk'가'u = 1'과'v = 1'에 해당하는 규칙이 있습니까? – ja72