Problem about specifying truecolor cData for a patch object

5 views (last 30 days)
Hi all,
I'm having trouble with coloring a patch object using cData. My patch object is a triangulated polyhedron, so size(ZData)=[3,12]. When I'm trying to color each face with truecolor, I'm setting size(CData)=[1,12,3] because [1,12] is the dimension of all triangular faces of the polyhedron and 3 is for RGB. However, MATLAB seems to interpret it as colormap indices so I always end up having an ugly blue polyhedron. My guess is MATLAB is misinterpreting the color information because all faces of the patch have 3 vertices, which coincide with the 3 elements for RGB. Is there a way to force MATLAB to interpret cData as truecolor? Or, am I using a wrong dimension of cData for my purpose?
Thanks a lot!
Niko
  3 Comments
Niko
Niko on 18 Dec 2013
Edited: Niko on 18 Dec 2013
It's a 1*12*3 numeric array of doubles in the range of [0,1] (e.g. I tried cData=rand(1,12,3)). When I tried get(handle,'FaceColor') it returned a 12-element cell array with each element being a 1*3 numeric array. Does it mean that I should provide cData as a cell array? (It gives an error when I try transferring a cell array directly to facecolor.)
Walter Roberson
Walter Roberson on 18 Dec 2013
A 12-element cell array as a result suggests that your "handle" might be a vector of handles.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!