数学 {旋转}

数学 {旋转}

旋轉

性質

#將左下角位於原點的 正方形正方形中心 逆時針旋轉90度#
公式為(x,y) -> (L-y,x) (L為正方形邊長), 這個公式 可以直接通過 點 繞正方形的中心(L/2, L/2)旋轉的公式來計算出來;
. 舉個例子, 對於N*N陣列 (點位於[0,1,...,N-1]), 她裡面的點(x,y) (雖然是整數 但我們上面的公式 是更泛化的 既包含整數 也可以包含小數), 此時正方形邊長為N-1, 即逆時針旋轉 的結果是 (N-1-y, x);

@DELI;

#點A 繞點B 逆時針旋轉#

void Point::Set_rotate( const Point & _center, Tools::Double _radian){
//< @IF:[`radian= [0, +infty)`] 将当前点 绕着`center`点 *逆时针*旋转 `radian`弧度; @ELSE:[`radian= (0, -infty)`] 表示順时针旋转`|radian|`;
    Tools::Double dx = X - _center.X, dy = Y - _center.Y;
    X = _center.X + dx * cos( _radian) - dy * sin( _radian);
    Y = _center.Y + dx * sin( _radian) + dy * cos( _radian);
}

@DELI;

#將整個坐標系 繞源點 逆時針旋轉X#
其實這就等價於, 讓空間的任意點 繞原點 順時針旋轉X;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值