空间直线同球体交点求解

本文介绍了如何使用MATLAB解决空间直线与球体交点的问题,包括二元二次方程的求解过程,详细代码实现,以及测试和图形显示测试结果。

 

 一、问题求解

空间直线同球体交点问题求解,为求解二元二次方程问题,下面是求解过程

 

二、代码实现

1、代码实现

 1 void cal_q ( double par_x, double par_y, double par_z, double par_r, double bpx, double bpy, double bpz, double spx, double spy, double spz ) {
 2     double x_1, x_2, y_1, y_2, z_1, z_2;
 3 
 4     if ( bpx != spx ) {
 5         double k_xy = ( spy - bpy ) / ( spx - bpx );
 6         double b_xy = bpy - k_xy * bpx;
 7 
 8         double k_zx = ( spz - bpz ) / ( spx - bpx );
 9         double b_zx = bpz - k_zx * bpx;
10 
11         double A = 1 + k_xy * k_xy + k_zx * k_zx;
12         double B = 2 * k_xy * ( b_xy - par_y ) + 2 * k_zx * ( b_zx - par_z ) - 2 * par_x;
13         double C = par_x * par_x + ( b_xy - par_y ) * ( b_xy - par_y ) + ( b_zx - par_z ) * ( b_zx - par_z ) - par_r * par_r;
14 
15         x_1 = ( -B + s
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值