์ด ์คํ ์ค ๋ํซ ์ ์น์, ์์น, ๊ฐ๋ ๋ฐ ๊ทธ๋ฆฌ๋ ์น์์ ๋ํ ๋งค๊ฐ ๋ณ์๊ฐ ์ง์ ๋ ๊ฒ์ ์ ๋ฐฐ๊ฒฝ์ ๋ณ๋ช ์ ๊ฐ์ง ํฐ์ ์ง์ฌ๊ฐํ์ ๊ทธ๋ฆฝ๋๋ค .
<style>html *{font-family:Consolas,monospace}input{width:24pt;text-align:right;padding:1px}canvas{border:1px solid gray}</style><p>grid w:<input id='gw' type='text' value='60'> grid h:<input id='gh' type='text' value='34'> w:<input id='w' type='text' value='40'> h:<input id='h' type='text' value='24'> x:<input id='x' type='text' value='0'> y:<input id='y' type='text' value='0'> θ:<input id='t' type='text' value='12'>° <button type='button' onclick='go()'>Go</button></p>Image<br><canvas id='c'>Canvas not supported</canvas><br>Text<br><textarea id='o' rows='36' cols='128'></textarea><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function toCart(t,a,n,r){return{x:t-n/2,y:r/2-a}}function vtx(t,a,n){return{x:n.x+t*Math.cos(a),y:n.y+t*Math.sin(a)}}function sub(t,a){return{x:t.x-a.x,y:t.y-a.y}}function dot(t,a){return t.x*a.x+t.y*a.y}function inRect(t,a,n,r){var e=sub(a,t),o=sub(a,n),l=sub(a,r),i=dot(e,o),v=dot(e,l);return i>0&&i<dot(o,o)&&v>0&&v<dot(l,l)}function go(){var t=parseInt($("#gw").val()),a=parseInt($("#gh").val()),n=parseFloat($("#w").val()),r=parseFloat($("#h").val()),e={x:parseFloat($("#x").val()),y:parseFloat($("#y").val())},o=Math.PI*parseFloat($("#t").val())/180,l=Math.sqrt(n*n+r*r)/2,i=Math.atan2(r,n),v=vtx(l,o+i,e),h=vtx(l,o+Math.PI-i,e),u=vtx(l,o-i,e),x=$("#c");x.width(t).height(a).prop({width:t,height:a}),x=x[0].getContext("2d");for(var s="",c=0;a>c;c++){for(var f=0;t>f;f++)inRect(toCart(f+.5,c+.5,t,a),v,h,u)?(s+="..",x.fillStyle="white",x.fillRect(f,c,1,1)):(s+="XX",x.fillStyle="black",x.fillRect(f,c,1,1));a-1>c&&(s+="\n")}$("#o").val(s)}$(go)</script>
( JSFiddle ๋ฒ์ )
ํ
์คํธ ํํ์ XX
์ด๋ฏธ์ง์ ๊ฒ์ ์ ํฝ์
์ด์๋ ..
๊ณณ ๊ณผ ํฐ์ ํฝ์
์ด์๋ ๊ณณ๋ง๋ค ์์ต๋๋ค. (๊ทธ๋ค์ด ๊ฒฝ์ฐ ์ฐ๊ทธ๋ฌ ์ธ๋ชจ X
์ .
.)
์ค ๋ํซ์์ ์์ฑ ๋ ์ฌ๊ฐํ์ ํ ์คํธ ํํ์ ์ทจํ๊ณ ์ฌ๊ฐํ์ ๋๋ต์ ์ธ ๋๋น์ ๋์ด๋ฅผ ์ค์ ๋๋น์ ๋์ด์ ยฑ 7 % ์ด๋ด๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ญ์์ค .
ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ์ค ๋ํซ์ผ๋ก ๊ทธ๋ฆด ์์๋ ๋ชจ๋ ๊ฐ๋ฅํ ์ฌ๊ฐํ์ ํจ๊ณผ์ ์ผ๋ก ์๋ํด์ผํฉ๋๋ค.
- ์ฌ๊ฐํ ๋๋น์ ๋์ด๋ ์ต์ 24์ ๋๋ค.
- ๊ฒฉ์ ๋๋น์ ๋์ด๋ ์ต์ 26์ ๋๋ค.
- ์ฌ๊ฐํ์ ์ ๋๋ก ๊ทธ๋ฆฌ๋ ๊ฒฝ๊ณ๋ฅผ ๊ฑด๋ ๋ฆฌ๊ฑฐ๋ ๋ฒ์ด๋์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์ ๋ ฅ ์ฌ๊ฐํ์๋ ํ์ , ์์น ๋ฐ ์น์๊ฐ์์ ์ ์์ผ๋ฉฐ ์์ ์ธ ๊ฐ์ง ์ ์ฝ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ ํ ๊ทธ๋ฆฌ๋์ ์น์๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ๊ฒฉ์ ์น์๋ฅผ ์ ์ธํ๊ณ ์ค ๋ํซ ๋งค๊ฐ ๋ณ์๋ ๋ถ ๋์ผ ์ ์์ต๋๋ค.
์ธ๋ถ
- ์์ ํ ์คํธ ์ฌ๊ฐํ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ ์์ ํ ์คํธ ์ฌ๊ฐํ์ ํฌํจํ๋ ํ์ผ์ ํ์ผ ์ด๋ฆ (stdin ๋๋ ๋ช ๋ น ํ์ ํตํด)์ ์ฌ์ฉํ์ญ์์ค. ํ ์คํธ ์ฌ๊ฐํ์ ์ค ๋ฐ๊ฟ ๋ฌธ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ํ
์คํธ ์ฌ๊ฐํ์ด and๊ฐ ์๋ ๋ค๋ฅธ ๋ ๊ฐ์ ์ธ์ ๊ฐ๋ฅํ ASCII ๋ฌธ์ ๋ก ๋ง๋ค์ด ์ง๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
X
.
์ํ๋ ๊ฒฝ์ฐ. ์ค ๋ฐ๊ฟ์ ์ค ๋ฐ๊ฟ์ ์ ์งํด์ผํฉ๋๋ค. - ์ธก์ ๋ ํญ๊ณผ ๋์ด๋ฅผ ์ ์๋ก ์ถ๋ ฅํ๊ฑฐ๋ ์ด๋ค ์์๋ก stdout์ ๋์ฐ์ญ์์ค (์ด๋ ๊ฒ์ด ์ด๋ค ๋งค๊ฐ ๋ณ์์ ํจ๊ป ์ค์ ๋ก ์ด๋ค ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์). ๋ถ๋ช
ํ์ด ๋ ์ฐจ์์ ๋ณด์ฌ์ฃผ๊ณ ์์์ ๋ชจ๋ ํ์์ ์ข์ ์์ด๋ค
D1 D2
,D1,D2
,D1\nD2
,(D1, D2)
, ๋ฑ - ํ๋ก๊ทธ๋จ ๋์ ํ ์คํธ ์ฌ๊ฐํ์ ๋ฌธ์์ด ๋๋ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์์ ์ผ๋ก ์ธ์ํ๊ฑฐ๋ ๋ ์์๊ฐ ํฌํจ ๋ ๋ฌธ์์ด ๋๋ ๋ชฉ๋ก / ํํ๋ก ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๊ทธ ๊ธฐ์ต
XX
๋๋..
์ง์ฌ๊ฐํ์ ํ๋์ โํฝ์ โ์ด ์๋์ด์๋ค.
์
์ ์. 1
๋งค๊ฐ ๋ณ์ : grid w:60 grid h:34 w:40 h:24 x:0 y:0 ฮธ:12
(์ค ๋ํซ ๊ธฐ๋ณธ๊ฐ)
์ ๋ ฅ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....XXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX............XXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX........................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..................................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX............................................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................................................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..............................................................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX..........................................................................XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX................................................................................XXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX................................................................................XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX..................................................................................XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX..........................................................................XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX..............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX....................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX............................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX..................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX........................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX............XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX....XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
์ถ๋ ฅ ์
40 24
24 40
[40.0, 24.0]
42.8, 25.68
(+ 7 %)37.2, 22.32
(-7 %)
์ ์. 2
๋งค๊ฐ ๋ณ์ : grid w:55 grid h:40 w:24.5 h:24 x:-10.1 y:2 ฮธ:38.5
์ ๋ ฅ
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX......XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX............XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..............XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXX..................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX......................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX............................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..............................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX......................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXX............................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXX..................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX......................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX..............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX................................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXX..............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX..............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXX............................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX......................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX....................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXX................................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXX............................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXX......................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX..................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX..........................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXX......................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX..................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXX................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXX......XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
์ถ๋ ฅ ์
24.0 24.5
25.68 26.215
(+ 7 %)22.32 22.785
(-7 %)
์ฑ์
๋ฐ์ดํธ ๋จ์์ ๊ฐ์ฅ ์งง์ ์ฝ๋๊ฐ ์ด๊น๋๋ค. Tiebreaker๋ ์ต๊ณ ํฌํ ๊ฒ์๋ฌผ์ ๋๋ค.
๋ต๋ณ
Matlab, 226 ๋ฐ์ดํธ
์์ด๋์ด๋ ๊ฐ๋จํฉ๋๋ค. ๋จผ์ ์ฌ๊ฐํ์ด ์ผ๋ง๋ ๋ง์ด ํ์ ํ๋์ง ํ์ธํ ๋ค์ ์ฌ๊ฐํ์ด ๋๋ฐ๋ก๋๋๋ก ์ด๋ฏธ์ง๋ฅผ ์ ์ ํ๊ฒ ๋๋ฆฝ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ ์ด์ ๋ชจ๋ ํฝ์ ์ ๋ฐ๋ก โํฉ๊ณโํ๊ณ ๋๋น์ ๋์ด๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํด ํ๊ท (๊ฐ๋จํ ์๊ณ ๊ฐ)๋ณด๋ค ๋ง์ ํฉ๊ณ๋ฅผ ๊ณ์ฐํ์ญ์์ค. ์ด ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ๋๋๋๋ก ์์ ์ ์ผ๋ก ์๋ํฉ๋๋ค.
๊ฐ๋๋ฅผ ์ด๋ป๊ฒ ๊ฐ์งํฉ๋๊น?
๋๋ ๊ฐ ๋จ๊ณ (๊ฐ๊ฐ 1๋)๋ฅผ ์๋ํ๊ณ ์ด์ ๋ฐ๋ผ ํฉ๊ณํ๊ณ ํฉ๊ณ ๋ฒกํฐ๋ฅผ ์ป์ต๋๋ค. ์ฌ๊ฐํ์ด ๋๋ฐ๋ก์์ ๋ ์ด์์ ์ผ๋ก์ด ํฉ๊ณ ๋ฒกํฐ์์ ๋ ๊ฐ์ง ๊ฐ์๊ธฐ ๋ณ๊ฒฝ๋๋ ๊ฒ์ด ์ด์์ ์ ๋๋ค. ์ฌ๊ฐํ์ด ํ ์์ ์์ผ๋ฉด ๋ณ๊ฒฝ์ด ๋งค์ฐ ์ ์ง์ ์ ๋๋ค. ๊ทธ๋์ ๋๋ ์ฒซ ๋ฒ์งธ ๋ฏธ๋ถ์ ์ฌ์ฉํ๊ณ โ์ ํโ์ ์๋ฅผ ์ต์ํํ๋ ค๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ์ต์ํํ๋ ค๋ ๊ธฐ์ค์ ๋ํ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๋ค ๊ฐ์ง ๊ฐ๋ฅํ ์์ง ๋ฐฉํฅ์ ํด๋นํ๋ ๋ค ๊ฐ์ง ์ต์๊ฐ์ ๋ณผ ์ ์์ต๋๋ค.
์ถ๊ฐ ์๊ฐ : ์ฒ ์ ํ ๊ฐ๋ ๊ฒ์์ ๋ง์ ๋ฌธ์๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ผ๋ง๋ ๋ง์ ๊ณจํ๋ฅผ ์น ์ ์๋์ง ํ์คํ์ง ์์ผ๋ฉฐ ๋ด์ฅ ๋ ์ต์ ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฌ์ฑ ํ ์ ์์์ง ์์ฌ๋ฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฐพ๊ณ ์์ง ์์ ๋น์ ์ ์ฝ๊ฒ ๊ฐ๋ ์์ ์คํ
ํฌ๊ธฐ๋ฅผ ์ ํํ์ฌ (ํฐ ์ฌ์ง์) ์ ํ๋๋ฅผ ๊ฐ์ ํ๊ณ ๋์ฒด ํ ์ ์๋๋ก์๋ง 360 ยฐ ๋์ ์ 90 ยฐ๋ฅผ ๊ฒ์ ํ ์ ์์ต๋๋ค 0:360
์ 0:.1:90
๊ทธ๋ฐ somehting ๋. ๊ทธ๋ฌ๋ ์ด์จ๋ ๋์ ์ ๊ณจํ๋ณด๋ค๋ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ๋ ๊ฒ์ด ๋ ์ด๋ ค์ ์ผ๋ฉฐ ๊ณจํ ์ธ์ด์ ํญ๋ชฉ์ด ๋ด ์ ์ถ์ ํจ์ฌ ๋ค์ ๋จ๊ฒจ ๋์ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. =)
์ถ์ : ๋๊ตฐ๊ฐ Matlab / Octave์์ ๊ณจํ ์ธ์ด๋ฅผ ํ์์์ผ์ผํฉ๋๋ค.
์ถ๋ ฅ
์ 1 :
25 39
์ 2 :
25 24
์ํธ
๊ณจํ :
s=input('');r=sum(s=='n');S=reshape(s',nnz(s)/r,r)';S=S(:,1:2:end-2)=='.';m=Inf;a=0;for d=0:360;v=sum(1-~diff(sum(imrotate(S,d))));if v<m;m=v;a=d;end;end;S=imrotate(S,a);x=sum(S);y=sum(S');disp([sum(x>mean(x)),sum(y>mean(y))])
์ธ ๊ณจํ ๋ :
s=input('');
r=sum(s=='n');
S=reshape(s',nnz(s)/r,r)';
S=S(:,1:2:end-2)=='.';
m=Inf;a=0;
for d=0:360;
v=sum(1-~diff(sum(imrotate(S,d))));
if v<m;
m=v;a=d;
end;
end;
S=imrotate(S,a);
x=sum(S);y=sum(S');
disp([sum(x>mean(x)),sum(y>mean(y))])
๋ต๋ณ
CJam, 68 65 64 ๋ฐ์ดํธ
์ด๊ฒ์ ์กฐ๊ธ ๋ ๊ณจํ๋ฅผ ์น ์ ์์ต๋๋ค ..
qN/2f%{{:QN*'.#Qz,)mdQ2$>2<".X"f#_~>@@0=?Qz}2*;@@-@@-mhSQWf%}2*;
์๋ ์๋ฆฌ
๋น์ ์ด ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ๋ฉด ๋ ผ๋ฆฌ๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
์
๋ ฅ X.
์กฐํฉ ์์ ํ์ํ ๊ฒ์ ๋ ๊ฐ์ ์ธ์ ํ ๋ณ์ 3 ์ขํ์
๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ค์ ์ป๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
First
์ฌ๊ฐํ์ ๋ชจ๋ ๋ฐฉํฅ .
์์ ์
๋ ฅ ์ ์ฒด์ ์ฒซ ๋ฒ์งธ ๋ ๋ชจ์๋ฆฌ ์ค ํ๋๊ฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ..
XXXXXXXXXXXXXX
XXXXXXX...XXXX
XXXX.......XXX
X............X
XX.........XXX
XXXX...XXXXXXX
XXXXXXXXXXXXXX
์ฌ๊ธฐ์ ์ฒซ ๋ฒ์งธ .
๋ ๋ ๋ฒ์งธ ์ค, 8 ๋ฒ์งธ ์ด์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์๋๋๋ค. ์ฐ๋ฆฌ๋ .
์กฐ์ ์ํ๊ณ ์ค๋ฅธ์ชฝ ๋์ ์ขํ๋ฅผ ์ป๊ธฐ ์ํด ํด๋น ๋ผ์ธ ์ ๋ฐ ๋๋น๋ฅผ ์ขํ์ ์ถ๊ฐํด์ผํฉ๋๋ค.
Second
์์ ์ฌ๊ฐํ์ ๋ฐ๊พธ๋ฉด (๊ฐํ์ผ๋ก ํผ๋ฒ) ์ผ์ชฝ ์๋ ๋ชจ์๋ฆฌ๊ฐ ์ ๋จ๊ณ๋ฅผ ๋์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ .
์ด์จ๋ ๊ฐ์ฅ์๋ฆฌ์ ์ผ์ชฝ ์๋ ์ขํ๋ฅผ ์ป๊ณ ์ถ์ ๋ ์คํ ๊ธธ์ด๋ฅผ ๋ณด์ํ์ง ์์ต๋๋ค (์กฐ์ฎ๊น ํํ๋ ์ฌ์ ํ ์ฒ์์ผ๋ก ๋ฐ์ํฉ๋๋ค .
)
Rest two
๋ ์ขํ๋ฅผ ์ฌ๋ ค๋ฉด ์ง์ฌ๊ฐํ์ ๊ฐ๋ก๋ก ๋ค์ง์ด ์์ ๋ ๋จ๊ณ๋ฅผ ์ํํ์ญ์์ค. ์ฌ๊ธฐ ๋ชจํ์ด ์ค ํ๋๋ ์ฒ์ ๋ ๊ฐ์์ ๊ณตํต์ ๋๋ค.
4๋ฅผ ๋ชจ๋ ์ป์ ํ์๋ ๊ฐ๋จํ ์ํ์ ์ํํ์ฌ ๊ฑฐ๋ฆฌ๋ฅผ ์ป์ต๋๋ค.
์ด์ ์ด๊ฒ์ ๊ฐ์ฅ ์ ํํ ๋ฐฉ๋ฒ์ ์๋์ง๋ง ์ค๋ฅ ์ฌ๋ฐฑ ๋ด์์์ ์ฌ๊ฐํ์ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐฉํฅ์์ ์ ์๋ํฉ๋๋ค.
์ฝ๋ ํ์ฅ (๋นํธ ๊ตฌ์)
qN/2f%{{:QN*'.#Q0=,)md}:A~1$Q='.e=+QzA@@-@@-mhSQWf%}2*;
qN/2f% e# Read the input, split on newlines and squish it
{ ... }2* e# Run the code block two times, one for each side
{:QN*'.#Q0=,)md}:A~ e# Store the code block in variable A and execute it
:QN* e# Store the rows in Q variable and join by newlines
'.# e# Get the location of the first '.'
Q0=,) e# Get length + 1 of the first row
md e# Take in X and Y and leave out X/Y and X%Y on stack
1$Q= e# Get the row in which the first '.' appeared
'.e=+ e# Get number of '.' in that row and add it to X%Y
QzA e# Transpose the rows and apply function A to get
e# the second coordinate
@@-@@- e# Subtract resp. x and y coordinates of the two corners
mh e# Calculate (diff_x**2 + diff_y**2)**0.5 to get 1 side
SQWF% e# Put a space on stack and put the horizontally flipped
e# version of the rows/rectangle all ready for next two
e# coordinates and thus, the second side
๋ต๋ณ
ํ์ด์ฌ 3, 347 337 ๋ฐ์ดํธ
์ด๊ฒ์ ๋ด๊ฐ ์์ํ๋ ๊ฒ๋ณด๋ค ๋ ํ๋ค์์ต๋๋ค. ์งํ์ค์ธ ์์ โฆ
def f(s):
l=s.split('\n');r=range;v=sorted;w=len(l[0]);h=len(l);p=[[x,y]for x in r(w)for y in r(h)if'X'>l[y][x]];x,y=[sum(k)/w/h for k in zip(*p)];g=[[x/2,y]];d=lambda a:((a[0]/2-a[2]/2)**2+(a[1]-a[3])**2)**.5
for i in r(3):g+=v(p,key=lambda c:~-(c in g)*sum(d(j+c)for j in g))[:1]
print(v(map(d,[g[1]+g[2],g[2]+g[3],g[1]+g[3]]))[:2])
f
๋ฌธ์์ด์ ์ธ์๋ก ์ฌ์ฉํ๊ณ ๊ฒฐ๊ณผ๋ฅผ STDOUT์ ์ธ์ ํ๋ ํจ์ ๋ฅผ ์ ์ํฉ๋๋ค .
Pyth, 87 84 82 81 75 72 71 ๋ฐ์ดํธ
(์๋ง๋ ์ง์ ๋์ฐฉํ์ ๋, ๋ถ์ ํํ๊ณ ์กฐ์ฌ ์ค)
Km%2d.zJf<@@KeThTG*UhKUKPSm.adfqlT2ytu+G]ho*t}NGsm.a,kNGJ3]mccsklhKlKCJ
๋ฐฉ๋ฒ์ ์์ง ๋๋ฌด ์ค๋. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด์ ํฌํธ์
๋๋ค. Pyth์ .a
์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ๋ํฉ๋๋ค . STDIN์ ํตํด ์
๋ ฅ์ ๊ฐ์ ธ์ค๊ณ STDOUT์ ํตํด ์ถ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ฐํ์ด ์๋ ๋ฌธ์๊ฐ ์๋ฌธ์ ์ผ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค x
(๋ฌผ๋ก ASCII ๊ฐ 98 ์ด์์ ๋ชจ๋ ๊ฒ).
์ฐ์ฐ
๋ ๋ค ๋์ผํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ๊ฐํ ์์ญ์ ์ง๋ ์ค์ฌ์ ํฌํจํ๋ ๋ฐฐ์ด๋ก ์์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ๊ฐํ์ ๋ชจ๋ ์ ์ ๋ฐฐ์ด์ 3 ๊ฐ์ ์ ์ ์ถ๊ฐํ๊ณ ํญ์ ๋ฐฐ์ด์์๋ ์ ๊น์ง์ ์ต๋ ๊ฑฐ๋ฆฌ ๋ฅผ ๊ฐ์ง ์ ์ ์ ํํฉ๋๋ค . ๊ฒฐ๊ณผ๋ ํญ์ ์ฌ๊ฐํ์ ๋ค๋ฅธ ๊ตฌ์์ ์ธ ์ ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ธ ์ ์ฌ์ด์ ์ธ ๊ฑฐ๋ฆฌ๋ฅผ ๋ชจ๋ ๊ณ์ฐํ๊ณ ๊ฐ์ฅ ์งง์ ๋ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
๋ต๋ณ
ํ์ด์ฌ 2, 342 ๋ฐ์ดํธ
import sys
r=[]
h=.0
for l in sys.stdin:w=len(l);r+=[[x*.5,h]for x in range(0,w,2)if l[x:x+2]=='..'];h+=1
x,y=.0,.0
for p in r:x+=p[0];y+=p[1]
n=len(r)
x/=n
y/=n
m=.0
for p in r:
p[0]-=x;p[1]-=y;d=p[0]**2+p[1]**2
if d>m:m=d;u,v=p
m=.0
for p in r:
d=p[0]*v-p[1]*u
if d>m:m=d;s,t=p
print ((u-s)**2+(v-t)**2)**.5+1,((u+s)**2+(v+t)**2)**.5+1
์ด๊ฒ์ @ Pietu1998์ ์๊ณ ๋ฆฌ์ฆ์์ ์๊ฐ์ ์ป์์ต๋๋ค. ํ๋์ ๋ชจํ์ด๋ฅผ ์ค์ฌ์์ ๊ฐ์ฅ ๋จผ ์ง์ ์ผ๋ก ๊ฒฐ์ ํ๋ ์์ด๋์ด๊ฐ ํ์ํ์ง๋ง ๊ฑฐ๊ธฐ์์ ๋ค๋ฆ ๋๋ค.
- ๋ ๋ฒ์งธ ๋ชจ์๋ฆฌ๋ฅผ ์ค์ฌ์์ ์ฒซ ๋ฒ์งธ ๋ชจ์๋ฆฌ๊น์ง ๋ฒกํฐ๊ฐ์๋ ๊ฐ์ฅ ํฐ ๊ต์ฐจ ๊ณฑ์ด์๋ ์ ์ผ๋ก ๊ฒฐ์ ํฉ๋๋ค. ์ด๊ฒ์ ์ค์ฌ์์ ์ฒซ ๋ฒ์งธ ๋ชจ์๋ฆฌ๊น์ง์ ์ ์์ ๊ฐ์ฅ ํฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ง ์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ธ ๋ฒ์งธ ๋ชจ์๋ฆฌ๋ ์ค์์ ๊ธฐ์ค์ผ๋ก ๋ ๋ฒ์งธ ๋ชจ์๋ฆฌ์ ๋ฏธ๋ฌ ์ด๋ฏธ์ง์ด๋ฏ๋ก ๊ฒ์ ํ ํ์๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ฝ๋๋ ๋ค์ ์์๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๋ฃจํ๋ ์
๋ ฅ์ ์ ์์ ์์ผ๋ฉฐ
r
์ฌ๊ฐํ ์ ๋ชฉ๋ก ์ ์์ฑํฉ๋๋ค . - ๋ ๋ฒ์งธ ๋ฃจํ๋ ์ฌ๊ฐํ์ ์ค์ฌ์ ์ ๊ณตํ์ฌ ๋ชจ๋ ์ฌ๊ฐํ ์ ์ ํ๊ท ์ ๊ณ์ฐํฉ๋๋ค.
- ์ธ ๋ฒ์งธ ๋ฃจํ๋ ์ค์ฌ์์ ๊ฐ์ฅ ๋จผ ์ง์ ์ ์ฐพ์ต๋๋ค. ์ด๊ฒ์ด ์ฒซ ๋ฒ์งธ ์ฝ๋์ ๋๋ค. ๋์์ ์ ์ขํ๊ฐ ๋๋จธ์ง ๊ณ์ฐ์ ์ค์ฌ์ ๊ธฐ์ค์ผ๋ก ๋ชฉ๋ก์ ์ ์์ ์ค์ฌ์ ๋บ๋๋ค.
- ๋ค ๋ฒ์งธ ๋ฃจํ๋ ๋ฒกํฐ๊ฐ ์ฒซ ๋ฒ์งธ ๋ชจ์๋ฆฌ์์๋ ๊ฐ์ฅ ํฐ ๊ต์ฐจ ๊ณฑ์ด์๋ ์ ์ ์ฐพ์ต๋๋ค. ์ด๊ฒ์ ๋ ๋ฒ์งธ ์ฝ๋์ ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๋ชจ์๋ฆฌ์ ๋ ๋ฒ์งธ ๋ชจ์๋ฆฌ ์ฌ์ด์ ๊ฑฐ๋ฆฌ์ ์ฒซ ๋ฒ์งธ ๋ชจ์๋ฆฌ์ ๋ ๋ฒ์งธ ๋ชจ์๋ฆฌ์ ๋ฏธ๋ฌ ์ด๋ฏธ์ง ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธ์ํฉ๋๋ค.
1.0
์๋ ๊ฑฐ๋ฆฌ ๊ณ์ฐ์๋ ํฝ์ ์ธ๋ฑ์ค๊ฐ ์ฌ์ฉ๋๋ฏ๋ก ๊ฑฐ๋ฆฌ์ ์ถ๊ฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, 5 ๊ฐ์ ํฝ์ ์ด์๋ ๊ฒฝ์ฐ ๋ง์ง๋ง ํฝ์ ๊ณผ ์ฒซ ๋ฒ์งธ ํฝ์ ์ ์ธ๋ฑ์ค ์ฐจ์ด๋ 4์ ๋ถ๊ณผํ๋ฏ๋ก ์ต์ข ๊ฒฐ๊ณผ์์ ๋ณด์์ด ํ์ํฉ๋๋ค.
์ ๋ฐ๋๋ ์์ฃผ ์ข์ต๋๋ค. ๋ ๊ฐ์ง ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ cat rect1.txt | python Golf.py
24.5372045919 39.8329756779
$ cat rect2.txt | python Golf.py
23.803508502 24.5095563412
๋ต๋ณ
ํ์ด์ฌ 2, 272 ๋ฐ์ดํธ
์ด์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์์ ํ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ด๋ฏ๋ก ๋ณ๋์ ๋ต๋ณ์ผ๋ก ๊ฒ์ํ์ญ์์ค.
import sys,math
y,a,r=0,0,0
l,t=[1<<99]*2
for s in sys.stdin:
c=s.count('..')
if c:a+=c;x=s.find('.')/2;l=min(l,x);r=max(r,x+c);t=min(t,y);b=y+1
y+=1
r-=l
b-=t
p=.0
w,h=r,b
while w*h>a:c=math.cos(p);s=math.sin(p);d=c*c-s*s;w=(r*c-b*s)/d;h=(b*c-r*s)/d;p+=.001
print w,h
์ด ๋ฐฉ๋ฒ์ ๋ชจ์๋ฆฌ๋ฅผ ์ ํ ์๋ณํ์ง ์์ต๋๋ค. ๊ฒฝ๊ณ ์์์ ํฌ๊ธฐ (๋๋น์ ๋์ด)์ ํ์ ๋ ์ฌ๊ฐํ์ ์์ญ์ด ์ฌ๊ฐํ์ ๋๋น์ ๋์ด๋ฅผ ๊ฒฐ์ ํ๊ธฐ์ ์ถฉ๋ถํ๋ค๋ ๊ด์ฐฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํฉ๋๋ค.
์ค์ผ์น๋ฅผ ๋ณด๋ฉด ์ฌ๊ฐํ์ ํฌ๊ธฐ / ํฌ๊ธฐ ๋ฐ ํ์ ๊ฐ๋ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฝ๊ณ ์์ ์ ๋๋น ( wb
) ๋ฐ ๋์ด ( hb
) ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ด ๋งค์ฐ ์ฝ์ต๋๋ค .w
h
p
wb = w * cos(p) + h * sin(p)
hb = w * sin(p) + h * cos(p)
wb
๋ฐ hb
์ด๋ฏธ์ง๋ก๋ถํฐ ์ง์ ์ถ์ถ ๋ ์์๋ค. ํฝ์
a
์๋ฅผ ์ธ์ด ์ฌ๊ฐํ ์ ์ ์ฒด ์์ญ ์ ๋น ๋ฅด๊ฒ ์ถ์ถ ํ ์๋ ์์ต๋๋ค ..
. ์ฐ๋ฆฌ๋ ์ง์ฌ๊ฐํ์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ ๋ฐฉ์ ์์ ์ป์ต๋๋ค.
a = w * h
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ 3 ๊ฐ์ ๋ฏธ์ง์ ( w
, h
๋ฐ p
)๋ฅผ ๊ฐ์ง 3 ๊ฐ์ ๋ฐฉ์ ์์ ๊ฐ์ง ๋๋ฐ, ์ด๋ ๋ฏธ์ง์๋ฅผ ๊ฒฐ์ ํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. ์ ์ผํ ๋ฌธ์ ๋ ๋ฐฉ์ ์์ ์ผ๊ฐ ํจ์๊ฐ ํฌํจ๋์ด ์๊ณ ์ ์ด๋ ์ธ๋ด์ ์ํ ๊ธฐ์ ๋ก ์์คํ
์ ์ฝ๊ฒ ๋ถ์ ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
๋ด๊ฐ ๊ตฌํ ํ ๊ฒ์ ๊ฐ๋์ ๋ํ ๋ฌด์ฐจ๋ณ ๋์
์ด๋ค p
. ์ผ๋จ p
์ฒ์ ๋ ๋ฐฉ์ ์์ ์๊ธฐ์์ ํด๊ฒฐ ๋ ์์๋ ๋ ๊ฐ์ ์ ํ ๋ฐฉ์ ์์ ์์คํ
๊ฐ ์ฃผ์ด์ง๋ค w
ํ๊ณ h
:
w = (wb * cos(p) - hb * sin(p)) / (cos(p) * cos(p) - sin(p) * sin(p))
h = (hb * cos(p) - wb * sin(p)) / (cos(p) * cos(p) - sin(p) * sin(p))
์ด ๊ฐ์ผ๋ก w * h
์ง์ฌ๊ฐํ์ ์ธก์ ๋ ์์ญ๊ณผ ๋น๊ตํ ์ ์์ต๋๋ค . ๋ ๊ฐ์ ์ด๋ ์์ ์์ ์ด์์ ์ผ๋ก ๋์ผํฉ๋๋ค. ์ด๊ฒ์ ๋ฌผ๋ก ๋ถ๋ ์์์ ์ํ์์๋ ์ผ์ด๋์ง ์์ ๊ฒ์
๋๋ค.
w * h
๊ฐ๋๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๊ฐ์ด ๊ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ 0.0์์ ์์ํ ๋ค์ ์ฒ์์ผ๋ก w * h
์ธก์ ๋ ์์ญ๋ณด๋ค ์์ ๋๊น์ง ์์ ๋จ๊ณ ์ฉ ๊ฐ๋๋ฅผ ์ฆ๊ฐ์ํต๋๋ค .
์ฝ๋์๋ ๋ ๊ฐ์ง ์ฃผ์ ๋จ๊ณ ๋ง ์์ต๋๋ค.
- ์ ๋ ฅ์์ ๊ฒฝ๊ณ ์์ ๋ฐ ์ฌ๊ฐํ ์์ญ์ ํฌ๊ธฐ๋ฅผ ์ถ์ถํ์ญ์์ค.
- ์ข ๋ฃ ๊ธฐ์ค์ ๋๋ฌ ํ ๋๊น์ง ํ๋ณด ๊ฐ๋๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
๋๋น์ ๋์ด๊ฐ ํฌ๊ฒ ๋ค๋ฅธ ์ฌ๊ฐํ์ ๊ฒฝ์ฐ ์ถ๋ ฅ ์ ๋ฐ๋๊ฐ ์ข์ต๋๋ค. ๊ฑฐ์ ์ ์ฌ๊ฐํ์ด๊ณ 45๋ ๊ฐ๊น์ด ํ์ ํ ์ฌ๊ฐํ์์๋ ๋ค์ ๋ฌธ์ ๊ฐ ์๊ฒจ ํ ์คํธ ์์ 2์ 7 % ์ค๋ฅ ์ฅ์ ๋ฌผ์ ๊ฑฐ์ ์ ๊ฑฐ ํ ์ ์์ต๋๋ค.
์์ 2์ ๋นํธ ๋งต์ ์ค์ ๋ก ์ฝ๊ฐ ์ด์ํ๊ฒ ๋ณด์ ๋๋ค. ์ผ์ชฝ ๊ตฌ์์ด ์์ฌ์ค๋ฝ๊ฒ ๋ํด ๋ณด์ ๋๋ค. ์ผ์ชฝ ๊ตฌ์์ ํ๋ ์ด์์ ํฝ์ ์ ์ถ๊ฐํ๋ฉด ๋ ๋ค ๋์ ๋ณด์ด๋ฉฐ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ฐ๋๊ฐ ํจ์ฌ ํฅ์๋ฉ๋๋ค.