0
Matlab에서 균일 한 높이 격자를 플롯하고 싶습니다.이 방법은 있지만 너무 느립니다. 현재 x, y, z 점으로 변환하는 높이 그리드 데이터가 있습니다. 내가 원하는Matlab에서 높이 격자 그리기
function [colour] = getColour(min, max, height)
colour = floor((max-height)/(max-min)+1);
end
을 지금이 작품과 본질적으로 생산 :
이 경우figure;
hold on;
axis equal;
minHeight = min(z)
maxHeight = max(z)
gX = HG.xCellSize/2;
gY = HG.yCellSize/2;
for i = 1:length(x)
colour = getColour(minHeight, maxHeight, z(i));
p1X = [x(i)-gX, x(i)+gX, x(i)+gX, x(i)-gX];
p1Y = [y(i)+gY, y(i)+gY, y(i)-gY, y(i)-gY];
p1Z = [z(i), z(i), z(i), z(i)];
p1C = [colour, colour, colour, colour];
fill3(p1X, p1Y, p1Z, p1C)
end
당신이 desperatley 색상이가하는 얻을 알 필요가 : 나는 다음 코드를 실행
불행히도 너무 느립니다. 그리고 정말로 기대할 수있는 것은 무엇입니까? 저는 높이 그리드를 반복하고 화면 1에 모양을 그려 넣었습니다. 불행히도 Matlab에서 똑같은 결과를 내고 빠를 것이라고는 생각할 수 없습니다. 나는 MATLAB 전문가가 더 좋은 아이디어를 가지고 있기를 바랍니다.
3D 공간에서 정사각형 마커가 실제로 표시되어야합니까? 'scatter3 (x, y, z, HG.xCellSize, z)'는 어떨까요? 마커를 선택할 수도 있지만 마커는 항상 z 축보다는 뷰 평면을 향한 방향으로 그려집니다. – Peter
@Peter 감사합니다. 그렇습니다. 그렇기 때문에 사각형이 필요합니다. 높이 그리드가 가장 잘 표현되는 방식입니다. –