matlab 根据高度、数量生成共球面的穹顶光源

本文探讨了在光度立体中光源位姿对法向量求解的重要性,通过天顶角和方位角参数,展示了如何设计并模拟球面穹顶式光源结构,给出了光源方向的数学表达式。着重介绍了如何根据给定的球半径和光源分布设置,绘制出详细的光源布局图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在光度立体中,光源位姿对于法向量求解具有重要意义。为了方便光源结构设计,通常会模拟测试光源位姿。一般用zenith(天顶角)、azimuth(方位角)来定义光源方向,或者分别用slant 和 tilt:
在这里插入图片描述
θ l : 一 般 称 为 天 顶 角 或 极 角 , 分 别 对 应 z e n i t h 和 s l a n t ; φ l : 一 般 称 为 方 位 角 或 偏 角 , 分 别 对 应 a z i m u t h 和 t i l t \theta_l:一般称为天顶角或极角,分别对应zenith和slant ; \\ \varphi_l:一般称为方位角或偏角,分别对应azimuth和tilt θlzenithslant;φlazimuthtilt
不难得到光源方向L的表达式:
L ⃗ = ( sin ⁡ θ l cos ⁡ φ l , sin ⁡ θ l sin ⁡ φ l , cos ⁡ θ l ) \vec{L}=\left(\sin \theta_{l} \cos \varphi_{l}, \sin \theta_{l} \sin \varphi_{l}, \cos \theta_{l}\right) L =(sinθlcosφl,sinθlsinφl,cosθl)
假设模拟的光源共球面,一般设计穹顶式光源结构:
在这里插入图片描述
给定球半径,以及不同高度的圆环及其均匀分布的光源数量,即可通过上述光源方向表达式,绘制穹顶式光源结构图。

clc
close all
clear all

R = 100;   % 球半径
heightLists = [20,40,60,80];   % 圆环高度 
lightNums = [20,16,12,8];  % 对应圆环分布的光源个数 高度越低,圆半径越大,分布光源数量越多
lens = length(lightNums);
lightPoints = [];
mark = [];
index = 0;
bias = 3;  % text标记位置偏差
for i = 1:lens
    r = sqrt(R^2 - heightLists(i)^2);
    slant = atan2(r,heightLists(i));
    tiltStep = 2*pi / lightNums(i);
    for j = 1:lightNums(i)
        index = index + 1;
        tilt = tiltStep * (j - 1);
        x = r * cos(tilt) * sin(slant);
        y = r * sin(tilt) * sin(slant);
        lightPoints = [lightPoints;[x y heightLists(i)]];
        mark = [mark;num2str(index,'%02d')];
    end
end
figure
scatter3(lightPoints(:,1),lightPoints(:,2),lightPoints(:,3),100,lightPoints(:,3),"filled")
xlabel('X')
ylabel('Y')
zlabel('Z')
xlim([-100 100])
ylim([-100 100])
zlim([0 100])
text(lightPoints(:,1) + bias,lightPoints(:,2) + bias,lightPoints(:,3),mark,'color','r','FontSize',13) % z轴方向无偏差
h = colorbar; 
set(get(h,'label'),'string','positions');%colorbar name

在这里插入图片描述
Reference:

  1. 散点图标记及colorbar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值