某矢量与某平面的交点



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 天前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面
Σίσυφος19002 天前
激光三角 光平面标定-多高度
平面
Σίσυφος19002 天前
激光三角 光平面标定
平面
胡摩西7 天前
立体电子围栏如何实现?毫米级室内定位让安全生产从“平面”走向“空间”
人工智能·安全·平面·室内定位
weixin_397574097 天前
Agent OS治理平台:资源平面、执行平面与控制平面的架构
人工智能·平面·架构
kaikaile19959 天前
平面桁架 Matlab 刚度矩阵计算程序
matlab·平面·矩阵
思茂信息10 天前
CST对一种用于中型无人机 433MHz 通信的宽带共形贴片天线
开发语言·单片机·嵌入式硬件·平面·无人机·cst
IT策士12 天前
第19篇 Kubernetes 架构解读:控制平面与工作节点
平面·架构·kubernetes
大江东去浪淘尽千古风流人物13 天前
【Structure PLP-SLAM】点-线-面三基元融合SLAM:从Plücker坐标到Graph-Cut平面重建的完整技术解析
平面·slam·视觉slam·点线面融合·plücker坐标·平面重建
Upsy-Daisy16 天前
OpenClaw 源码解析(七):Gateway 控制平面与 WebSocket RPC 机制
websocket·平面·gateway