有没有办法获得char的点位置?
Is there a way to get point position of char?
从基础数学我知道如何从圆中得到一个点:
x = (int) (xCenter + radius * Math.cos(angle));
y = (int) (yCenter + radius * Math.sin(angle));
所以改变变量angle
我可以得到一个圆的任何一点,或者如果我不断地从0
增加angle
到2PI
画一个圆。
有没有办法从像字母这样的复杂对象中获取点位置,在那里我可以获得代表字符的任何形状点或连续递增地绘制它?
"a letter" 的形状显然取决于字体。我相信大多数矢量字体(如 PostScript 和 TrueType)只是贝塞尔曲线,它是纯数学的,因此您可以通过研究贝塞尔曲线来推导出公式或算法。
一些帮助您入门的资源:
- Wikipedia: Bézier curve(有很多有趣的公式!)
- PostScript and Geometry GVSU 数学系的 David Austin
- Guide to PostScript Programming 作者:彼得·温加特纳
- PostScript 作者:Peter Kleiweg
从基础数学我知道如何从圆中得到一个点:
x = (int) (xCenter + radius * Math.cos(angle));
y = (int) (yCenter + radius * Math.sin(angle));
所以改变变量angle
我可以得到一个圆的任何一点,或者如果我不断地从0
增加angle
到2PI
画一个圆。
有没有办法从像字母这样的复杂对象中获取点位置,在那里我可以获得代表字符的任何形状点或连续递增地绘制它?
"a letter" 的形状显然取决于字体。我相信大多数矢量字体(如 PostScript 和 TrueType)只是贝塞尔曲线,它是纯数学的,因此您可以通过研究贝塞尔曲线来推导出公式或算法。
一些帮助您入门的资源:
- Wikipedia: Bézier curve(有很多有趣的公式!)
- PostScript and Geometry GVSU 数学系的 David Austin
- Guide to PostScript Programming 作者:彼得·温加特纳
- PostScript 作者:Peter Kleiweg