网络图怎么用p5js画
时间: 2023-09-18 14:09:44 浏览: 44
P5.js是一个流行的JavaScript库,可以用于创建交互式的网络图。下面是一个简单的例子,展示了如何使用P5.js绘制一个简单的网络图(包含三个节点和两个连接):
```
let nodes = [];
let edges = [];
function setup() {
createCanvas(400, 400);
// 创建三个节点
nodes.push(createNode(100, 100));
nodes.push(createNode(200, 200));
nodes.push(createNode(300, 100));
// 创建两个连接
edges.push(createEdge(nodes[0], nodes[1]));
edges.push(createEdge(nodes[1], nodes[2]));
}
function draw() {
background(220);
// 绘制节点和连接
nodes.forEach(node => node.draw());
edges.forEach(edge => edge.draw());
}
// 创建一个节点对象
function createNode(x, y) {
let node = {
x: x,
y: y,
size: 30,
color: color(255, 0, 0),
draw: function() {
fill(this.color);
ellipse(this.x, this.y, this.size, this.size);
}
};
return node;
}
// 创建一个连接对象
function createEdge(fromNode, toNode) {
let edge = {
fromNode: fromNode,
toNode: toNode,
color: color(0, 0, 255),
draw: function() {
stroke(this.color);
line(this.fromNode.x, this.fromNode.y, this.toNode.x, this.toNode.y);
}
};
return edge;
}
```
在上面的代码中,我们首先创建了一个空的节点数组和一个空的连接数组。然后,在`setup()`函数中,我们创建了三个节点和两个连接,并将它们添加到数组中。在`draw()`函数中,我们遍历节点和连接数组,并调用它们的`draw()`方法来绘制它们。
`createNode()`函数用于创建一个节点对象,该对象包含`x`和`y`坐标、大小和颜色,并定义了一个`draw()`方法来绘制节点。`createEdge()`函数用于创建一个连接对象,该对象包含起始节点和终止节点,并定义了一个`draw()`方法来绘制连接。
通过这些函数,我们可以轻松地创建和绘制任意数量的节点和连接,从而构建更复杂的网络图。