gpt4 book ai didi

algorithm - 快速嵌套用于在矩阵中绘制圆

转载 作者:行者123 更新时间:2023-12-04 08:48:05 25 4
gpt4 key购买 nike

假设我有一个 NxN 矩阵,其中每个单元格都是一个 1x1 的白色正方形。
假设我有一个位置 P 和一个半径 R。我想绘制以 P 为中心的半径为 R 的圆的所有单元格。
我当然可以这样做:

for(int i = P.x - R; i < P.x + R; i++)
for(int j = P.y - R; j < P.y + R; j++)
if (distance from P to (i,j) < R)
Paint(i,j)
但是,由于我将在将执行每一帧的着色器上运行此代码,因此我想知道一种更快的方法来找到正确的单元格,而不是询问每个单元格的距离,这很慢。
有没有更聪明的方法?

最佳答案

您可以为圆的每个给定高度计算其线段宽度并完全填写。
你会从 y = P - R 到 P + R 填充和弦中的所有点(圆段)。
对于弦的长度,只需使用 here 中的公式 (9) .

关于algorithm - 快速嵌套用于在矩阵中绘制圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64213136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com