1.空间中直线交点坐标问题,2.已知球面三点求球心问题以及Matlab实现

-----------------二维空间----------------

分别知道两条直线上的两个点<img1,rsp1>,<imgp2,rsp2>,求两条直线的交点坐标(x,y,z):

imgp1=[0.0000000000E+000  6.2058724432E-002  1.7314630678E+002 ]; %其中x坐标均为0,即可以看成2维空间
imgp2=[ 0.0000000000E+000  2.8569510432E-002  1.7313082791E+002 ]; 
rsp1=[ 0.0000000000E+000 -1.3289204963E-001  5.6539310386E-001];  %对应imgp1,构成一条直线
rsp2=[ 0.0000000000E+000 -6.0233341795E-002  2.3882375350E+000];
a1=(imgp1(3)-rsp1(3))/(imgp1(2)-rsp1(2));
b1=imgp1(3)-a1*imgp1(2);
a2=(imgp2(3)-rsp2(3))/(imgp2(2)-rsp2(2));
b2=imgp2(3)-a2*imgp2(2);
y=-(b1 - b2)/(a1 - a2)  %交点y坐标值,x坐标为0
z=(a1*b2 - a2*b1)/(a1 - a2)  %交点z坐标值

-----------------三维空间----------------

空间直线方程:
1. 一般式方程 ,直线可视为两平面交线
 (1)

 (2)

2. 对称式方程:已知直线上一点(x0,y0,z0)和方向向量(m,n,p)

 (3)

3. 参数式方程,设:


得参数式方程 :


----------------------三维空间球心坐标求解----------------

已知三个球面点rsp1,rsp2,rsp3,并且已知球心在平面y+z=0上,求解球心坐标(a,b,c)

clear all;clc;
syms  a b c
rsp1=[ 0.0000000000E+000 -1.3289204963E-001  5.6539310386E-001]; %球面点1坐标
rsp2=[ 0.0000000000E+000 -6.0233341795E-002  2.3882375350E+000];
rsp3=[ 1.8449620338E+000  5.2385550393E+000 3.2046281256E+000];
qx_p=[a b c]; %qx_p球心点坐标
eqn11 =norm(rsp1-qx_p)==norm(rsp2-qx_p);
eqn22 =norm(rsp2-qx_p)==norm(rsp3-qx_p);
eqn33=b+c==0;
[a,b,c] = solve(eqn11,eqn22,eqn33,a,b,c);
centerx=double(a);
centery=double(b);
centerz=double(c);
center=[centerx,centery,centerz];

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值