第四讲上课时用到的advection.py里面有一个用来画太极的函数:
@ti.kernel
def paint():
for i, j in ti.ndrange(n * 4, n * 4):
ret = 1 - inside_taichi(Vector2(i / n / 4, j / n / 4))
x[i // 4, j // 4] += ret / 16
观察了一下好像是会把一些黑白边界的地方用介于0和1之间的值来填充,这样做有什么特殊的理由吗?我自己试了一下好像不做这个处理,只做0和1的2值填充也没有特别问题。
不过这个招还是挺酷炫的,没有增加网格却获取了4*n的解析度的感觉。。在数值计算或者学术上这个小技巧有正式的名称或者理论吗?