SURFL "elevation" and "azimuth" definition
Show older comments
Hello,
I need to extract the reflectance data from the "surfl" function but I am having trouble in understanding the "azimuth" and "elevation" parameters of this function. The function uses a default value which is defined as "The default s is 45° counterclockwise from the current view direction". What is this "current view direction" because I don't set any "view" fuction for the plot?
However, after playing around with multiple figures and AZ and EL parameters, I think that the AZ=0 deg means in the south direction of the data and EL=0 is the horizon. What is the unit of the EL parameter? Is it in degrees? I've tried using EL=90 and it seemed like it was from nadir but I'm still not sure.
Please let me know if I got this right.
Thank you.
Accepted Answer
More Answers (1)
Chidvi Modala
on 5 Apr 2021
surfl doesn't have a default viewpoint, the view belongs to the axes. Consider:
view(3)
[az,el] = view
az =
-37.5000
el =
30
view([10,20])
[az,el] = view
az =
10
el =
20
If the s parameter is not specified it is calculated as 45 degrees counterclockwise from the current view direction.
The light is placed at the coordinate [Sx,Sy,Sz] where:
Sx = cos(az)*sin(45)+sin(az)*cos(el)*cos(45)
Sy = sin(45)*sin(az)-cos(az)*cos(el)*cos(45);
Sz = sin(45)*sin(el);
If the s parameter is specified as a two element vector: Saz, Sel, the light is placed at:
Sx = sin(Saz)*cos(Sel)
Sy = -cos(Saz)*cos(Sel)
Sz = sin(Sel)
If the s parameter is specified as a three element vector, we use those elements to define Sx, Sy, Sz.
If you'd like to learn more about where the light is placed, feel free to experiment with:
h=surfl(rand(5),rand(5),rand(5), [0 0], 'light');
h(2).Position
You can also experiment with:
edit surfl.m
1 Comment
Fadhli Atarita
on 9 Apr 2021
Categories
Find more on Surface and Mesh Plots 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!