对于直线长度中的(x,y)像素坐标,调整角度以变为ci

2024-10-02 18:18:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数来生成给定角度和像素长度的线的像素坐标。你知道吗

    # Start position of line
    lineStartX = 100
    lineStartY = 100

    # Length of line in pixels
    lineLength = 100

    # Set angle of line
    angle = 0

    for pixel in range(lineLength):

        # Next pixel with angle adjustment
        endy = (pixel + 1) * math.sin(math.radians(angle))
        endx = (pixel + 1) * math.cos(math.radians(angle))

        # Add next pixel with angle adjustment to line start coordinates
        Xcoordinate = lineStartX + (endx)
        Ycoordinate = lineStartY + (endy)

如何调整每个并发像素坐标的角度以形成一个圆?你知道吗

我试着为每个像素增量调整角度,但它只完成了部分圆,我不知道下一步该怎么办。你知道吗

        angle += 0.10

更新:当我按照建议增加角度时:

        angle += 2 * np.arcsin(math.pi / lineLength)

enter image description here

这个循环只完成了一部分


Tags: ofinwithlinemath像素角度pixel
1条回答
网友
1楼 · 发布于 2024-10-02 18:18:09

如果这条线是圆,那么长度等于它的周长。 因为在像素矩阵上画一个完美的圆是不可能的,一些近似规则将是有序的。您可以尝试增量调整角度(不是0.10),而是

2 * arcsin(pi / length)

使螺旋的两端相交:)

相关问题 更多 >