Processing 为什么我的轮换在处理过程中很奇怪?

Processing 为什么我的轮换在处理过程中很奇怪?,processing,Processing,我试图在图形程序中写入垂直文本,该程序是在我的draw()函数中使用此代码处理时创建的 //将文本翻译到我想要的位置。 翻译(20,30.); //居中对齐文本 文本对齐(中心); //将要写入的文本旋转270度,使其垂直。 旋转(270); //写垂直文本。 文本(“一些垂直文本”,0,0); //撤消旋转和平移。 旋转(-270.); 翻译(-20.,-30.); 但是,此代码不会垂直旋转文本。事实上,书写的文本既不垂直也不水平倾斜 发生了什么?您必须以弧度为单位指定角度。尝试旋转(PI/

我试图在图形程序中写入垂直文本,该程序是在我的
draw()
函数中使用此代码处理时创建的

//将文本翻译到我想要的位置。
翻译(20,30.);
//居中对齐文本
文本对齐(中心);
//将要写入的文本旋转270度,使其垂直。
旋转(270);
//写垂直文本。
文本(“一些垂直文本”,0,0);
//撤消旋转和平移。
旋转(-270.);
翻译(-20.,-30.);
但是,此代码不会垂直旋转文本。事实上,书写的文本既不垂直也不水平倾斜


发生了什么?

您必须以弧度为单位指定角度。尝试旋转(PI/2.0*3)。如果您不喜欢使用弧度,可以使用
radians(x)
函数对其进行转换。最终结果如下所示:
旋转(弧度(270))

哦,一般来说,最好使用
pushMatrix()
保存当前的平移/旋转/状态,然后使用
popMatrix
恢复,而不是向后旋转。旋转通常会给您带来小的舍入误差,这些误差会很快累积。

谢谢<代码>旋转(3*PI/2)正确旋转文本。另外,非常感谢您提供有关使用矩阵堆栈的建议。从现在起,这将在图形编程方面为我节省大量劳动力(而且更准确)。