【问题标题】:Ellipse drawing椭圆绘图
【发布时间】:2014-03-28 09:24:43
【问题描述】:

我正在尝试仅使用 glVertex2i 函数绘制一个椭圆,我让用户输入 2 个焦点和椭圆上的一个点。我的问题是:如何找到其余的椭圆点。

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于一个数学公式,而不是关于编程数学公式时发现的问题。
  • 我同意 SJuan76 的观点,一旦你得到了轴的长度,一个简单的 DDA 就可以得到一个顶点数组。所以这只是一个关于如何获得轴长度的数学问题。
  • 问题应该移到数学社区。​​span>

标签: c++ opengl ellipse


【解决方案1】:

看看here。您必须执行的步骤是:

  1. 变换您的坐标系,使太焦点位于(-c,0)(+c,0)
  2. 将半长轴计算为2*a = r1 + r2,其中r1 resp。 r2 是给定点和焦点之间的距离。
  3. 计算短半轴为b*b = a*a - c*c
  4. 现在您可以使用简单的参数形式x = a*cos(t)y = b*sin(t)t(范围从02 pi)在椭圆上创建样本点。
  5. 使用步骤 1 中的变换的逆函数将这些点变换回来

【讨论】:

  • 我需要一个 C++ 函数来绘制具有给定点的椭圆。
  • 从给定的信息来看应该很容易实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
相关资源
最近更新 更多