我在这里有这个算法:
pc = # the point you are coloring now
p0 = # start point
p1 = # end point
v = p1 - p0
d = Length(v)
v = Normalize(v) # or Scale(v, 1/d)
v0 = pc - p0
t = Dot(v0, v)
t = Clamp(t/d, 0, 1)
color = (start_color * t) + (end_color * (1 - t))
生成点对点线性渐变。它对我来说效果很好。我想知道是否有类似的算法来生成径向渐变。类似地,我的意思是求解点 P 的颜色,而不是求解某个颜色的 P(其中 P 是您正在绘制的坐标)。
谢谢