gpt4 book ai didi

c# - 从多边形的 4 个点计算宽度和高度

转载 作者:太空狗 更新时间:2023-10-30 00:12:07 25 4
gpt4 key购买 nike

我有四个点组成一个矩形,我允许用户移动任何点并将矩形旋转一个角度(每个点围绕中心点旋转)。它保持近乎完美的矩形形状(在 PointF 精度允许的范围内)。这是我从四个点绘制的“矩形”的示例:

enter image description here

但是,我需要能够获得点之间的宽度和高度。当矩形不旋转时这很容易,但是一旦我旋转它,我的数学就会返回此处红色轮廓显示的宽度和高度:

enter image description here

假设我知道点的顺序(例如从左上角顺时针方向),我如何检索它们代表的矩形的宽度和高度?

最佳答案

如果“宽度”和“高度”只是指边长,并且列表或数组中有 4 个 PointF 结构,您可以:

double width = Math.Sqrt( Math.Pow(point[1].X - point[0].X, 2) + Math.Pow(point[1].Y - point[0].Y, 2));
double height = Math.Sqrt( Math.Pow(point[2].X - point[1].X, 2) + Math.Pow(point[2].Y - point[1].Y, 2));

关于c# - 从多边形的 4 个点计算宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7475004/

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