绕任意点旋转

参考:https://wenku.baidu.com/view/2322f51e650e52ea55189867.html

空间上绕任意点旋转
设旋转前的绝对坐标为P(x,y,z)
参考点的坐标为(_x,_y,_z),旋转轴的单位向量(i,j,k)
计算旋转后的坐标P’实现,旋转角度为γ(弧度)
1.计算P相对参考点的相对坐标
x -= _x;
y -= _y;
z -= _z;
2.计算旋转后的坐标

	x' = (i*i*(1 - cos(γ)) + cos(γ))*x + (i*j*(1 - cos(γ)) - k*sin(γ))*y + (i*k*(1 - cos(γ)) + j*sin(γ))*z;
	y' = (j*i*(1 - cos(γ)) + k*sin(γ))*x + (j*j*(1 - cos(γ)) + cos(γ))*y + (j*k*(1 - cos(γ)) - i*sin(γ))*z;
	z' = (i*k*(1 - cos(γ)) - j*sin(γ))*x + (j*k*(1 - cos(γ)) + i*sin(γ))*y + (k*k*(1 - cos(γ)) + cos(γ))*z;

3.计算P’的绝对坐标
x’ += _x;
y’ += _y;
z’ += _z;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值