‘무엇을 확인할지’를 고르고 가구 치수와 문·통로·엘리베이터 치수(cm)를 입력하세요. 여유는 포장·손잡이·보양재만큼 개구부나 통로의 치수에서 뺍니다(기본값 3 cm. 비워 두면 3 cm로 계산하고, 0으로 하려면 0을 입력합니다).
이 페이지에서 할 수 있는 것
- 가구·가전의 폭·깊이·높이와 문이나 창 같은 개구부의 폭·높이를 넣으면 ‘통과 가능 / 기울이면 통과 가능 / 통과 어려움’의 3단계로 판정합니다
- 가구의 세 면(정면·측면·윗면) 중 어느 면을 개구부로 향하게 하면 통과하는지(세우기·옆으로 돌리기·눕히기)와 그때의 여유가 몇 cm인지 알 수 있습니다
- 키가 크고 얇은 가구를 ‘수직에서 몇 도 기울이면 통과하는지’, 통과하지 못할 때는 ‘몇 cm 모자라는지’도 보여 줍니다
- 복도의 L자 모퉁이에 대해 가구의 폭을 고려한 ‘돌아갈 수 있는 최대 길이’와 가장 빠듯해지는 각도를 구합니다
- 엘리베이터 카(내부)의 안치수로 그대로 들어가는지·기울이면 들어가는지와 바닥의 대각선·공간 대각선(막대 모양의 물건이 들어가는 한계)을 구합니다
이 계산은 어디에 쓰일까요?
폭 180 cm·깊이 90 cm·높이 75 cm인 소파는 폭 80 cm·높이 200 cm인 문(여유 3 cm)에 측면(깊이 90 × 높이 75)을 개구부로 향하고, 등받이를 아래로 해서 끝부터(높이 75 cm를 폭 방향, 깊이 90 cm를 높이 방향으로 해서) 넣으면 폭 방향 여유 2 cm로 통과할 것으로 보입니다. ‘폭 180 cm니까 80 cm 문은 무리’라고 단정하고 처분하기 전에, 면을 고르는 방법에 따라 통과하는지 숫자로 확인할 수 있습니다.
여유가 2 cm뿐이므로 문고리나 경첩의 튀어나온 부분, 보양재 두께까지 생각하면 실제로는 아슬아슬합니다. 아슬아슬한 가구는 이삿짐센터의 방문 견적 때 치수를 알려 문짝 떼기·다리 떼기·사다리차 이용 등을 상의하는 자료가 됩니다.
폭 60 cm·깊이 60 cm·높이 85 cm인 세탁기는 폭 58 cm인 다용도실 문(여유 3 cm → 유효 폭 55 cm)에는 어느 면이든 짧은 변이 60 cm라 폭이 5 cm 모자라 통과하기 어렵습니다. 냉장고나 세탁기처럼 ‘어느 면이든 폭이 넓은’ 가전은 면을 바꿔도, 기울여도 폭의 부족을 해결할 수 없으므로 문짝 떼기·반입 경로 바꾸기·한 단계 작은 제품 고르기 같은 판단이 필요합니다.
가전 매장이나 제조사의 반입 경로 안내에는 ‘본체 폭 + ○cm 이상’ 형태로 필요한 통로 폭이 나와 있으므로, 그 ○cm를 이 계산기의 ‘여유’ 칸에 넣으면 안내와 같은 생각으로 확인할 수 있습니다. 설치 장소의 배수구나 수도꼭지 높이는 별개의 문제이므로 제품 설치 설명서에서 확인하세요.
높이 202 cm·두께 10 cm인 얇은 패널(전신 거울이나 조립 전의 뒤판)은 높이 200 cm인 문에 세운 채로는 2 cm 모자라지만, 수직에서 약 20° 기울이면 필요한 높이는 약 193 cm, 필요한 폭은 약 79 cm로 줄어 폭 90 cm 문을 통과할 것으로 보입니다. ‘조금 기울이면 통과한다’가 성립하는 것은 이렇게 얇고 높이가 조금만 모자라는 가구뿐입니다.
두께가 있는 책장이나 옷장은 기울이면 필요한 폭이 금방 늘어나므로 보통 눕혀서(윗면이나 측면을 개구부로 향해) 옮깁니다. 조립식 가구는 방 안에서 조립한다면 부품 치수로 판정하면 되므로 완성품 치수로 고민할 필요가 없어집니다.
폭 85 cm와 110 cm 복도가 직각으로 꺾인 모퉁이(여유 3 cm)에서는 폭을 무시한 막대라면 약 267 cm까지 돌 수 있지만, 깊이 60 cm 소파(폭 230 cm)는 돌 수 있는 최대 길이가 약 145 cm밖에 되지 않아 옆으로 눕힌 채로는 돌 수 없을 것으로 보입니다. 폭이 있는 가구를 ‘막대 공식’으로 생각하면 크게 잘못 볼 수 있으므로 폭을 보정한 공식으로 봐야 합니다.
이런 경우 소파를 세워서(길이 칸에 높이, 폭 칸에 깊이를 넣어) 옮기면 통과하는 경우가 많습니다. 꺾인 계단은 계단 폭과 계단참의 깊이를 복도 폭 \(a\)·\(b\)로 해서 ‘직각 모퉁이를 두 번 도는’ 것으로 보면 같은 공식으로 기준을 낼 수 있습니다(난간이나 조명만큼은 여유로 빼세요).
폭 140 cm·깊이 110 cm·높이 230 cm인 엘리베이터 내부에 길이 235 cm로 만 러그(굵기 20 cm)는 천장 높이 230 cm를 넘지만, 폭 × 높이 면에서 긴 변을 바닥에서 약 62° 세우면 들어갈 것으로 보입니다. 반면 같은 길이라도 두께 40 cm 선반판은 기울여도 들어가지 않을 것으로 보여, 대각선(약 269 cm)에 여유가 있어도 두께 때문에 걸린다는 것을 알 수 있습니다.
엘리베이터에 들어가지 않는다는 것을 알면 계단으로 올릴지(모퉁이 공식으로 확인), 사다리차로 베란다 창을 통해 올릴지(한국의 아파트 이사에서 흔한 방법이며 보통 별도 비용)를 견적 전에 검토할 수 있습니다. 엘리베이터 내부 안치수와 문 치수는 관리사무소나 제조사 사양표에서 확인할 수 있고, 문 쪽이 좁은 경우가 많으므로 문 치수도 넣어 판정하세요.
기울인 면의 필요한 폭 \(p\cos\theta + q\sin\theta\)와 필요한 높이 \(p\sin\theta + q\cos\theta\)는 길이 \(p\)인 변을 각도 \(\theta\)로 기울였을 때의 가로·세로 방향 성분(\(p\cos\theta\)·\(p\sin\theta\))을 더했을 뿐인 식으로, 삼각비의 가장 기본적인 쓰임입니다. 복도 모퉁이를 돌 수 있는 최대 길이는 ‘\(L(\theta) = \dfrac{a}{\sin\theta} + \dfrac{b}{\cos\theta}\)의 최솟값’이며, 이것은 고등학교 수학의 미분으로 최솟값을 구하는 대표적인 문제(사다리 문제)로 자주 나옵니다.
‘왜 최솟값이 최대 길이가 되는가’(모퉁이를 도는 동안 모든 각도를 지나기 때문)를 실제 가구 반입으로 생각하면 수식의 뜻을 실감하기 쉬워집니다.
공식과 그림
용어·기호 해설
기호
| \(W,\ D,\ H\) | 더블유·디·에이치 | 가구의 폭(width)·깊이(depth)·높이(height)의 첫 글자입니다. 카탈로그의 ‘폭 × 깊이 × 높이’ 순서이며 단위는 cm입니다. |
| \(w,\ h\) | 더블유·에이치(소문자) | 개구부(문·창·엘리베이터 문)의 폭과 높이(안목 치수)입니다. 가구의 \(W\)·\(H\)와 구별하려고 소문자로 씁니다. ‘엘리베이터’ 공식에서 \(h\)는 내부 높이(유효 안치수)입니다. |
| \(c\) | 시 | 여유(clearance)의 첫 글자입니다. 포장·손잡이·보양재 등을 위해 개구부·통로·내부 치수에서 빼는 길이(cm)입니다. |
| \(w',\ h'\) | 더블유 프라임·에이치 프라임 | 유효 개구부의 폭과 높이입니다. \(w' = w - c\), \(h' = h - c\)이고, 오른쪽 위의 프라임은 ‘여유를 뺀 뒤의 값’이라는 표시입니다. |
| \(p,\ q\) | 피·큐 | 개구부로 향하는 면의 두 변입니다. ‘면이 들어가는 조건’에서는 폭 방향 변과 높이 방향 변, ‘기울여 통과시키는 조건’에서는 긴 변 \(p\)와 짧은 변 \(q\)를 나타냅니다. 가구의 \(W\)·\(D\)·\(H\) 중 두 개입니다. |
| \(\theta\) | 세타 | 각도입니다. 그리스 문자 세타는 각도를 나타내는 문자로 자주 씁니다. ‘기울여 통과시키는 조건’에서는 면의 긴 변이 바닥과 이루는 각, ‘모퉁이’에서는 가구가 돌기 전 복도와 이루는 각입니다. |
| \(W_{\theta},\ H_{\theta}\) | 더블유 세타·에이치 세타 | 면을 각도 \(\theta\)만큼 기울였을 때 필요한 폭과 높이(기울인 면의 외접 직사각형의 폭과 높이)입니다. 오른쪽 아래의 \(\theta\)는 ‘각도에 따라 바뀌는 양’이라는 표시입니다. |
| \(a,\ b\) | 에이·비 | ‘모퉁이’에서는 돌기 전 복도 폭 \(a\)와 돈 뒤 복도 폭 \(b\), ‘엘리베이터’에서는 내부 폭 \(a\)와 깊이 \(b\)(모두 여유를 뺀 유효 치수)입니다. |
| \(L,\ d\) | 엘·디 | 모퉁이에서 돌리는 가구의 길이 \(L\)(length)과 폭 \(d\)입니다. 평면도(바로 위에서 본 그림)에서 본 긴 변과 짧은 변이며, \(d = 0\)이면 굵기가 없는 막대로 계산합니다. |
| \(L_{\max}\) | 엘 맥스 | 모퉁이를 돌 수 있는 최대 길이입니다. max는 maximum(최대)의 줄임말입니다. 막대라면 \(\bigl(a^{2/3}+b^{2/3}\bigr)^{3/2}\), 폭 \(d\)인 가구라면 \(L(\theta)\)의 최솟값입니다. |
| \(\min_{\theta}\) | 민(세타에 대한 최솟값) | ‘각도 \(\theta\)를 여러 가지로 바꿨을 때의 최솟값’을 나타내는 기호입니다. min은 minimum(최소)의 줄임말입니다. 모퉁이를 도는 동안 모든 각도를 지나므로 가장 빠듯한 각도에서의 길이가 한계가 됩니다. |
| \(\sin\theta,\ \cos\theta\) | 사인 세타·코사인 세타 | 삼각비입니다. 직각삼각형에서 \(\sin\theta\)는 ‘빗변에 대한 높이의 비’, \(\cos\theta\)는 ‘빗변에 대한 밑변의 비’입니다. 길이 \(p\)인 변을 각도 \(\theta\)로 기울였을 때 세로 방향 성분이 \(p\sin\theta\), 가로 방향 성분이 \(p\cos\theta\)가 됩니다. |
| \(D_{\text{바닥}},\ D_{\text{세로}},\ D_{\text{공간}}\) | 디 바닥·디 세로·디 공간 | 내부 바닥의 대각선, 세워서 비스듬히 했을 때 면의 대각선, 공간 대각선입니다. \(D\)는 diagonal(대각선)의 첫 글자입니다. |
| \(\sqrt{\ }\) | 루트 | 제곱근입니다. ‘제곱하면 그 수가 되는 양수’를 나타냅니다. 피타고라스 정리로 대각선의 길이를 구할 때 씁니다(예: \(\sqrt{90^{2}+120^{2}} = \sqrt{22500} = 150\)). |
| \(\leqq\) | 작거나 같다 | ‘왼쪽 값이 오른쪽 값 이하’를 나타내는 부등호입니다. \(p \leqq w'\)는 ‘가구의 변 \(p\)가 유효 개구부 폭 \(w'\) 이하’, 즉 딱 같아도 들어간다는 뜻입니다. |
| \(a^{2/3}\) | 에이의 3분의 2제곱 | \(a\)의 \(\dfrac{2}{3}\)제곱입니다. ‘\(a\)를 제곱한 뒤 세제곱근을 구한 값’으로 \(\sqrt[3]{a^{2}}\)와 같습니다. 예를 들어 \(8^{2/3} = \sqrt[3]{64} = 4\)입니다. 막대가 돌아갈 수 있는 최대 길이의 공식에 나옵니다. |
| \(\fallingdotseq\) | 근삿값 | ‘거의 같다’를 나타내는 기호입니다. 삼각비나 제곱근의 값처럼 나누어떨어지지 않는 수를 소수로 반올림해 쓸 때 씁니다. |
용어
| 안목 치수 | 문틀이나 창틀의 안쪽에서 안쪽까지의 치수입니다. 틀의 바깥쪽으로 잰 치수보다 작고, 가구가 실제로 지나갈 수 있는 크기는 이쪽입니다. 문짝을 뗄 수 없을 때는 90° 연 문짝의 두께만큼 더 좁아지므로 그 상태로 잽니다. |
| 유효 개구부 | 개구부의 안목 치수에서 포장·손잡이·문고리·보양재 등의 여유를 뺀 ‘가구가 실제로 쓸 수 있는 크기’입니다. 이 페이지의 판정은 모두 이 치수로 하며 결과 칸에도 표시합니다. |
| 여유 | 가구와 개구부 사이에 필요한 틈(클리어런스)입니다. 포장재 두께, 손잡이나 경첩의 튀어나온 부분, 보양 판, 작업자가 잡는 손만큼 등이며 보통 2~5 cm를 잡는 경우가 많습니다. 값은 가구나 반입 방법에 따라 달라지므로 입력 칸에서 바꿀 수 있습니다. |
| 보양 | 반입할 때 바닥·벽·문틀을 흠집에서 지키려고 붙이는 보호재(판·시트·골판지)입니다. 이삿짐센터가 하는 작업으로, 그 두께만큼 개구부가 좁아지므로 여유에 포함합니다. |
| 정면 | 가구의 폭 × 높이 면입니다. 이 면을 개구부로 향하면 가구는 깊이 방향으로 나아갑니다. 소파라면 앉는 쪽에서 본 면입니다. |
| 측면 | 가구의 깊이 × 높이 면입니다. 이 면을 개구부로 향하면 가구는 폭 방향으로 나아갑니다. 폭이 큰 소파나 침대는 이 면을 향해 옮기는 것이 기본입니다. |
| 윗면 | 가구의 폭 × 깊이 면입니다. 이 면을 개구부로 향하면 가구는 높이 방향으로 나아갑니다. 키가 큰 책장이나 냉장고를 세운 채 앞으로 넘기지 않고 ‘위부터’ 통과시키는 형태로, 키가 큰 가구에서는 옆으로 눕혀 옮기는 것에 해당합니다. |
| 외접 직사각형 | 기울인 도형을 꼭 감싸는, 변이 가로·세로와 평행한 가장 작은 직사각형입니다. 기울인 가구의 면이 개구부에 들어가는지는 이 직사각형의 폭과 높이가 유효 개구부에 들어가는지로 정해집니다. |
| 대각선 | 직사각형의 마주 보는 꼭짓점끼리 이은 선(과 그 길이)입니다. 두 변이 \(x\)·\(y\)인 직사각형이라면 \(\sqrt{x^{2}+y^{2}}\)입니다. 가구 면의 대각선이 개구부의 대각선보다 길면 어떻게 기울여도 통과하지 못합니다. |
| 공간 대각선 | 직육면체에서 마주 보는 꼭짓점끼리 이은 선입니다. 세 변이 \(a\)·\(b\)·\(h\)라면 \(\sqrt{a^{2}+b^{2}+h^{2}}\)이고, 엘리베이터 내부에서 가장 긴 직선입니다. 가는 막대라면 이 길이까지 들어갑니다. |
| 피타고라스 정리 | 직각삼각형에서 ‘밑변의 제곱 + 높이의 제곱 = 빗변의 제곱’이 성립한다는 정리입니다. 대각선의 길이는 모두 이 정리로 구합니다. |
| 삼각비 | 직각삼각형의 변의 비 \(\sin\)·\(\cos\)·\(\tan\)입니다. 각도를 알 때 변의 길이를 구하는 도구로, ‘기울인 면의 폭과 높이’나 ‘모퉁이 공식’에 씁니다. |
| 최솟값 | 각도를 바꿨을 때 함수가 가지는 가장 작은 값입니다. 모퉁이에서는 도는 동안 모든 각도를 지나므로 ‘가장 빠듯한 각도에서 들어가는 길이’, 즉 최솟값이 돌아갈 수 있는 최대 길이가 됩니다. |
| 안치수 | 상자나 엘리베이터 내부의 안쪽으로 잰 치수입니다. 바깥 치수보다 벽 두께만큼 작고, 엘리베이터 사양표에는 ‘카 내부 치수’로 적혀 있습니다. |
| 계단참 | 계단 중간에 있는 평평한 부분입니다. 꺾인 계단에서는 여기서 가구의 방향을 180° 바꾸게 되며, 계단 폭과 계단참의 깊이를 복도 폭 \(a\)·\(b\)로 보면 모퉁이 공식으로 기준을 낼 수 있습니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 이해하고’ 쓸 수 있도록 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 길이의 단위와 재는 방법(초등학교 2학년, 7~8세) |
|
| 크기 비교와 부등호(초등학교~중학교 1학년) |
|
| 직육면체와 면·전개도(초등학교 5학년, 10~11세) |
|
| 피타고라스 정리(중학교 2학년, 13~14세) |
|
| 삼각비 sin·cos(중학교 3학년, 14~15세) |
|
| 지수의 확장과 함수의 최솟값(고등학교 수학Ⅰ·수학Ⅱ, 15~17세) |
|
Excel로 계산하는 방법
| 가구 폭 W(cm) | 180 |
| 가구 깊이 D(cm) | 90 |
| 가구 높이 H(cm) | 75 |
| 개구부 폭 w(cm) | 80 |
| 개구부 높이 h(cm) | 200 |
| 여유 c(cm) | 3 |
| 유효 개구부 폭 w'(cm) | =B4-B6 |
| 유효 개구부 높이 h'(cm) | =B5-B6 |
| 정면(W×H)을 향해 통과하는지 | =IF(OR(AND(B1<=B7,B3<=B8),AND(B3<=B7,B1<=B8)),"통과","통과 못 함") |
| 측면(D×H)을 향해 통과하는지 | =IF(OR(AND(B2<=B7,B3<=B8),AND(B3<=B7,B2<=B8)),"통과","통과 못 함") |
| 윗면(W×D)을 향해 통과하는지 | =IF(OR(AND(B1<=B7,B2<=B8),AND(B2<=B7,B1<=B8)),"통과","통과 못 함") |
| 면의 긴 변 p(cm) | 202 |
| 면의 짧은 변 q(cm) | 10 |
| 긴 변과 바닥의 각도 θ(도) | 70 |
| 필요한 폭 Wθ(cm) | =B1*COS(RADIANS(B3))+B2*SIN(RADIANS(B3)) |
| 필요한 높이 Hθ(cm) | =B1*SIN(RADIANS(B3))+B2*COS(RADIANS(B3)) |
| 돌기 전 복도 폭 a(cm) | 90 |
| 돈 뒤 복도 폭 b(cm) | 90 |
| 가구 폭 d(cm) | 50 |
| 각도 θ(도) | 45 |
| 막대가 돌아갈 수 있는 최대 길이(cm) | =(B1^(2/3)+B2^(2/3))^(3/2) |
| 각도 θ일 때 들어가는 길이 L(θ)(cm) | =B1/SIN(RADIANS(B4))+B2/COS(RADIANS(B4))-B3/(SIN(RADIANS(B4))*COS(RADIANS(B4))) |
| 내부 폭 a(cm) | 90 |
| 내부 깊이 b(cm) | 120 |
| 내부 높이 h(cm) | 200 |
| 바닥의 대각선(cm) | =SQRT(B1^2+B2^2) |
| 세워서 비스듬히 했을 때의 대각선(cm) | =SQRT(B2^2+B3^2) |
| 공간 대각선(cm) | =SQRT(B1^2+B2^2+B3^2) |
첫째 표는 폭 180·깊이 90·높이 75인 소파와 80 × 200 문(여유 3)으로, B7이 77, B8이 197이 되고 B9(정면)와 B10(측면)이 ‘통과’, B11(윗면)이 ‘통과 못 함’이 됩니다. ‘IF’는 조건에 따라 표시를 바꾸는 함수, ‘AND’는 ‘둘 다 만족’, ‘OR’는 ‘어느 하나를 만족’이며, 면을 그대로 향하는 경우와 90° 돌리는 경우의 두 가지를 OR로 묶었습니다.
둘째 표는 202 × 10 면을 70°로 기울인 예로, B4가 약 78.5, B5가 약 193.2가 됩니다. ‘RADIANS’는 도를 라디안(COS·SIN이 쓰는 각도의 단위)으로 바꾸는 함수입니다. 셋째 표는 폭 90 복도끼리의 모퉁이로, B5(막대)가 약 254.6, B6(폭 50·45°)이 약 154.6입니다. 폭이 있는 가구의 최대 길이는 B4의 각도를 1°씩 바꿔 B6이 가장 작아지는 값을 찾으세요(복도 폭이 같으면 45°가 최소입니다). 넷째 표는 90 × 120 × 200 내부로, B4가 150, B5가 약 233.2, B6이 250이 됩니다.
Google 스프레드시트로 계산하는 방법
| 가구 폭 W(cm) | 180 |
| 가구 깊이 D(cm) | 90 |
| 가구 높이 H(cm) | 75 |
| 개구부 폭 w(cm) | 80 |
| 개구부 높이 h(cm) | 200 |
| 여유 c(cm) | 3 |
| 유효 개구부 폭 w'(cm) | =B4-B6 |
| 유효 개구부 높이 h'(cm) | =B5-B6 |
| 정면(W×H)을 향해 통과하는지 | =IF(OR(AND(B1<=B7,B3<=B8),AND(B3<=B7,B1<=B8)),"통과","통과 못 함") |
| 측면(D×H)을 향해 통과하는지 | =IF(OR(AND(B2<=B7,B3<=B8),AND(B3<=B7,B2<=B8)),"통과","통과 못 함") |
| 윗면(W×D)을 향해 통과하는지 | =IF(OR(AND(B1<=B7,B2<=B8),AND(B2<=B7,B1<=B8)),"통과","통과 못 함") |
| 면의 긴 변 p(cm) | 202 |
| 면의 짧은 변 q(cm) | 10 |
| 긴 변과 바닥의 각도 θ(도) | 70 |
| 필요한 폭 Wθ(cm) | =B1*COS(RADIANS(B3))+B2*SIN(RADIANS(B3)) |
| 필요한 높이 Hθ(cm) | =B1*SIN(RADIANS(B3))+B2*COS(RADIANS(B3)) |
| 돌기 전 복도 폭 a(cm) | 90 |
| 돈 뒤 복도 폭 b(cm) | 90 |
| 가구 폭 d(cm) | 50 |
| 각도 θ(도) | 45 |
| 막대가 돌아갈 수 있는 최대 길이(cm) | =(B1^(2/3)+B2^(2/3))^(3/2) |
| 각도 θ일 때 들어가는 길이 L(θ)(cm) | =B1/SIN(RADIANS(B4))+B2/COS(RADIANS(B4))-B3/(SIN(RADIANS(B4))*COS(RADIANS(B4))) |
| 내부 폭 a(cm) | 90 |
| 내부 깊이 b(cm) | 120 |
| 내부 높이 h(cm) | 200 |
| 바닥의 대각선(cm) | =SQRT(B1^2+B2^2) |
| 세워서 비스듬히 했을 때의 대각선(cm) | =SQRT(B2^2+B3^2) |
| 공간 대각선(cm) | =SQRT(B1^2+B2^2+B3^2) |
Python으로 계산하는 방법
import math
# ---- 문·개구부: 가구 W×D×H가 개구부 w×h(여유 c)를 통과하는지 ----
W, D, H = 180, 90, 75 # 가구의 폭·깊이·높이(cm)
w, h, c = 80, 200, 3 # 개구부의 폭·높이(안목 치수)와 여유(cm)
w_eff, h_eff = w - c, h - c
faces = {"정면(W×H)": (W, H), "측면(D×H)": (D, H), "윗면(W×D)": (W, D)}
def fits_upright(p, q, width, height):
"""면 p×q가 그대로(90° 돌려도 됨) 들어가는지"""
return (p <= width and q <= height) or (q <= width and p <= height)
def fits_tilted(p, q, width, height):
"""면 p×q를 0~90°로 기울였을 때 외접 직사각형이 들어가는 각도가 있는지(각도는 0.01° 간격)"""
p, q = max(p, q), min(p, q)
for i in range(9001):
t = math.radians(i / 100)
need_w = p * math.cos(t) + q * math.sin(t)
need_h = p * math.sin(t) + q * math.cos(t)
if need_w <= width and need_h <= height:
return i / 100
return None
print(f"유효 개구부: {w_eff} × {h_eff} cm")
for name, (p, q) in faces.items():
if fits_upright(p, q, w_eff, h_eff):
print(f"{name} → 개구부로 향하면 통과 가능")
else:
angle = fits_tilted(p, q, w_eff, h_eff)
print(f"{name}: " + (f"긴 변을 바닥에서 {angle}°로 기울이면 통과 가능" if angle is not None else "통과 어려움"))
# ---- 복도 모퉁이: 폭 a·b의 직각 모퉁이를 길이 L·폭 d인 가구가 돌 수 있는지 ----
a, b, L, d = 90, 90, 150, 50
rod_max = (a ** (2 / 3) + b ** (2 / 3)) ** 1.5
lengths = []
for i in range(1, 9000):
t = math.radians(i / 100)
lengths.append((a * math.cos(t) + b * math.sin(t) - d) / (math.sin(t) * math.cos(t)))
L_max = min(lengths)
print(f"막대가 돌아갈 수 있는 최대 길이: {rod_max:.1f} cm, 폭 {d} cm 가구: {L_max:.1f} cm -> "
+ ("돌 수 있음" if L <= L_max else "돌 수 없음"))
# ---- 엘리베이터: 내부 a×b×h의 대각선 ----
ea, eb, eh = 90, 120, 200
print(f"바닥의 대각선 {math.hypot(ea, eb):.1f} cm, 세워서 비스듬히 {math.hypot(eb, eh):.1f} cm, "
f"공간 대각선 {math.sqrt(ea**2 + eb**2 + eh**2):.1f} cm")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
w' = w − c, h' = h − c, p ≤ w' 이고 q ≤ h'
w' = w - c,\quad h' = h - c,\quad p \leqq w' \ \text{이고}\ q \leqq h'
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mi>w</mi><mo>′</mo></msup><mo>=</mo><mi>w</mi><mo>−</mo><mi>c</mi>
<mo>,</mo>
<msup><mi>h</mi><mo>′</mo></msup><mo>=</mo><mi>h</mi><mo>−</mo><mi>c</mi>
<mo>,</mo>
<mi>p</mi><mo>≦</mo><msup><mi>w</mi><mo>′</mo></msup>
<mo>∧</mo>
<mi>q</mi><mo>≦</mo><msup><mi>h</mi><mo>′</mo></msup>
</mrow>
</math>
w' = w - c, h' = h - c, p <= w' and q <= h'
weff = w - c; heff = h - c; fits = (p <= weff && q <= heff) || (q <= weff && p <= heff)
weff := w - c; heff := h - c; fits := (p <= weff and q <= heff) or (q <= weff and p <= heff);
weff = w - c; heff = h - c; fits = (p <= weff && q <= heff) || (q <= weff && p <= heff); % p, q는 개구부로 향하는 면의 두 변
w' = w − c, h' = h − c, p ≤ w' ∧ q ≤ h'
W_θ = p cos θ + q sin θ, H_θ = p sin θ + q cos θ, W_θ ≤ w' 이고 H_θ ≤ h'
W_{\theta} = p\cos\theta + q\sin\theta,\quad H_{\theta} = p\sin\theta + q\cos\theta,\quad W_{\theta} \leqq w' \ \text{이고}\ H_{\theta} \leqq h'
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>W</mi><mi>θ</mi></msub><mo>=</mo>
<mi>p</mi><mo>⁢</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi>
<mo>+</mo>
<mi>q</mi><mo>⁢</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi>
<mo>,</mo>
<msub><mi>H</mi><mi>θ</mi></msub><mo>=</mo>
<mi>p</mi><mo>⁢</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi>
<mo>+</mo>
<mi>q</mi><mo>⁢</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi>
</mrow>
</math>
W_theta = p cos theta + q sin theta, H_theta = p sin theta + q cos theta
{p*Cos[theta] + q*Sin[theta], p*Sin[theta] + q*Cos[theta]} (* theta는 라디안. 도라면 theta Degree *)
Wt := p*cos(theta) + q*sin(theta); Ht := p*sin(theta) + q*cos(theta);
Wt = p*cosd(theta) + q*sind(theta); Ht = p*sind(theta) + q*cosd(theta); % theta는 도
W_θ = p cos θ + q sin θ, H_θ = p sin θ + q cos θ
L_max = (a^(2/3) + b^(2/3))^(3/2)(막대), L(θ) = a/sin θ + b/cos θ − d/(sin θ cos θ), L_max = min L(θ)
L_{\max} = \left(a^{2/3} + b^{2/3}\right)^{3/2},\quad L(\theta) = \frac{a}{\sin\theta} + \frac{b}{\cos\theta} - \frac{d}{\sin\theta\cos\theta},\quad L_{\max} = \min_{0 < \theta < 90^\circ} L(\theta)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>L</mi><mi>max</mi></msub><mo>=</mo>
<msup>
<mrow><mo>(</mo><msup><mi>a</mi><mrow><mn>2</mn><mo>/</mo><mn>3</mn></mrow></msup><mo>+</mo><msup><mi>b</mi><mrow><mn>2</mn><mo>/</mo><mn>3</mn></mrow></msup><mo>)</mo></mrow>
<mrow><mn>3</mn><mo>/</mo><mn>2</mn></mrow>
</msup>
<mo>,</mo>
<mi>L</mi><mo>(</mo><mi>θ</mi><mo>)</mo><mo>=</mo>
<mfrac><mi>a</mi><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow></mfrac>
<mo>+</mo>
<mfrac><mi>b</mi><mrow><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow></mfrac>
<mo>−</mo>
<mfrac><mi>d</mi><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mo>⁢</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow></mfrac>
</mrow>
</math>
L_max = (a^(2/3) + b^(2/3))^(3/2), L(theta) = a/sin theta + b/cos theta - d/(sin theta cos theta)
lrod = (a^(2/3) + b^(2/3))^(3/2); NMinimize[{a/Sin[t] + b/Cos[t] - d/(Sin[t]*Cos[t]), 0.01 < t < Pi/2 - 0.01}, t]
lrod := (a^(2/3) + b^(2/3))^(3/2); L := theta -> a/sin(theta) + b/cos(theta) - d/(sin(theta)*cos(theta)); Lmax := minimize(L(theta), theta = 0.01 .. Pi/2 - 0.01);
lrod = (a^(2/3) + b^(2/3))^(3/2); L = @(t) a./sin(t) + b./cos(t) - d./(sin(t).*cos(t)); [t0, Lmax] = fminbnd(L, 0.01, pi/2 - 0.01); % t는 라디안
L_max = (a^(2/3) + b^(2/3))^(3/2), L(θ) = a/sin θ + b/cos θ − d/(sin θ cos θ)
D_바닥 = √(a² + b²), D_세로 = √(b² + h²), D_공간 = √(a² + b² + h²)
D_{\text{바닥}} = \sqrt{a^{2}+b^{2}},\quad D_{\text{세로}} = \sqrt{b^{2}+h^{2}},\quad D_{\text{공간}} = \sqrt{a^{2}+b^{2}+h^{2}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>D</mi><mtext>바닥</mtext></msub><mo>=</mo>
<msqrt><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup></msqrt>
<mo>,</mo>
<msub><mi>D</mi><mtext>세로</mtext></msub><mo>=</mo>
<msqrt><msup><mi>b</mi><mn>2</mn></msup><mo>+</mo><msup><mi>h</mi><mn>2</mn></msup></msqrt>
<mo>,</mo>
<msub><mi>D</mi><mtext>공간</mtext></msub><mo>=</mo>
<msqrt><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup><mo>+</mo><msup><mi>h</mi><mn>2</mn></msup></msqrt>
</mrow>
</math>
D_floor = sqrt(a^2 + b^2), D_side = sqrt(b^2 + h^2), D_space = sqrt(a^2 + b^2 + h^2)
{Sqrt[a^2 + b^2], Sqrt[b^2 + h^2], Sqrt[a^2 + b^2 + h^2]}
Dfloor := sqrt(a^2 + b^2); Dside := sqrt(b^2 + h^2); Dspace := sqrt(a^2 + b^2 + h^2);
Dfloor = sqrt(a^2 + b^2); Dside = sqrt(b^2 + h^2); Dspace = sqrt(a^2 + b^2 + h^2); % a, b, h는 내부의 유효 안치수
D_바닥 = √(a^2 + b^2), D_세로 = √(b^2 + h^2), D_공간 = √(a^2 + b^2 + h^2)
ChatGPT 에게 물어서 계산하는 방법
당신은 가구 반입 가능 여부를 계산하는 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답하세요(암산이나 추측으로 답하지 마세요). 폭 180 cm·깊이 90 cm·높이 75 cm인 소파를 폭 80 cm·높이 200 cm인 문(안목 치수)으로 통과시킵니다. 포장과 보양재의 여유로 3 cm를 잡습니다. 다음 값을 각각 구하세요. 1. 유효 개구부의 폭과 높이(개구부의 폭·높이에서 각각 여유 3 cm를 뺌) 2. 가구의 세 면(폭×높이, 깊이×높이, 폭×깊이) 각각이 유효 개구부에 그대로 들어가는지(면의 두 변 p, q가 p ≤ 유효 폭이고 q ≤ 유효 높이. p와 q를 바꿔도 됨) 3. 들어가는 면이 없을 때는 면의 긴 변을 바닥에서 θ도 기울였을 때의 필요한 폭 p cosθ + q sinθ와 필요한 높이 p sinθ + q cosθ가 0~90° 중 어딘가에서 둘 다 들어가는지 4. 폭 90 cm 복도끼리 직각으로 꺾인 모퉁이를 폭 50 cm 상자가 돌 수 있는 최대 길이(L(θ) = a/sinθ + b/cosθ − d/(sinθ cosθ)의 0~90°에서의 최솟값) 계산에 쓴 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다