我阅读了Calculate Bounding box coordinates from a rotated rectangle以了解如何从旋转的矩形计算边界框坐标。但在特殊情况下,如下图所示:
如果已经得到了边界框大小、坐标和旋转度,如何获得旋转矩形的大小?
我试着用javascript写代码
//assume w=123,h=98,deg=35 and get calculate box size
var deg = 35;
var bw = 156.9661922099485;
var bh = 150.82680201149986;
//calculate w and h
var xMax = bw / 2;
var yMax = bh / 2;
var radian = (deg / 180) * Math.PI;
var cosine = Math.cos(radian);
var sine = Math.sin(radian);
var cx = (xMax * cosine) + (yMax * sine) / (cosine * cosine + sine * sine);
var cy = -(-(xMax * sine) - (yMax * cosine) / (cosine * cosine + sine * sine));
var w = (cx * 2 - bw)*2;
var h = (cy * 2 - bh)*2;
But...the答案与w和h不匹配
发布于 2012-04-02 13:25:15
您可能需要像affine transformation这样的工具来发现点坐标。然后使用标准几何公式计算大小。
https://stackoverflow.com/questions/9971230
复制相似问题