1

如果我们将圆分成 16 部分而不是一般算法中给出的 8 部分,中点圆算法的速度会提高吗?请对任何一种情况进行解释

4

1 回答 1

2

如果将圆分成 16 块而不是 8 块,则需要进行 1 次额外的镜像操作,同时将镜像的饼图减半。如果由于将饼减半而获得的性能增益大于额外镜像减速,那么您应该使用 16 块。

将圆圈分成两部分:

 1 x 180degree computing and 180degree mirroring.

将圆圈分成4部分:

1 x 90degree computing and 
90degree mirroring x1 
180degree mirroring x1 

将圆圈分成8个部分:

 1x 45degree computing and 
 1x 45degree mirroring.
 1x 90degree mirroring.
 1x 180 degree mirroring.

将圆圈分成16个部分:

 1x 22.5degree computing (half of before) +performance
 1x 22.5degree mirroring.(an extra from before) -performance
 1x 45degree mirroring.
 1x 90 degree mirroring.
 1x 180 degree mirroring.

就像用 22.5 度计算交换 22.5 度镜像

但是,镜像较小的角度比镜像 90 度角更复杂。

于 2012-08-07T10:48:57.570 回答