分享下如何用 C 语言画小猪佩奇使用带符号距离场(signed distance field, SDF)表示圆形:file:///C:\Users\Administrator.WIN-
STED6B9V5UI\AppData\Local\Temp\ksohtml9656\wps19.png 沿用这个方法表示形状,但这次我们想利用 ASCII 字符|/=\画出形状的外框,并填充内部,类似这样: =====
//.....\\
||.......||
\\.....//
=====SDF 的梯度(gradient)代表 SDF 变化最大的方向,可用这个方向去决定用哪一个字符。file:///C:\Users\Administrator.WIN-
STED6B9V5UI\AppData\Local\Temp\ksohtml9656\wps20.png 我们通过差分求 SDF 的梯度近似值,然后用atan2()求出梯度的角度:file:///C:\Users\Administrator.WIN-
STED6B9V5UI\AppData\Local\Temp\ksohtml9656\wps21.jpg 用 C 语言简单实现,在画布中画一个半径 0.8 并带有 0.1 寛度外框的圆形:file:///C:\Users\Administrator.WIN-
\AppData\Local\Temp\ksohtml9656\wps22.jpg #include #