Set material and camlight to a specific axis
4 views (last 30 days)
Show older comments
Hi, i got two axes in a figure, and i want to apply a material and a camlight but it's not working. Is there a solution to fix it ? Thank you.
Here is the complete code:
function dessinerSimulation(self)
cla(self.axeSimulation);
%Dessin du robot
repRobot = self.ctrl.getRepresentationRobot();
vertexRobot = zeros(8,3);
for i=1:8
vertexRobot(i,:) = [repRobot(1,i) repRobot(2,i) repRobot(3,i)];
end
facesRobot = [1 2 4 3; 8 7 5 6; 1 2 6 5 ; 3 4 8 7 ; 4 2 6 8 ; 1 3 7 5];
h = patch('vertices',vertexRobot,...
'faces', facesRobot,...
'parent', self.axeSimulation,...
'edgecolor','w',...
'FaceLighting', 'none',...
'FaceColor', 'flat',...
'FaceVertexCData', [0 1 1 0 0.8 0.8;
0 1 1 0 0.8 0.8;
0 1 0 1 0.8 0.8]');
%Dessin de la piscine
[fPiscine,vPiscine] = self.ctrl.getFacesVerticesPiscine();
patch('Faces',fPiscine,'Vertices',vPiscine,...
'FaceColor', [0.8 0.8 1.0], ...
'EdgeColor', 'none', ...
'FaceLighting', 'gouraud', ...
'AmbientStrength', 0.30,...
'parent', self.axeSimulation);
material dull;
camlight headlight;
grid on;
xlabel(self.axeSimulation, 'X (mm)');
ylabel(self.axeSimulation, 'Y (mm)');
end
0 Comments
Answers (1)
Neil Guertin
on 10 Aug 2017
"material dull" combined with "camlight headlight" may result in a patch that looks very similar to the default settings, especially with polyhedral shapes. I suggest you compare the two side by side and rotate the scene and you may notice that some faces actually are slightly shadowed.
Also note that you have disabled lighting on the robot object with 'FaceLighting','none'.
Here is an example with a surf object so you can compare the lighted version to the default.
f1 = figure;
s1 = surf(peaks);
f2 = figure;
s2 = surf(peaks);
material dull
camlight headlight
0 Comments
See Also
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!