如何在 p5.js 中获得顶视图的房子
How to get a top-view house in p5.js
我是 p5.js 的初学者,这是我目前的代码:
function setup() {
createCanvas(600, 600);
}
function draw() {
background(50, 168, 82);
road();
house();
}
function road() {
fill(54, 59, 55);
noStroke();
rect(200, 0, 220, 600);
fill(197, 222, 202);
rect(300, 50, 40, 70);
fill(197, 222, 202);
rect(300, 200, 40, 70);
fill(197, 222, 202);
rect(300, 350, 40, 70);
fill(197, 222, 202);
rect(300, 500, 40, 70);
}
function house() {
fill(209, 207, 61);
rect(50, 50, 100, 100);
}
<script src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script>
这是结果:
code result
我想要一个看起来像房子的顶视图房子,而不是那个黄色的矩形 ;)
我试过了,但我找不到房子。如果有人能为我做到这一点,我会很高兴。
如果你不明白top-view house是什么意思,可以看这张图:
房子可以是这些房子的形状。
如果你只想要一个简单的房子,你可以把正方形的两半做成不同的颜色(以显示不同的光线照射到屋顶的两侧):
function setup() {
createCanvas(400, 400);
background(0);
noStroke();
fill(125);
rect(100, 100, 200, 100);
fill(200);
rect(100, 200, 200, 100);
}
如果你想让它不那么简单,你至少需要使用 triangle()
, probably also quad()
。对于这两个命令,您都指定形状中每个点的 x 和 y 坐标。这是一个稍微复杂一点的房子的例子:
function setup() {
createCanvas(400, 400);
background(0);
noStroke();
fill(100);
quad(50, 100,
350, 100,
300, 200,
100, 200
);
fill(200);
quad(100, 200,
300, 200,
350, 300,
50, 300
);
fill(125);
triangle(50, 100,
125, 200,
50, 300
);
triangle(350, 100,
275, 200,
350, 300
);
}
我是 p5.js 的初学者,这是我目前的代码:
function setup() {
createCanvas(600, 600);
}
function draw() {
background(50, 168, 82);
road();
house();
}
function road() {
fill(54, 59, 55);
noStroke();
rect(200, 0, 220, 600);
fill(197, 222, 202);
rect(300, 50, 40, 70);
fill(197, 222, 202);
rect(300, 200, 40, 70);
fill(197, 222, 202);
rect(300, 350, 40, 70);
fill(197, 222, 202);
rect(300, 500, 40, 70);
}
function house() {
fill(209, 207, 61);
rect(50, 50, 100, 100);
}
<script src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script>
这是结果: code result
我想要一个看起来像房子的顶视图房子,而不是那个黄色的矩形 ;) 我试过了,但我找不到房子。如果有人能为我做到这一点,我会很高兴。
如果你不明白top-view house是什么意思,可以看这张图:
房子可以是这些房子的形状。
如果你只想要一个简单的房子,你可以把正方形的两半做成不同的颜色(以显示不同的光线照射到屋顶的两侧):
function setup() {
createCanvas(400, 400);
background(0);
noStroke();
fill(125);
rect(100, 100, 200, 100);
fill(200);
rect(100, 200, 200, 100);
}
如果你想让它不那么简单,你至少需要使用 triangle()
, probably also quad()
。对于这两个命令,您都指定形状中每个点的 x 和 y 坐标。这是一个稍微复杂一点的房子的例子:
function setup() {
createCanvas(400, 400);
background(0);
noStroke();
fill(100);
quad(50, 100,
350, 100,
300, 200,
100, 200
);
fill(200);
quad(100, 200,
300, 200,
350, 300,
50, 300
);
fill(125);
triangle(50, 100,
125, 200,
50, 300
);
triangle(350, 100,
275, 200,
350, 300
);
}