2013-06-10 11 views
3

서페이스 플롯 (trisurf 또는 trimesh)의 색상을 사용자 지정하는 데 문제가 있습니다.Matlab - 매개 변수에 따라 서페이스 색상 사용자 정의

저는 모든면이 상대 변형 값 (메쉬의 모든 삼각형에 대해 계산 됨)에 따라 색상을 가지길 바랍니다. 나는 다음과 같은 것을 생각하고 있었다 :

p = patch('Faces',faces,'Vertices',verts,'FaceColor',strain); 

그러나 FaceColor은 배열과 함께 작동하지 않는 것처럼 보인다.

변형은 Nx1의 배열이며, 여기서 N은 얼굴의 개수입니다.

답변

2

먼저 당신은 색상 데이터 배열에서 읽을 수 색상 있도록 'flat'FaceColor을 변경해야합니다 - CData 특성 :

(하지만 테스트하지)이 시도 : 여기

p = patch(... 
    'Faces',  faces, ... 
    'Vertices', verts, ... 
    'FaceColor', 'flat', ... 
    'CData',  strain' ... 
); 

I을 CData 속성을 strain 벡터의 조 변경으로 설정하십시오. 그런 다음 MATLAB은이 벡터의 N 변형률 값을 선택한 색상 표 (선형)에 자동으로 매핑해야합니다. 자세한 내용은 부동산 CDataMapping를 참조하십시오

문서 :

http://www.mathworks.se/help/matlab/ref/patch_props.html#FaceColor http://www.mathworks.se/help/matlab/ref/patch_props.html#CData http://www.mathworks.se/help/matlab/ref/patch_props.html#CDataMapping