Javascript Processing.js形状不工作
我写了一个函数,用来画任意边数的多边形。然而,当我只在Java脚本中运行它时,它不起作用。为什么?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
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;结果视图中不显示画布。您可以举一个例子,例如,修改您的更改以演示问题,然后修改您的问题以包含更新版本的链接吗?这样我们就可以看到问题了。非常感谢!非常感谢你!