Processing 4.0中使用arc()函数能否从较大角度向较小角度方向绘制?
arc()函数大角度向小角度绘制实现说明
结论:完全可以实现,不同绘图环境的调用规则如下:
- 如果你使用的是Processing/p5.js类的绘图框架
框架的arc()函数默认会自动识别起止角度的大小,当起始角度大于结束角度时,会按顺时针方向绘制跨360度零点的弧段。你给出的示例代码arc(200, 200, 195, 195, radians(270), radians(40));可以正常运行,最终会绘制从270度(画布正上方)顺时针到40度(第一象限偏水平右方向)的弧,覆盖角度总长度为130度。 - 如果你使用的是HTML Canvas 2D绘图接口
你需要额外传入第七个布尔参数控制绘制方向,设置为true开启逆时针绘制即可实现大角度到小角度的绘制,对应你需求的写法为:ctx.arc(200, 200, 195, 270 * Math.PI / 180, 40 * Math.PI / 180, true);
效果验证方法
可以采用描边模式绘制测试,直观确认弧段范围是否符合预期,p5.js测试代码示例:
function setup() { createCanvas(400, 400); background(220); noFill(); stroke(255, 0, 0); strokeWeight(3); // 测试目标语句 arc(200, 200, 195, 195, radians(270), radians(40)); }
内容的提问来源于stack exchange,提问作者BasherOG
相关产品推荐
相关产品推荐

