第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

一種無(wú)需與極坐標(biāo)相互轉(zhuǎn)換即可旋轉(zhuǎn)矢量的方法

一種無(wú)需與極坐標(biāo)相互轉(zhuǎn)換即可旋轉(zhuǎn)矢量的方法

月關(guān)寶盒 2023-09-19 17:34:52
一種方法是:將原始向量轉(zhuǎn)換為極坐標(biāo)按設(shè)定量旋轉(zhuǎn)轉(zhuǎn)換回笛卡爾坐標(biāo)系是否有一種更干凈的方法,或者不需要進(jìn)行這些轉(zhuǎn)換的方法
查看完整描述

2 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

是的,將 x 和 y 乘以角度的 sin 和 cos。這就是我在 C++ 中的做法:


class Rotate2D

{

public:

    float cosA, sinA;


    Rotate2D(const float radRot, const float scale=1.0f)

        : cosA(scale*cos(radRot)), sinA(scale*sin(radRot)){};


    template<typename T>

    inline Point2DF map(const T &pt) const

    {

        return Point2DF(cosA*pt.cx() - sinA*pt.cy(),

                     sinA*pt.cx() + cosA*pt.cy());

    }

};

此代碼在 2D 中旋轉(zhuǎn)并可選擇縮放。在 3D 中也是同樣的事情。擴(kuò)展幾乎是免費(fèi)的,因此幾乎沒(méi)有理由不使用它。


但是,我強(qiáng)烈建議您使用四元數(shù)庫(kù)來(lái)旋轉(zhuǎn) 3D 點(diǎn)。


查看完整回答
反對(duì) 回復(fù) 2023-09-19
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

當(dāng)然有。

對(duì)于二維來(lái)說(shuō),矩陣非常簡(jiǎn)單,就是

? ? ? ?| cos A? ?- sin A |

R = |? ? ? ? ? ? ? ? ?|

? ? ? ?| sin A? ? ?cos A |

其中 A 是您想要旋轉(zhuǎn)向量的角度


一旦你組成了一個(gè)這樣的矩陣,將它乘以你的向量,你就會(huì)得到向量旋轉(zhuǎn)量“A”


對(duì)于二維,請(qǐng)使用文章開(kāi)頭的那個(gè),對(duì)于更高維度,谷歌是你的朋友。


通過(guò)一些調(diào)整,您可以將此技術(shù)擴(kuò)展到縮放、移動(dòng)(平移)和剪切變換。


請(qǐng)注意,二維向量乘以 2x2 矩陣會(huì)產(chǎn)生與您必須在方法中概述的相同操作。這是一種更干凈的處理事情的方式。當(dāng)維數(shù)超過(guò) 2 時(shí),它會(huì)變得更容易。


查看完整回答
反對(duì) 回復(fù) 2023-09-19
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)