某矢量与某平面的交点



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('对日指向误差')
相关推荐
PHOSKEY15 天前
光子精密3D工业相机陶瓷基片平面度检测!赋能电子制造质控升级
平面·3d·3d工业相机
csuzhucong18 天前
平面平铺
平面
AI科技星21 天前
时空的几何动力学:基于光速螺旋运动公设的速度上限定理求导与全维度验证
人工智能·线性代数·算法·机器学习·平面
Evand J23 天前
【UWB与IMU紧耦合定位,MATLAB例程】UWB的TOA定位方法,与IMU紧耦合,对目标轨迹定位并输出误差统计。适用于二维平面的高精度定位导航
开发语言·matlab·平面·uwb·组合导航
zVGKKTvT1 个月前
嘿,今天来跟大家分享一下我做的 FPGA 以太网多通道实时同步采集系统,这可是个挺实用且有趣的项目呢
平面
求真求知的糖葫芦1 个月前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(中)(自用)
笔记·学习·平面·射频工程
芯片SIPI设计1 个月前
地平面不连续性对100G PAM4以太网信号完整性的影响
数学建模·平面
求真求知的糖葫芦1 个月前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(下)(自用)
笔记·学习·平面
AI科技星1 个月前
从复平面旋转到三维螺旋:欧拉公式在张祥前统一场论中的几何角色与运动合成
线性代数·算法·机器学习·平面·矩阵·概率论