matlab空间三点求圆心
2016-05-05 15:19
316 查看
function p = CircleCenter(p1, p2, p3) % CircleCenter(p1, p2, p3) 根据三个空间点,计算出其圆心 % p1,p2,p3:三个空间点 % 圆的法向量 pf= cross(p1-p2, p1-p3); if any(pf == 0) error('三个点不能共线!!'); end % 两条线段的重点,之后需要求中垂线 p12 = (p1 + p2)/2; p23 = (p2 + p3)/2; % 求两条线的中垂线 p12f = cross(pf, p1-p2); p23f = cross(pf, p2-p3); % 求在中垂线上投影的大小 ds = ( (p12(2)-p23(2))*p12f(1) - (p12(1)-p23(1))*p12f(2) ) / ( p23f(2)*p12f(1) - p12f(2)*p23f(1) ); % 得出距离 p = p23 + p23f .* ds; end
相关文章推荐
- matlab diag 函数
- matlab bar函数
- 写论文第七天:MATLAB之movavg函数
- 写论文第六天:MATLAB之leadlag函数
- 雷达截面积(Radar Cross Section,RCS)(MATLAB部分仿真+Code)
- 最小二乘法和主成分分析的比较 matlab 儿子的papa
- matlab 实用 api
- matlab 随机函数的使用
- MATLAB基础操作符与数据格式显示
- MATLAB矩阵基础运算
- matlab-命令学习
- 欢迎使用CSDN-markdown编辑器
- 卷积和及采样定理
- Matlab与C/C++联合编程之Matlab以MEX方式调用C代码(五)完整过程加示
- matlab和C/C++混合编程--Mex (六)参数传递
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(四)
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(二)
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(三)
- [转]matlab的Virtual Reality(虚拟现实)工具箱的应用简介
- 主瓣、栅瓣和旁瓣(MATLAB源代码+解释)