某矢量与某平面的交点



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('对日指向误差')
相关推荐
Σίσυφος19001 天前
激光三角 光平面标定之后计算深度图
算法·平面
weixin_455472575 天前
好用的平衡机源头厂家
平面
AI科技星7 天前
基于超复数广义分形流形的电磁耦合与缪子反常磁矩几何理论
开发语言·平面·重构·概率论·量子计算·乖乖数学·全域数学
weixin_455472577 天前
毛滚平衡机
平面
Hali_Botebie7 天前
Normalizing flows和经典的 Planar Flow(平面流) 为例
平面
weixin_455472577 天前
高速电机平衡机
平面
AI科技星8 天前
精细结构常数 α 全套自洽公式体系(论文定稿版)
开发语言·平面·重构·概率论·量子计算
AI科技星8 天前
超复数全域分形四维/八维超立方体框架下四种基本相互作用的维度正交性与特征作用距离解析推导
开发语言·平面·重构·概率论·量子计算
走好每一步1 个月前
12、VTK用X、Z平面去切割一个圆锥
平面·vtk·三维图像
走好每一步1 个月前
11、VTK重要数学知识:平面和法向量
平面·vtk·三维图像