不使用函数绘制圆圈

问题描述 投票:0回答:2

所以我想知道circle()函数是如何工作的,如何在不使用它的情况下绘制圆圈(想做与之相关的事情)。有谁知道这个东西?

graphics geometry
2个回答
1
投票

栅格化圆的经典方法是使用Midpoint Circle Algorithm

它的工作原理是跟踪尽可能接近x2 + y2 = r2等值线的像素。这甚至可以通过纯整数计算来完成,这尤其适用于低计算功率器件。


0
投票

圆是距离另一个点恒定距离的一组点,称为中心。

如果你可以绘制由两个lines定义的points,你可以在画布上绘制circle的表示,知道它的center和它的radius

方法是确定位于圆周上的一组连续点,然后用线连接它们。

例如,在python中(读取像伪代码):

import math

def make_circle(center, radius, num_points=40):
    """returns a sequence of points on the circumference
    """ 
    points = [center]
    d_theta = 2 * math.pi / num_points
    cx, cy = center
    for idx in range(num_points + 1):
        theta = idx * d_theta
        points.append((cx + math.cos(theta) * radius, cy + math.sin(theta) * radius))
    return points

如果你想尝试一下,这里是:circles codeskulptor。 您将看到,出于显示目的,圆周上的40个点足以提供可接受的再现。

© www.soinside.com 2019 - 2024. All rights reserved.