summaryrefslogtreecommitdiffstats
path: root/lambda.js
diff options
context:
space:
mode:
authorDante Catalfamo2020-07-03 14:43:05 -0400
committerDante Catalfamo2020-07-03 14:43:05 -0400
commit472e81a2b713e6149af4e56e4046c1aa6a9c1812 (patch)
tree1c3c2e94ffaa289732f320329546c01f4aa84fe1 /lambda.js
parentb7373ab119bf73ead274d34b2696ddedb1deb416 (diff)
downloadhomepage-472e81a2b713e6149af4e56e4046c1aa6a9c1812.tar.gz
homepage-472e81a2b713e6149af4e56e4046c1aa6a9c1812.tar.bz2
homepage-472e81a2b713e6149af4e56e4046c1aa6a9c1812.zip
Add braille
Diffstat (limited to 'lambda.js')
-rw-r--r--lambda.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/lambda.js b/lambda.js
new file mode 100644
index 0000000..85037c3
--- /dev/null
+++ b/lambda.js
@@ -0,0 +1,70 @@
+function coss(height, width, theta) {
+ let amplitude = height/2;
+ let period = width;
+ let dx = Math.PI/width;
+ let yVal = [];
+ let x = theta;
+
+ for(let i=0;i<width;i++){
+ yVal.push((Math.cos(x)*amplitude)+(height/2));
+ x += dx;
+ }
+ return yVal;
+}
+
+function lamby(height, width, thick) {
+ let out = "";
+ let yvals = coss(height, width, Math.PI);
+ let halfWidth = width/2;
+
+ for(let y=0;y<height;y++){
+ for(let x=0;x<width;x++){
+ let posy = yvals[x];
+ let negy = height-posy;
+ if (Math.abs(posy-y) < thick) {
+ out += "<span style=\"color: hsl("+ (Math.abs(posy-y)/thick*260) +",100%, 50%)\">&lambda;</span>";
+ } else if ((x < halfWidth) && (Math.abs(negy-y) < thick)) {
+ out += "<span style=\"color: hsl("+ (Math.abs(negy-y)/thick*260) +",100%, 50%)\">&lambda;</span>";
+ } else {
+ out += " ";
+ }
+ }
+ out += "\n";
+ }
+ return out;
+}
+
+function putlam(el, height, width, min, max, period) {
+ let amp = max-min;
+ const f = function() {
+ let percent = (Math.sin(((new Date).getTime()/period)) + 1) / 2;
+ let thick = (amp * percent) + min;
+ el.innerHTML = lamby(height, width, thick);
+ };
+ window.setInterval(f, 100);
+}
+
+let lamEl = document.querySelector('.lambda');
+putlam(lamEl, 45, 45, 0.3, 4.5, 450);
+
+
+`
+00
+ 0
+ 0
+ 0 0
+ 0 0
+0 00
+
+0
+ 0
+0 0
+
+_
+ \
+ \
+ /\
+ / \
+ / \
+/ \_
+`;