某矢量与某平面的交点



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('对日指向误差')
相关推荐
番茄炒西红柿炒洋柿子3 小时前
OpenCV使用平面拼接图片
人工智能·opencv·平面
RReality2 天前
【Unity Shader URP】视差贴图 实战教程
ui·平面·unity·游戏引擎·图形渲染·贴图
老歌老听老掉牙4 天前
空间点到平面的距离:几何意义与计算方法
python·平面
思茂信息4 天前
CST可重构雷达吸波器设计与仿真
网络·算法·平面·智能手机·重构·cst·电磁仿
Evand J9 天前
【MATLAB绘图教程】空间误差场图的概念及其应用,附代码
matlab·平面·绘图·定位
charlie11451419111 天前
通用GUI编程技术——图形渲染实战(四十)——深度缓冲与3D变换:从平面到立体
开发语言·c++·平面·3d·图形渲染·win32
Elastic 中国社区官方博客13 天前
通过受管控的控制平面加速商品陈列优化
大数据·数据库·人工智能·elasticsearch·搜索引擎·平面·ai
FakeOccupational17 天前
【电路笔记 电源模块】“桥接”布局法+电源隔离+GND隔离+统一地平面防干扰
笔记·平面
Evand J17 天前
【MATLAB程序】基于RSSI的RFID二维轨迹定位仿真介绍,EKF滤波增加轨迹定位精度。附下载链接
开发语言·matlab·平面·滤波·定位·导航
Evand J20 天前
【代码介绍】二维平面上的雷达跟踪与UKF(无迹卡尔曼滤波),高精度估计目标轨迹,输出真值、估计值、误差特性等
matlab·平面·雷达·滤波·定位·导航·跟踪