A crazy twister effect in 256bytes of DHTML
p01<i id=d><script>setInterval('for(x=_="in solid #",E=Math,o=99,--O;o--;x+="<hr style=\'width:0;margin:auto;border-right:"+E.abs(q?p:P)+_+(9-q)*36+";border-left:"+E.abs(q?P:p)+_+(8+q)*36+"\'>")q=0>(p=E.cos(O+=22))*(P=E.sin(O));d.innerHTML=x',O=9)</script>
Yes, pulling this one was not easy.
How does it work
The twisting bar is rendered using
<hr> elements whose border and color follow a curve. The borders are
solid and sized fraction of
in hence the subtitle of this intro.
q=0>(p=E.cos(O+=22))(P=E.sin(O)) hits three birds. It computes and stores the length of both visible sides of the twisting bar in
P and check and stores which one goes left by compairing
With this three values the
border-left of the
<hr> element can style properly, setting the width to according to the visible sides of the bar and setting the color by casting
q like this
(8+q)36. Combined with the subtitle of this intro, this gives the colors
Hope this answers any questions you had about this effect.
As usual you can this little production, Rubber in solid # on Pouet.net
Other recent projects
There are many experiments and projects like RUBBER IN SOLID # to discover other here.
- FRONTFEST MOSCOW It was an honour to be invited to Fronfest Moscow 2017 with the little family to give my first workshop; implementing a Twin-stick shooter using ES6 and Canvas, and to continue my CODE🎙ART series of talks + live coding aiming to inspire new web developer artists.
- BREATHING EARTH Another take on Nadieh Bremer mesmerizing Breathing Earth visualisation, running at 60fps on a 2D Canvas without libraries or frameworks.
- WOLF1K The idea of this entry for the JS1K contest was to do the impossible: a 1K remake of the famous WOLF5K that rocked the final edition of the5K. It does not feature guns, evil grins and violence for in WOLF1K there is no room for guns or any form of violence.
- 256B.HTM The first edition of the 256B.HTM contest allowed 5 entries per author. Mine ranked 1st, 10th, 19th and 29th out of 63.
Don't be shy; get in touch by mail, twitter, github, linkedin or pouet if you have any questions, feedback, speaking, workshop or performance opportunity.