지난 며칠간 3D- 등면 곡면에서 Y 축과 Z 축을 교환하는 데 문제가 있습니다. 시각화하고 더 명확하게 결과를 논의 할 수 있도록 Y 축과 Z 축을 교환하고 싶습니다.3D-isosurface 플롯에서 Y 축과 Z 축 교환하기
1) 축 핸들을 사용 :
yy = get(gca, 'YData');
zz = get(gca, 'Zdata');
set(gca, 'YData', zz, 'ZData', yy);
I 발생할 오류 다음이다 : 나는 과거에 내가 두 가지 방법으로 Y, Z 축를 교환하는 데 사용되는 기억 '이 '축'클래스에는 'Ydata'속성이 없습니다. '
있는 isosurface (X, Z, Y, calulated_rotor, iso_value) I가 다음 오류 : 제조 'X는, Y와 Z가 있어야 행렬있는 isosurface 커맨드의 데이터를 전환하여 상호 교환
2) 메슈 그리드.
그러나 X, Y, Z는 meshgrid를 사용하여 생성됩니다. 나는이 오류를 풀려고했다 :
[X Z Y] = meshgrid(x, z, y) % instead of [X Y Z] = meshgrid(x, z, y)
% recalculate the velocity matrices VX, VY, VZ: 3D-matrices , code not provided
calculated_rotor_2 = rotor(X, Z, Y, VX, VZ, VY) % instead of calculated_rotor = rotor(X,Y,Z, VX, VY, VZ)
isosurface(X, Z, Y, calculated_rotor_2, iso_value) % instead of isosurface(X, Y, Z, calculated_rotor, iso_value)
그러나 이것은 내가 계산 한 첫 번째 회 전자의 회전 된 버전을 표시하지 않는다. 잘못 계산 된 회 전자를 표시합니다. 그래서 중요한 질문이 남아 있습니다 : 어떻게 Y와 Z 축을 올바른 방법으로 교환 할 수 있습니까?
My Matlab 버전은 R2010a입니다.
미리 감사드립니다. 당신이 오류가 발생하는 이유는 그래서
종류에 관해서는, Lennert J.는
도와 주셔서 감사합니다. 1) 현재이 개체에서 Y 및 Z 데이터를 추출하기 위해 p = patch (isosurface (...))를 사용하려고합니다. 이 데이터를 (설정 및 가져 오기 명령으로) 전환하려고하면 이상한 결과가 발생하고 올바른지 모릅니다. [link] (http://www.mathworks.nl/help/matlab/ref/patch_props.html)에 명시된대로 얼굴과 정점을 사용해야합니까? 2) 로터에 관해서 : 그렇습니다 나는 컬을 의미했습니다. 저를 용서해주십시오. 나는 축을 망치는 것이 아주 속임수라는 사실을 알고있었습니다. 그래서 나는 succes없이 나의 속도를 조정했다. 미리 감사드립니다. –