processing - 使用p5.js更改处理代码并显示形状
问题描述
我想将处理代码更改为 p5.js。我尝试编写 p5.js 的代码,但它无法在 p5.js 上显示任何内容。原始文件和我的代码如下所示。
这是我的代码:
function setup(){
createCanvas(400,400);
}
var N = 100;
var cx = [0.000, 1.000, 0.500];
var cy = [0.000, 0.000, 0.866];
var x = 0.0, y = 0.0;
function draw(){
for (var i = 0; i < N; i++) {
nextPoint();
drawPoint();
}
}
function drawPoint(){
strokeWeight(1);
var px = map(x,0,1.0,0,300);
var py = map(y,0,1.0,0,300);
point(px, py);
}
function nextPoint() {
let r = random(3);
x = (x + cx[r]) / 2.0;
y = (y + cy[r]) / 2.0;
}
这是源代码:(表单处理)
void setup(){
size(400,400);
}
int N = 100;
float[] cx = { 0.000, 1.000, 0.500 };
float[] cy = { 0.000, 0.000, 0.866 };
float x = 0.0, y = 0.0;
void draw(){
for (int i = 0; i < N; i++) {
nextPoint();
drawPoint();
}
}
void drawPoint(){
strokeWeight(1);
float px = map(x,0,1.0,0,300);
float py = map(y,0,1.0,0,300);
point(px, py);
}
void nextPoint() {
int r = (int)random(3);
x = (x + cx[r]) / 2.0;
y = (y + cy[r]) / 2.0;
}
解决方案
floor()
定义时需要使用r
。尽管 JavaScript 没有像 Java 那样严格的变量数据类型,但它仍然不知道当你说cx[1.348]
. 当您使用非整数值进行数组访问时,您会得到cx[1.348] = NaN
,然后当您尝试在 处绘制一个点时NaN, NaN
,它不会做任何事情。所以你的代码应该let r = floor(random(3))
在第 23 行显示(你也可以考虑在 中设置背景颜色setup()
)。
推荐阅读
- c++ - 使用 Irrlicht 为 CMake 项目构建错误 LNK1104
- angular - 我们可以在一个应用程序中使用多个 Angular 版本吗?
- elasticsearch - 是否可以从 Kibana 定义的管道创建 Elasticsearch 索引?
- cucumber - 在空手道测试中使用未定义状态的步骤定义
- python - Docker - 多个基础镜像?在单个图像中使用 Python 的 NetCore 运行时
- javascript - 私人路线旁边有多种不同的布局
- python - Python if,else 并通过文件列表
- html - 未应用 css 属性
- python - Django 从查询中排除文章
- c - 动态分配的指向结构(链表)的指针数组,以及如何访问每个列表?