欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求解多条直线与被测基准面XOY的交点的坐标

程序员文章站 2022-04-03 23:19:01
...

 求解多条直线与被测基准面XOY的交点的坐标

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,:)=L(i,:)*tt(i)+P(i,:)%求解直线Li与被测基准面XOY的交点的坐标
end

计算结果:


P1 =

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