gpt4 book ai didi

c# - 旋转后获取坐标

转载 作者:行者123 更新时间:2023-11-30 13:41:29 27 4
gpt4 key购买 nike

我有一个用户控件,它包含一个矩形和矩形左右边缘的 2 个椭圆。我有兴趣在发生平移和旋转渲染变换后找出用户控件的坐标。

用户控件包含在 Canvas 中。

编辑:在互联网上搜索了一段时间后,我在这里找到了问题的答案 http://forums.silverlight.net/forums/p/136759/305241.aspx所以我想我会为遇到此问题的其他人发布链接。

我已将 Tomas Petricek 的帖子标记为答案,因为它是最接近解决方案的帖子。

最佳答案

如果你想自己实现计算,那么你可以使用下面的方法来计算一个点旋转(指定度数)后的位置:

public Point RotatePoint(float angle, Point pt) { 
var a = angle * System.Math.PI / 180.0;
float cosa = Math.Cos(a), sina = Math.Sin(a);
return new Point(pt.X * cosa - pt.Y * sina, pt.X * sina + pt.Y * cosa);
}

通常,您可以将转换表示为矩阵。要组合转换,您只需将矩阵相乘,因此这是一个非常可组合的解决方案。表示旋转的矩阵包含上述方法中的 sincos 值。参见 Rotation matrix (和 Transformation matrix )在维基百科上。

关于c# - 旋转后获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com