【问题标题】:defining a circle on x-y axis在 x-y 轴上定义一个圆
【发布时间】:2012-06-08 15:31:06
【问题描述】:

我有这样一个方格圆盘。每个网格代表一个像素。我的目标是最准确地将这个圆盘近似为一个圆圈(从内部最大)。圆的半径应为 1,因此我必须定义一个 x-y 平面,其最小值和最大值分别为 -1、+1。所以像素 35 是原点 (0,0)。顺便说一句,我不想​​画一个圆,我只需要这样一个圆,它可以给我每个像素的坐标。

例如: 对于像素 3,它应该给我一个大约 (0, 0.8) 的坐标。 我可以定义这样一个圆圈,但我不确定坐标。我不问任何代码,但我们将不胜感激一些提示或建议。我也在为这个项目使用 emgucv 库。我应该从头开始定义这个坐标还是有任何预定义的类或什么可以加快我的速度。

谢谢

【问题讨论】:

  • 像素 3 应该是 (0, 1.0) 而不是 (0, 0.8)?你说半径是 1。
  • 半径为1,但我取像素3的网格正方形的中点,而不是上界。
  • 但是你说的会容易得多,因为我试图得到一个非常准确的结果,我尽可能地保持间隔,但在最坏的情况下,我会按照你提到的那样做

标签: c# pixel geometry


【解决方案1】:

要计算像素到原点相对于圆半径的距离,您只需要半径即可。为此,您可以通过“磁盘”的(四分之一)周界并计算最小/最大距离(根据您的需要)。结果是圆的半径

要得到像素的相对距离,计算像素到原点的距离,然后除以上面测量的半径

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多