Javascript Processing.js形状不工作

Javascript Processing.js形状不工作,javascript,function,processing.js,Javascript,Function,Processing.js,我写了一个函数,用来画任意边数的多边形。然而,当我只在Java脚本中运行它时,它不起作用。为什么? function sketchProc(processing) { function polygon (sides, centerX, centerY, radius, fillColor, strokeColor) { processing.fill(fillColor); processing.stroke(strokeColor); var innerAng

我写了一个函数,用来画任意边数的多边形。然而,当我只在Java脚本中运行它时,它不起作用。为什么?

    function sketchProc(processing) {

function polygon (sides, centerX, centerY, radius, fillColor, strokeColor) {
    processing.fill(fillColor);
    processing.stroke(strokeColor);
    var innerAngle = 360/sides;
    var rotationAngle = innerAngle;
    processing.beginShape();
    for (var i = 0; i < sides + 2; i++) {
        processing.vertex(centerX + radius*Math.sin(rotationAngle), centerY + radius*Math.cos(rotationAngle));
    console.log(centerX + radius*Math.sin(rotationAngle), centerY + radius*Math.cos(rotationAngle));
        rotationAngle = innerAngle * i;

    }
    processing.endShape();
}}
函数sketchProc(处理){
函数多边形(边、centerX、centerY、半径、fillColor、strokeColor){
加工。填充(填充颜色);
处理。笔划(strokeColor);
var innerAngle=360/边;
var rotationAngle=内角;
processing.beginShape();
对于(变量i=0;i

它只是画了一个奇怪的之字形。(我稍后在代码中实现了这个函数,它工作正常,只是形状混乱。)

将来,您可能希望编辑问题本身,而不是仅仅使用JSFIDLE进行注释。您还可以@回复每个请求它的人。否则我们就看不到了!无论如何,谢谢你把它放在一起

请看这一行:

processing.vertex(centerX + radius*Math.sin(rotationAngle), centerY + radius*Math.cos(rotationAngle));
请注意,您正在将
rotationAngle
输入到
sin()
cos()
函数中。还要注意,
rotationAngle
是以度为单位指定的。(值介于0和360之间。)

这在Khan Academy上运行正常,因为默认情况下,它们的功能需要学位

但是,normal Processing和Processing.js采用弧度的参数!(值介于0和2π之间)因此您必须将
旋转角度
变量转换为弧度值!您可以使用方便的
radians()
函数来完成此操作


更多信息可以在中找到。

将来,您可能希望编辑您的问题本身,而不仅仅是使用JSFIDLE进行评论。您还可以@回复每个请求它的人。否则我们就看不到了!无论如何,谢谢你把它放在一起

请看这一行:

processing.vertex(centerX + radius*Math.sin(rotationAngle), centerY + radius*Math.cos(rotationAngle));
请注意,您正在将
rotationAngle
输入到
sin()
cos()
函数中。还要注意,
rotationAngle
是以度为单位指定的。(值介于0和360之间。)

这在Khan Academy上运行正常,因为默认情况下,它们的功能需要学位

但是,normal Processing和Processing.js采用弧度的参数!(值介于0和2π之间)因此您必须将
旋转角度
变量转换为弧度值!您可以使用方便的
radians()
函数来完成此操作


更多信息可以在中找到。

您可以发布一个指向运行代码的JSFIDLE或CodePen的链接吗?@KevinWorkman画布和外部脚本在我输入它们时不起作用。我不确定您在说什么。我们需要能够运行代码。最好的方法是组合一个JSFIDLE或CodePen;结果视图中不显示画布。您可以举一个例子,例如,修改您的更改以演示问题,然后修改您的问题以包含更新版本的链接吗?这样我们就可以看到问题了。你能发布一个链接到运行你的代码的JSFIDLE或CodePen吗?@KevinWorkman画布和外部脚本在我输入它们时不起作用。我不确定你在说什么。我们需要能够运行代码。最好的方法是组合一个JSFIDLE或CodePen;结果视图中不显示画布。您可以举一个例子,例如,修改您的更改以演示问题,然后修改您的问题以包含更新版本的链接吗?这样我们就可以看到问题了。非常感谢!非常感谢你!