Mtalab 空间直线和球形的交点以及图像绘制
Mtalab 空间直线和球形的交点以及图像绘制
- 前言
- 一、问题描述
- 二、交点求解
- 三、图像绘制
- 四、求解结果
- 源码
前言
本文包括利用Matlab对三维空间中的球形和直线交点进行求解、球形的绘制。
一、问题描述
求三维空间中,球和直线的交点。球的中心坐标为(10,10,10),半径为:1.6。直线过点
(9.12572004 ,7.565155035,8.6508179)、(10,10,10)
这里,我将球的中心坐标重新定义为坐标原点(0,0,0),则问题转化为:球的中心坐标为(0,0,0),半径为:1.6。直线过点(-0.8743 ,-2.4348 ,-1.3492)、(0,0,0)
二、交点求解
利用solve函数进行交点的求解
clc;
clear;
hold off
syms x y z
%% 变量输入
a=9.12572004;
b=7.565155035;
c=8.6508179;%% 函数定义
f1=(x-(a-10))^2+(y-(b-10))^2+(z-(c-10))^2-1.6^2;%球
%空间直线
f2=(x-0)/(a-10)-(y-0)/(b-10);
f3=(x-0)/(a-10)-(z-0)/(c-10);
f4=(y-0)/(b-10)-(z-0)/(c-10);
%% 求解
s=solve(f1,f2,f3,f4,x,y,z);
x1=vpa(s.x)
z1=vpa(s.z)
y1=vpa(s.y)
三、图像绘制
图像绘制时,为了更好的表达出交点的位置,可以设置球形的透明度使图像美观。
%绘制球形
[x2,y2,z2]= ellipsoid(a-10,b-10,c-10,1.6,1.6,1.6);
sss=surf(x2,y2,z2);
sss.FaceAlpha = 0.4; %透明度设置
axis equal
%绘制交点
scatter3(x1,y1,z1,'r','filled')
hold on;
plot3(x1,y1,z1)
hold on;
xlabel('x')
ylabel('y')
zlabel('z')
axis equal
四、求解结果
源码
clc;
clear;
hold off
syms x y z
%% 变量输入
a=9.12572004;
b=7.565155035;
c=8.6508179;%% 函数定义
f1=(x-(a-10))^2+(y-(b-10))^2+(z-(c-10))^2-1.6^2;%球
%空间直线
f2=(x-0)/(a-10)-(y-0)/(b-10);
f3=(x-0)/(a-10)-(z-0)/(c-10);
f4=(y-0)/(b-10)-(z-0)/(c-10);
%% 求解
s=solve(f1,f2,f3,f4,x,y,z);
x1=vpa(s.x)
z1=vpa(s.z)
y1=vpa(s.y)% [x,y,z]= ellipsoid(0,0,0,1.43,1.43,1.43);
% ss=surf(x,y,z) %画出来球axis equal
% ss.FaceAlpha = 0.6;
hold on;
[x2,y2,z2]= ellipsoid(a-10,b-10,c-10,1.6,1.6,1.6);
sss=surf(x2,y2,z2);
sss.FaceAlpha = 0.4;
axis equal
scatter3(x1,y1,z1,'r','filled')
hold on;
plot3(x1,y1,z1)
hold on;
xlabel('x')
ylabel('y')
zlabel('z')
axis equal
☀ 记录自己学习的同时,也希望能对大家有所帮助,欢迎留言交流!
Mtalab 空间直线和球形的交点以及图像绘制相关推荐
- pcl::lineToLineSegment() 计算空间直线的交点和最小公垂线
对于两空间直线来说,计算交点和最小公垂线是一码事,交点即最小公垂线两个垂足的中心.PCL中源码中包含计算空间直线最小公垂线的函数 PCL_EXPORTS void pcl::lineToLineSeg ...
- 空间直线和三维物体之间的交线相关问题
1.如何求空间直线在某一平面上的投影直线方程 https://zhidao.baidu.com/question/631349383625570644.html 2. 知道平面一点和平面法向量如何求平 ...
- 【转载】空间直线同任意形状椭球交点
空间直线同空间中三维椭球相交,其交点即为空间直线方程同椭球方程的解,对于空间直线方程,只要知道两点空间坐标即可,而欧拉角不为零的三维椭球方程则较难描述,但可以考虑对椭球进行变换,使其欧拉角为零,进而转 ...
- 计算三维空间中直线和三角形的交点
计算三维空间中直线和三角形的交点 前言 一.计算平面方程 1.1 平面不过原点 1.2 平面过原点 1.3 平面过 zzz 轴 1.4 平面为 yOzyOzyOz 平面 二.计算直线方程 三.计算交点 ...
- 0804空间直线及其方程-向量代数与空间解析几何
文章目录 1 空间直线方程 1.1 空间直线的一般方程 1.2 空间直线的对称式方程 1.3 空间直线的参数方程 1.4 空间直线的两点式方程 3 两直线的夹角 4 直线与平面的夹角 4.1 定义 4 ...
- 求解直线与平面的交点
求解直线与平面的交点 微信公众号:幼儿园的学霸 目录 文章目录 求解直线与平面的交点 目录 前言 数学模型推导 编程实现 参考资料 前言 直线与平面的交点求解相关的内容在网上已经有很多资料进行介绍,目 ...
- 直线与直线、直线与圆、直线与矩形的交点
求直线与直线.直线与圆.直线与矩形的交点 直线与直线的交点:a1x + b1x + c1x = 0 与 a2x + b2x + c2x = 0的交点坐标可直接根据公式x = (b1c2 - b2c1) ...
- 直线和直线,直线和圆,直线和矩形的交点
直线和圆的交点公式 y=kx+b (x+c)² + (y+d)² = r² 的形式 转换成 ax+by+c=0 以(x, y)为圆心,r 为半径的形式 c++ // ax+by+c=0 // (x, ...
- 8.4 向量应用(二)——空间直线
本篇内容接上篇,还是关于向量应用的内容.没有废话,直接来. 空间直线方程 (一)点向式方程(对称式方程) 从名字上看,点向式两个关键,一个是点,一个是向,点是直线上一点,向是直线的方向,或者是和直线方 ...
- 机械臂控制软件,上位机软件 此机器人上位软件。 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能
机械臂控制软件,上位机软件 此机器人上位软件. 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能,子程序编程功能,逻辑判断语句功能,示教编程功能(支持手柄),变量位置编程功能, ...
最新文章
- 【PDF下载】无意中发现的另一本 统计学入门好书
- 2015 UESTC 数据结构专题H题 秋实大哥打游戏 带权并查集
- 【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇)
- JSP-05- JSP总结
- PHP设计模式之工厂模式
- Android dalvik GC相关的属性详解
- eclipse安装svn插件时,Subclipse与Subversive的选择与区别
- python写小说阅读器_用python实现自己的小说阅读器
- 小米路由器mini刷lede_小米路由3刷LEDE/OpenWrt 固件
- 【马克思主义基本原理】--第一章--【世界的物质性及发展规律】
- spire.pdf使用
- 计算机内存不足无法打印照片,打印机内存不足无法打印怎么办_打印机提示内存不足怎么解决...
- 那些年我们踩过的坑——Java中Date夏令时日期转换不一致问题
- 电力猫服务器的网页,电力猫怎么配对?快速配置电力猫的图文教程
- 前端实现旗帜飘动效果系列 (Ⅳ):webgl实现
- springboot 解决java.lang.ArrayStoreException
- mysql left join和or_mysql – 在LEFT JOIN中使用带OR条件的索引
- Unity2D动画生成操作(简单)
- Oracle-表空间管理
- 【计算机网络】已知若干个网络,如何计算汇聚成超网后的地址?
热门文章
- 《PMP学习笔记》11.6 子过程:规划风险应对
- 华为连接wifi显示wifi未连接服务器,华为路由器wifi连接上不能上网怎么办?
- vmware克隆linux虚拟机,报Device eth1 does not seem to be present,delaying initialization.错误
- 软件测试和调试的区别
- k8s当中calico节点日志报错 confd/health.go 180: Number of node(s) with BGP peering established = 0
- ceph peering机制-状态机
- SuperMap地图系列:坐标系的那些事
- 海军领域搜狗细胞词库
- altium PCB文件瘦身
- 【推荐】中国计算机学会推荐国际学术会议和期刊目录——CCF的会议与期刊分级