已知多个固定点Pi,过多个固定点的多条直线Li,平面Ai,求直线Li与平面Ai的交点

clc;clear all;close all
syms x y z t
P=[7 2 3;
   12 12 3;
   2 12 3];%定义固定点
L=[1.05 1.06 1.07;
    1.01 1.02 1.03;
    1.04 1.05 1.06];%定义过固定点的直线向量,第一行对应第一固定点,以此类推
A=[1 0 0 -10
    0 1 0 -10
    0 0 1 -10
    0 0  0 1];%定义被测基准块在测量系中的位姿,包含三个基准面的法向量信息分别为:
% XOY面:[0 0 1],XOZ面:[0 1 0],YOZ面:[1 0 0],以及各平面的交点,也是坐标系的原点[-10 -10 10]
P1=zeros(3,3);%预设参数给交点
for i=1:3
f1=A(1,3)*(x-A(1,4))+A(2,3)*(y-A(2,4))+A(3,3)*(z-A(3,4));% 被测基准面XOY表达式
f2(i)=subs(f1,{x,y,z},{L(i,1)*t+P(i,1),L(i,2)*t+P(i,2),L(i,3)*t+P(i,3)});%调用subs函数
tt(i)=double(root(f2(i),t));% 求解参数tt
P1(i,1)=L(i,1)*tt(i)+P(i,1)%求解直线Li与被测基准面XOY的交点的x坐标
P1(i,2)=L(i,2)*tt(i)+P(i,2)%求解直线Li与被测基准面XOY的交点的y坐标
P1(i,3)=L(i,3)*tt(i)+P(i,3)%求解直线Li与被测基准面XOY的交点的z坐标
end

计算结果:


P1 =

   -5.7570  -10.8785  -10.0000
   -0.7476   -0.8738  -10.0000
  -10.7547   -0.8774  -10.0000

发布了59 篇原创文章 · 获赞 4 · 访问量 3167

猜你喜欢

转载自blog.csdn.net/weixin_41639107/article/details/103413624