256 байт спирали
Нижеприведённый JavaScript в 256 байт выводит вращающуюся спираль (говорят в IE не работает, попробуйте Opera 9.50 или свежий FireFox). Подробный разбор принципа действия есть у Анатолия Воробья в ЖЖ. Никакого чуда (хотя поначалу выглядит именно так) — немного математики и чуть изобретательности.
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>
на ff 2.0.0.6 тоже работает. загрузка проца — 6%
Opera 9.20 — гладко, FF3beta2 — дикие тормоза (загрузка проца на файрфокс — 40% — и это на Core2Duo!)
Комментарий для zg.livejournal.com:
6%? Это что за машина?
Заголовок у блога сейчас отличный: «Последние 5 256 байт спирали»
Сразу начинаешь задумываться, сколько же всего в спирали байт.
Комментарий для zverik.livejournal.com:
Кто смотрит в title, кроме поисковых машин? :)
Комментарий для enartemy.livejournal.com:
У меня загрузка — 20%, крутится с бешенной скоростью.
Минус 5 байт, особо не вникая в суть.
p01<i id=d><script>setInterval(’with(Math)for(x=_=«in solid #»,o=99,--O;o--;x+=«<hr style=\’width:0;margin:auto;border-right:»+abs(q?p:P)+_+(9-q)*36+«;border-left:»+abs(q?P:p)+_+(8+q)*36+«\’>»)q=0>(p=cos(O+=22))*(P=sin(O));d.innerHTML=x’,O=9)</script>
Ага, with(Math) — хорошая идея, но не впечатляющая как изначальная :)
Комментарий для Евгения Степанищева:
да старенькая машина-то, e6600 проц. ос — сервер 2003, но это вряд ли должно на фаерфокс влиять.
Комментарий для zg.livejournal.com:
Очень странно. У меня проц занимается почти целиком (поэтому на 4-х ядерной машине загрузка около 20%).
Privet
Nice one Sas!