我正在開發一個小型繪畫程式,在該程式中,我可以使用滑鼠移動/調整角上帶有手柄的形狀。這已經很好用了,除非在形狀被旋轉時。
我需要 X 坐標和 Y 坐標之間的轉換。我嘗試了一些正弦/余弦計算,但沒有成功。要么是我的公式中有基本錯誤,要么是 MouseMove 事件中 X/Y 的更改對于此計算來說太小了。
有沒有人有這個主題的經驗或者可能有一些好的鏈接(可能有例子)?
提前謝謝,彼得
uj5u.com熱心網友回復:
盡量避免使用角度,更喜歡使用變換,即矩陣。
其中一個示例是system.numerics.matrix3x2,它具有從角度、平移、縮放等創建變換的方法。矩陣的一些重要屬性是您可以組合它們并反轉它們。除了簡單地使用它們來轉換一個點。
繪制一個矩陣來可視化變換通常也很有用,即將一個零向量、x 單位向量和 y 單位向量與矩陣相乘,并在這些點之間畫一些線,這應該可以讓您很好地了解什么轉換確實如此。
雖然不是絕對必需的,但在執行此類操作時,一些線性代數知識非常有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/510004.html
標籤:C#表格鼠坐标系
