Skip to content

Tutorials

Rangding Zhang edited this page Jul 26, 2024 · 2 revisions

详细教程

点和圆

实际上不可能画出一个点,但可以画一个小小的圆来代替,需要指定圆心和半径。

color black
circle 50, 50, 2
fill

直线

严格地说是画线段。只需指明起点和终点坐标:

from 10, 15
to 35, 50
stroke

曲线

可以画二次或三次贝塞尔曲线。需要指明起点、中间的控制点及终点。比如:

from 10, 15
bezier 10, 50, 35, 50
stroke

控制点可以多加一个,成为三次贝塞尔曲线:

from 10, 15
bezier 10, 40, 10, 60, 35, 50
stroke

椭圆

类似圆,需要指明椭圆中心坐标、横半轴长、纵半轴长。

ellipse 50, 50, 10, 20
fill

矩形

需要指明左上角顶点以及宽和高。

rectangle 5, 5, 90, 40
stroke

还可以画圆角矩形,只需要加一个参数指定圆角的半径即可:

rectangle 5, 5, 90, 40, 10
stroke

另一种画曲线的方法是画一个圆弧,但要注意圆弧毕竟不同于贝塞尔曲线,其代表的曲线非常规整,不灵活。

画弧需要先指定对应圆的参数,即圆心和半径,再指定弧的起止角度(即半径旋转角度),正值为顺时针,负值为逆时针。

arc 50, 50, 40, 45, 180
stroke

椭圆弧

也可以在椭圆上截取一段得到椭圆曲线。类似圆弧,先指定椭圆的参数,再指定弧的起止角度。

earc 50, 50, 40, 15, 0, 150
stroke

注意到上边的绘制动作指定为“描边”("stroke"),你也可以改成“填充”("fill")看看效果,到底填充的是哪部分?

正多边形

祖冲之用割圆术来计算圆周率的值,就是用正多边形来模拟圆。反过来,怎么画一个正多边形?

可以先画一个圆,再把圆周均分成 n 等份,依次连接这些分割点也就形成了正n边形。

所以我们只需要指定正多边形边数和对应外接圆的参数就可以画这个正多边形。

polygon 5, 50, 50, 40
stroke

这样就画出了一个正五边形。

还可以加一个参数来旋转正多边形,一贯规范,我们约定正值为顺时针旋转,负值为逆时针旋转。 上边的多边形画出来后是平整地“站”在画布上,最底下的边严格平行于 x 轴。让我们来旋转它:

polygon 5, 50, 50, 40, 20
stroke

文字

支持在图中写简单的文字,如坐标长度等,仅支持字母和数字及常见符号,不支持汉字。

需要指定文字左上角的位置和文字内容,如

color "black"
text 100, 100, "Hello!"

渲染

可以设置所有图形的线形(实线/虚线)、线宽、颜色,也可以通过旋转画布搭配载入载出的操作来旋转图形。TODO

Clone this wiki locally