gpt4 book ai didi

javascript - 使用 p5.js 在 Javascript 中的 2 个 Angular 之间旋转图像

转载 作者:行者123 更新时间:2023-12-04 13:24:11 25 4
gpt4 key购买 nike

我想在 cos(20) 之间旋转我的图像和 -cos(20)带有流畅的动画。
树是用 branch() 递归完成的功能。我不知道如何用循环来做到这一点。是否有内置函数或特定算法可以这样做?

let angles = 0;
var strokeValue = 1;
function setup() {
const canvas = createCanvas(540, 400);
frameRate(8);
}

function draw() {
background(220);
angle = PI/8;
translate(250, height);
// I think the rotate function should be here
branch(90);
}

function branch(length) {
strokeWeight(strokeValue);
line(1, 1, 1, -length);
translate(0, -length);
if (length > 4) {
//Right branches
push();
rotate(angle);
branch(length * 0.72);
pop();
// left branches
push();
rotate(-angle);
branch(length * 0.72);
pop();
push();
// middle
rotate(-angle * 0.2);
branch(length * 0.3);
pop();
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>

This is the picture

最佳答案

我试过这个,虽然我不确定这是你要求的,所以请随时发表评论。

let angles = 0;
var strokeValue = 1;
function setup() {
const canvas = createCanvas(540, 400);
frameRate(30);
}

function draw() {
background(220);
angle = PI/8;
translate(250, height);
// I think the rotate function should be here
rotate(cos(map(frameCount / 10,0,100,-20,20)));
branch(90);
}

function branch(length) {
strokeWeight(strokeValue);
line(1, 1, 1, -length);
translate(0, -length);
if (length > 4) {
//Right branches
push();
rotate(angle);
branch(length * 0.72);
pop();
// left branches
push();
rotate(-angle);
branch(length * 0.72);
pop();
push();
// middle
rotate(-angle * 0.2);
branch(length * 0.3);
pop();
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>

关于javascript - 使用 p5.js 在 Javascript 中的 2 个 Angular 之间旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69630250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com