我的小作品
processing吧
全部回复
仅看楼主
level 4
qof3990 楼主
float a,i,j,j1,r,r1,r2,r3,k,k1;
int x,angle = 20; // 旋转角度
void setup() {
size(600, 600);
x = width/2;
r3=30;//中间圆的半径
stroke(0);
strokeWeight(1);
noFill();
pushMatrix(); // 保存当前的变换矩阵
translate(x, x); // 移动到画布中心
for (float b=0; b#.png");//save没法用哈希标记#保存图片
}
}
======================================================
变量名取的不好,只能尽量写注释了。
注释掉a=0这行,可以只画一个曲线。
2024年12月05日 03点12分 1
level 4
qof3990 楼主
float a, i, j, j1, j2, j11, j21, r, r1, r2, r3, k, k1;
int x, angle = 20, t1, t2, t3; // 旋转角度
//float startValue = 1.01;
//float endValue = 1.9;
//float duration = 1000; // 持续时间以毫秒为单位
void setup() {
size(600, 600);
x = width/2;
r3=30;//中间圆的半径
stroke(0);
strokeWeight(1);
noFill();
pushMatrix(); // 保存当前的变换矩阵
}
void draw() {
background(200);
randomSeed(0);
translate(x, x); // 移动到画布中心
//完全循环一次是t1,t2,t3的最小公倍数,6442.8秒。要减小循环时间需要找到最小公倍数比较小的三个数
t1=5900;
t2=4200;
t3=5200;
//pingpangvalue设立一个函数,在一二函数间变化,第三是变化的时间
//i=1.18;//i控制曲线从曲到直的变化速率,越小越曲折。
i=pingpangvalue(1.01, 1.9, t1);
j1=0.8;//控制曲线的弯折次数,越大弯越少
j2 = pingpangvalue(0.1, 1.8, t2);
//j2 =0.8;
//r2 = 120;//曲线开始的摆动幅度。越大越大。
r2 = pingpangvalue(10, 800, t3);
k1=16;//和i的效果一样,越大越直。
for (float b=0; b#.png");//save没法用哈希标记#保存图片
}
}
float pingpangvalue(float startValue, float endValue, float duration) {
// 创建0到2之间的循环,然后减去1得到-1到1之间的循环
float t = abs((millis() % (duration * 2)) / duration - 1);
// 使用lerp进行线性插值
float value = lerp(startValue, endValue, t);
return value;
}
================================================================
做成了动画,可惜gif不能容纳太长的动画,投了视频,看看一会能不能贴上来。
2024年12月06日 02点12分 2
level 4
qof3990 楼主
奇怪,手机端不能看到全部代码。只有电脑上可以。这是为什么?
2024年12月06日 03点12分 4
level 4
qof3990 楼主
循环内的代码被吃掉了,奇怪
2024年12月06日 03点12分 5
level 4
qof3990 楼主
防吞
2024年12月06日 07点12分 6
level 4
qof3990 楼主
离谱,我在贴吧发的视频居然不能转发到贴吧跟帖里,只能转贴。
2024年12月06日 07点12分 7
level 8
6666
2025年09月01日 09点09分 8
level 8
666
2025年09月02日 12点09分 9
level 8
6666
2025年10月07日 15点10分 10
1