作业1
作业描述
有两个窗口,一个显示曼德勃罗集合,另外一个显示朱利亚集合。鼠标放到曼德勃罗集合的窗口,另外一个窗口显示对应的朱利亚集合。
听说老师想要彩色的图,所以我搞了个全彩的(/ω\)
有两个窗口,一个显示曼德勃罗集合,另外一个显示朱利亚集合。鼠标放到曼德勃罗集合的窗口,另外一个窗口显示对应的朱利亚集合。
听说老师想要彩色的图,所以我搞了个全彩的(/ω\)
色彩好漂亮!!
这个全彩好作弊喂,是根据方向lerp的(逃走)…
中文变量名看得我一愣一愣的好厉害:)
23333333 全彩好评~
I think function color_hsv
is Incomprehensible, a regular hsv2rgb
algorithm is better:
@ti.func
def hsv2rgb(h: float, s: float, v: float) -> ti.Vector:
hh = (h / 3.1415926 * 3.0) %6 #[0, 6)
i = ti.floor(hh)
ff = hh - i
p = v * (1.0 - s)
q = v * (1.0 - (s * ff))
t = v * (1.0 - (s * (1.0 - ff)))
r, g, b = 0.0, 0.0, 0.0
if i == 0: r, g, b = v, t, p
elif i == 1: r, g, b = q, v, p
elif i == 2: r, g, b = p, v, t
elif i == 3: r, g, b = p, q, v
elif i == 4: r, g, b = t, p, v
elif i == 5: r, g, b = v, p, q
return ti.Vector([r, g, b])