某矢量与某平面的交点



matlab 复制代码
clc
clear
close all

%% =====================
% 输入数据
%% =====================

% 激光基向量
P_laser = [1;0;0];

% 安装矩阵
C_lct_laser = eye(3);      % 根据实际填写
C_sat_lct   = eye(3);      % 标定结果

N = size(timeAlign_4S_data,1);

%% =====================
% 存储变量
%% =====================

P_intersect = zeros(N,3);
miss_angle  = zeros(N,1);

%% =====================
% 计算循环
%% =====================

for i = 1:N

    %% 卫星位置
    r_sat = timeAlign_4S_data(i,2:4)';   % XYZ

    %% 姿态矩阵 (根据你的数据调整)
    Cib = quat2dcm(timeAlign_4S_data(i,17:20)); 

    %% 激光方向 (惯性系)
    v_laser = Cib * C_sat_lct * C_lct_laser * P_laser;
    v_laser = v_laser / norm(v_laser);

    %% 太阳矢量
    sun_vec = SUN(i,2:4)';
    sun_vec = sun_vec / norm(sun_vec);

    %% 太阳平面
    n = sun_vec;

    %% 求交点
    lambda = -(n'*r_sat) / (n'*v_laser);

    P = r_sat + lambda * v_laser;

    P_intersect(i,:) = P';

    %% 脱靶角
    miss_angle(i) = acosd(dot(v_laser,sun_vec));

end

%% =====================
% 3D交点轨迹
%% =====================

figure
plot3(P_intersect(:,1),P_intersect(:,2),P_intersect(:,3),'r','LineWidth',2)

grid on
axis equal

xlabel('X')
ylabel('Y')
zlabel('Z')

title('激光与太阳平面交点轨迹')

%% =====================
% 脱靶角
%% =====================

figure
plot(miss_angle,'LineWidth',2)

grid on

xlabel('time index')
ylabel('miss angle (deg)')

title('对日指向误差')
相关推荐
ueotek1 天前
Ansys Speos丨平面 OLED 人眼视觉仿真分析
平面
mqiqe2 天前
LLM Gateway:企业级大模型应用的“统一控制平面”
平面·flask·gateway
weixin_446260852 天前
AtumAI:面向数据中心控制平面策略的规范化智能体生成框架
人工智能·平面
落苜蓿蓝6 天前
多张覆盖视场的平面棋盘图片; 、对每张图片用 OpenCV 的 findChessboardCorners 检测内角点并用 corn ...
数码相机·opencv·平面
梵构广告6 天前
平台怎么做品牌营销策划?—品牌营销
大数据·人工智能·平面·品牌策划
梵构广告7 天前
百货品牌营销策划书怎么写?
平面·产品运营·品牌策划
鲸大鱼的自我修养8 天前
LC谐振状态轨迹图,相平面分析
平面
不吃辣49021 天前
从0-1学习导航页面布局优化和搭建
ui·平面·前端框架
海清河宴23 天前
平面直线和曲线以及空间曲线计算方法
平面
Σίσυφος19001 个月前
激光三角 光平面标定之后计算深度图
算法·平面