자바 스크립트, 340
var i=0,b=document.body,d=20,n=b.clientWidth,m=b.clientHeight,f="width=10,height=10,"
var o=new Function("f","i","t",'open("","",f+"left="+i+",top="+t)')
for(j=0;j<m/d;++j,i=j*d){
u=Math.sqrt(i*(m-i))
t=m/2+u*(j%2-0.5)*2
o(f,i,t)
i>m/5&&i<0.8*m&&j%2&&o(f,i,t-m/4);
((i<m/3&&i>m/4)||(i<3*m/4&&i>2*m/3))&&o(f,i,m/3)
}
자바 스크립트, 283
최적화 된 버전 (일부 개선 및 불필요한 공백 없음)
var i=0,b=document.body,d=20,n=b.clientWidth,m=b.clientHeight,f="width=10,height=10,"
function o(i,t){open("","",f+"left="+i+",top="+t)}for(j=0;j<m/d;i=++j*d){u=Math.sqrt(i*(m-i));t=m/2+j%2*2*u-u;o(i,t);i>m/5&&i<0.8*m&&j%2&&o(i,t-m/4);((i<m/3&&i>m/4)||(i<3*m/4&&i>2*m/3))&&o(i,m/3)}
글쎄 .. 어쩌면 당신이 원하는만큼 짧지는 않지만 확실하지는 않습니다. 브라우저가 최대화되면 더 좋아 보입니다. 나는 당신의 질문을 정말로 즐겼습니다! 세부 사항을 늘리려면 d
변수를 약간 줄 이십시오.
편집 : 불행히도 jsfiddle에서 실행할 수는 없지만 aby browser의 Javascript 콘솔에 붙여 넣을 수 있습니다. 아, 그리고 페이지에서 팝업을 활성화하십시오 :).
edit2 :
새 html 파일을 만들어서 코드를 붙여 넣을 수 있습니다.
<body>
<script>
var i=0,b=document.body,d=20,n=b.clientWidth,m=b.clientHeight,f="width=10,height=10,"
var o=new Function("f","i","t",'open("","",f+"left="+i+",top="+t)')
for(j=0;j<m/d;++j,i=j*d){
u=Math.sqrt(i*(m-i))
t=m/2+u*(j%2-0.5)*2
o(f,i,t)
i>m/5&&i<0.8*m&&j%2&&o(f,i,t-m/4);
((i<m/3&&i>m/4)||(i<3*m/4&&i>2*m/3))&&o(f,i,m/3)
}
</script>
</body>
그런 다음 실행해도 아무 일도 일어나지 않으면 팝업 창을 활성화하고 페이지를 다시로드하십시오. 또 붙여 넣기