What's the Default Light from Figure Toolbar > Insert Light

When I plot something and create a surface object, and then I go to figure > Insert > Light, it adds like the best lighting ever. I want to replicate the lighting that is added without obviously going through the menu bar. I am assuming this is something simple, but even copying the light object position and color properties exactly can't seem to replicate it.
Any advice would be appreciated!

Risposte (1)

surf(peaks)
Interactively add light
hLight = findobj(gcf,'type','light');
get(hLight)
And of course for more info:
doc light
BTW, while looking for this, I just learned about material: learn something new every day.

3 Commenti

Hey Sean,
I saw you were you on an answering streak just now and would hoping you would chime in on my question too, but I want to do this with no interaction whatsoever. When I go to insert > Light it seems to know just where to put the light already for maximum contrast and whatnot. I am wondering how it knows this, I am assuming it just calls a function or two that creates the light?
With the
hLight = findobj(gcf,'type','light');
get(hLight)
That is how I found the initial position and whatnot to try and replicate it, but it seems that I am still missing something..
How it determines it appears to be undocumented. You can dig into the figure uimenu properties to figure out the callbacks:
surf(peaks)
h = findall(gcf,'Type','uimenu')
get(h,'Callback')
The easiest way to replicate this would be to call the same thing in one of the callbacks of the GUI. I'll update tomorrow or the next day with more thoughts on this.
figure('WindowButtonDownFcn','insertmenufcn Light;plottools off');
surf(peaks);
Now click down on the figure. As far as doing this automatically, I have a few other things on my mind. Will update tomorrow.

Accedi per commentare.

Richiesto:

il 23 Apr 2013

Community Treasure Hunt

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

Start Hunting!

Translated by