EN
JavaScript and animated sinus in console
18 points
Hello everyone π
Today I'd like to share with you simple but effective way of using mathematical sinus to make funny animation in console with my favourite JavaScript.
Do you have smarter or better way of doing similar example? Any suggestion is appreciated, thanks in advance. π
I hope someone will get inspired by this post and will create something even more creative.
xxxxxxxxxx
1
function printSine(x1, x2) {
2
var dx = 3.14 / 4.0; // x axis step
3
var dy = 1.0 / 5.0; // y axis step
4
β
5
function printLine(character) {
6
var line = '';
7
β
8
for(var y = y1; y < y2; y += dy) {
9
line += '.';
10
}
11
12
console.log(line + character);
13
}
14
15
for (var rad = x1; rad < x2; rad += dx) {
16
var y1 = 0.0;
17
var y2 = Math.sin(rad) + 1;
18
β
19
printLine('π');
20
}
21
}
22
β
23
var x1 = 0.0; // begining of sinus chart
24
var x2 = 6 * 3.14 // end of sinus chart
25
β
26
setInterval(function() {
27
console.clear();
28
printSine(x1, x2);
29
30
x1 += 0.3;
31
x2 += 0.3;
32
33
}, 40);
xxxxxxxxxx
1
function printSine(x1, x2) {
2
var dx = 3.14 / 4.0; // x axis step
3
var dy = 1.0 / 5.0; // y axis step
4
β
5
function printLine() {
6
var line = '';
7
β
8
for(var i = 0; i < arguments.length; ++i) {
9
var character = arguments[i];
10
11
for(var y = y1; y < y2; y += dy) {
12
line += ' ';
13
}
14
β
15
line += character;
16
line+= ' ';
17
18
for(var y = y2; y < 1.0; y += dy) {
19
line += ' ';
20
}
21
}
22
23
console.log(line);
24
}
25
26
for (var rad = x1; rad < x2; rad += dx) {
27
var y1 = 0.0;
28
var y2 = Math.sin(rad) + 1;
29
β
30
printLine('π', 'π');
31
}
32
}
33
β
34
var x1 = 0.0; // begining of sinus chart
35
var x2 = 6 * 3.14 // end of sinus chart
36
β
37
setInterval(function() {
38
console.clear();
39
printSine(x1, x2);
40
41
x1 += 0.3;
42
x2 += 0.3;
43
44
}, 4);
xxxxxxxxxx
1
function printSine(x1, x2) {
2
var dx = 3.14 / 4.0; // x axis step
3
var dy = 1.0 / 5.0; // y axis step
4
β
5
for (var rad = x1; rad < x2; rad += dx) {
6
var y1 = 0.0;
7
var y2 = Math.sin(rad) + 1;
8
β
9
var line = '';
10
β
11
for(var y = y1; y < y2; y += dy) {
12
line += ' ';
13
}
14
β
15
console.log(line + '+');
16
}
17
}
18
β
19
var x1 = 0.0; // begining of sinus chart
20
var x2 = 6 * 3.14 // end of sinus chart
21
β
22
setInterval(function() {
23
console.clear();
24
printSine(x1, x2);
25
26
x1 += 0.3;
27
x2 += 0.3;
28
29
}, 50);
xxxxxxxxxx
1
function printSine(x1, x2) {
2
var dx = 3.14 / 4.0; // x axis step
3
var dy = 1.0 / 5.0; // y axis step
4
β
5
function printLine(character) {
6
var line = '';
7
β
8
for(var y = y1; y < y2; y += dy) {
9
line += ' ';
10
}
11
12
console.log(line + character);
13
}
14
15
for (var rad = x1; rad < x2; rad += dx) {
16
var y1 = 0.0;
17
var y2 = Math.sin(rad) + 1;
18
β
19
printLine('*');
20
}
21
22
printLine('π');
23
}
24
β
25
var x1 = 0.0; // begining of sinus chart
26
var x2 = 6 * 3.14 // end of sinus chart
27
β
28
setInterval(function() {
29
console.clear();
30
printSine(x1, x2);
31
32
x1 += 0.3;
33
x2 += 0.3;
34
35
}, 50);
So, that's all for today, I hope you enjoyed this short post, leave a comment with improvement suggestions or any thoughts.
Thanks, be well and see you soon in my next post. π π