C

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

C

C

C

*注:不能使用浮点运算。

algorithm math graphics 2d deterministic
1个回答
0
投票

A = (x1, y1) B = (x2, y2)

C=B-A=(x2 - x1, y2 - y1) = (xc, yc) C2 = C . C = xc2 + yc2 (x2-x1) )如果你不能使用浮点运算,那么你可能需要使用楼层划分。 你可以像这样进行四舍五入。y(x) = y1 + floor( ( 2(x-x1)(y2-y1) + (x2-x1) ) 2(x2-x1))Bresenham算法的全部要点是以增量方式计算这个公式,以避免乘法和除法,当时的乘法和除法比现在通常要贵得多。注:我假设你想要一个沿x或y的距离,因为你想要夹线。 如果你真的想要一个欧几里得距离,那么请看@Beta的回答

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