圆弧中点坐标值求解(二维平面&三维空间)(3.1增加三维部分)-②

接上文

需要直接建立圆轴矢量与X,Y方向的平面方程,引入X轴同Z轴垂直的约束条件:
假设圆轴矢量在基坐标系下的直线方程为(假设圆轴矢量过某一点p(xp,yp,zp):
在这里插入图片描述
圆弧所在平面的的平面方程为:(利用法向量方程)
ax*(x-x1)+ay*(y-y1)+az*(z-z1)=0

那么根据交点可以确定圆心所在点的坐标参数为:t0 = ax*(x1-xp)+ay*(y1-yp)+az*(z1-zp)

那么圆心坐标为:
在这里插入图片描述
将上述约束后圆心坐标值代入,同时默认矢量恒通过已知圆心点(x0,y0,z0)即(xp,yp,zp为x0,y0,z0)重新求得x,y,z 为:令C= axx0+ayy0+az*z0
在这里插入图片描述

验证:

matlab代码

%% 旋转矩阵法(改进算法) 验证正确
%参数设定
x0 = 1; y0 = 1; z0 = 1;
x1 = 1; y1 = 1 ; z1 = 0;
ax = 1; ay = 1; az = 0;
aa = sqrt(ax^2+ay^2+az^2);
ax = ax/aa ; ay = ay/aa ; az = az/aa;

%绘制三维向量图
quiver3(x0,y0,z0,ax,ay,az);
hold on;


theta1 = pi/8; %输入需要旋转的角度值   %正值顺时针,负值逆时针
%绘制圆弧旋转图
theta = 0:theta1/20:theta1;
K = 1-cos(theta);
M = ax*x0+ay*y0+az*z0;
 x = (ax^2*K+cos(theta))*x1+(ax*ay*K-az*sin(theta))*y1+(ax*az*K+ay*sin
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值