【问题标题】:how to calculate the bounding box of an axis aligned ellipse for given centerpoint and axis aligned intersection line at distance h from a bound如何为给定的中心点和轴对齐的相交线在距离边界 h 处计算轴对齐椭圆的边界框
【发布时间】:2022-11-12 15:27:04
【问题描述】:

如何计算给定中心点 cx,cy 的轴对齐椭圆的边界框和与边界距离 h 处的端点 x1y1 和 x2y2 的轴对齐相交线?

我的目的是使用 win32 Chord 函数绘制椭圆的一部分。 Chord function (wingdi.h)

此图显示了椭圆边界矩形底部的弦,给出 y3=y1+h。

【问题讨论】:

  • 你不能,因为你的形象还不完整:只是中心 (cx,cy) 和两个点 p1 和 p2,可能有无数个轴对齐的椭圆(只需拍摄图像并绘制第二个不那么宽但更高的椭圆)。您至少需要一个坐标才能完全约束椭圆。
  • 的确。我修改了问题并指定了缺失的坐标。

标签: math


【解决方案1】:

拥有一个轴对齐的椭圆意味着我们只需要找到我们的主要和次要半径的值,然后我们就知道我们的边界框,因为这将是一个宽度为2b、高度为2a、中心为@ 的框987654324@(我们同样可以简单地从中得出角点)。

以 (h, k) 为中心的椭圆的公式为:

 (x-h)²    (y-k)²
─────── + ─────── = 1
   a²        b²

从你的图表我们知道cx和cy,我们知道a = y3 - cy,我们知道椭圆上的三个点。这留下了一个未知数,我们现在可以轻松找到它。使用x = x1 - cx 和y = y1 - cy,我们可以通过solve for b 得到:

         ay
b = ± ─̲─̲─̲─̲─̲─̲─̲─
      √a² - x²

我们完成了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多