- 세상의 모든 계산기 수학, 과학, 공학 이야기 수학 ()
직교 좌표계 vs 극좌표계의 시각적 비교
1. 두 개의 극좌표 함수가 있습니다.
2. 직교좌표계에서 표시.
Rectangular Coordinate = 카르테시안 좌표계 Cartesian coordinate system

각 축이 서로 수직(직각)으로 만남.
각 축의 값이 커지거나 작아지는 것은 일직선 위에서 발생
3. 극좌표계에서 표시
Polar Coordinate
import numpy as np
import matplotlib.pyplot as plt
# t의 범위 설정 (0부터 2π까지)
t = np.linspace(0, 2 * np.pi, 100)
# 극좌표 함수 정의
r1 = np.ones_like(t) # r(t) = 1
r2 = 1 - np.cos(t) # r(t) = 1 - cos(t)
# 극좌표 그래프 그리기
fig = plt.figure(figsize=(12, 6))
# r(t) = 1 그래프
ax1 = fig.add_subplot(121, projection='polar')
ax1.plot(t, r1, label='r(t) = 1', color='b')
ax1.fill(t, r1, color='blue', alpha=0.2) # 그래프 아래 영역 채우기
ax1.set_title('Polar Plot of r(t) = 1', va='bottom')
ax1.set_ylim(0, 2) # 반지름 범위 설정
ax1.legend()
# r(t) = 1 - cos(t) 그래프
ax2 = fig.add_subplot(122, projection='polar')
ax2.plot(t, r2, label='r(t) = 1 - cos(t)', color='r')
ax2.fill(t, r2, color='red', alpha=0.2) # 그래프 아래 영역 채우기
ax2.set_title('Polar Plot of r(t) = 1 - cos(t)', va='bottom')
ax2.set_ylim(0, 2) # 반지름 범위 설정
ax2.legend()
# 그래프 보여주기
plt.tight_layout()
plt.show()

극좌표계의 구조
-
각도 축: 극좌표계에서tt 축(각도 축)은 원점을 기준으로 하는 방향을 나타냅니다. 각도는 일반적으로 반시계 방향으로 측정되며, 0에서 2π까지 변화합니다.
-
반지름 축: r 축(반지름)은 원점으로부터의 거리로, 특정 각도에 따라 뻗어 있습니다. 반지름은 원점에서 시작하여 외부로 나아가며, 주어진 각도 t에서의 반지름 r 값에 따라 점이 위치하게 됩니다.
-
동심원: 극좌표계는 다양한 반지름에 대해 중심이 같은 원을 그리는 "동심원" 형태로 되어 있습니다. 즉, 반지름 r의 값에 따라 같은 각도 t에서 원의 크기가 결정됩니다.
4. 비교
- 직교좌표계에서는 x축과 y축이 수직으로 만나며, 각 축이 서로의 기준을 이루는 데 반해,
- 극좌표계에서는 각도와 반지름이 서로 독립적인 성질을 가지며, 각도는 방향을, 반지름은 거리를 나타내게 됩니다.
댓글4
-
세상의모든계산기
극좌표계에서의 면적 요소 \(dA\)
1. 부채꼴 형상:
- 극좌표계에서 \(r\)와 \(\theta\)의 변화에 따라 만들어지는 면적 요소는 부채꼴의 형태를 가집니다. 그러나 이 부채꼴은 작아질수록 사각형에 가까워집니다.2. 사각형 근사:
- 부채꼴의 끝부분이 작아질 때, 이를 사각형으로 근사할 수 있습니다. 이때 사각형의 한 변은 \(dr\) (거리에 해당), 다른 변은 \(r \, d\theta\) (각도 변화에 따른 아크 길이에 해당)입니다.
3. 면적 계산:
- 따라서 미소 면적 요소는 다음과 같이 표현할 수 있습니다:
\[
dA = r \, dr \, d\theta
\]
- 여기서 \(r \, d\theta\)는 사각형의 한 변의 길이를 나타내고, \(dr\)는 나머지 변의 길이를 나타냅니다.
- 즉, 사각형의 면적은 다음과 같이 계산할 수 있습니다:
\[
dA \approx (r \, d\theta) \cdot (dr) = r \, dr \, d\theta
\]4. 순서 변경:
- 이 면적 요소는 \(dA = r \, dr \, d\theta\)로 쓸 수 있으며, 순서를 바꿔서도 쓸 수 있습니다. 예를 들어 \(dA = r \, dr \, d\theta\)는 \(dA = dr \cdot r \, d\theta\)와 같이 쓸 수 있습니다. 이는 곱셈의 교환 법칙에 따라 가능하며, 적분할 때에도 상관없이 사용됩니다. -
세상의모든계산기
극좌표 함수의 형태로 나타나는 이중적분
극좌표 함수에서 \(dA = r \, dr \, d\theta\) 형태로 나타낼 수 있는 이중적분 \(\int \int f(r, \theta) \, r \, dr \, d\theta\)는 면적을 계산하는 방식입니다.
이 계산식에서 \(r\)과 \(\theta\)의 변화에 따른 미소 면적의 총합으로 이해할 수 있습니다.
이중적분의 의미
1. 미소 면적의 총합:
- 극좌표계에서 \(dA\)는 미소 면적 요소를 나타냅니다. \(r\)이 변화하고, \(\theta\)도 변화할 때, 각 미소 면적 \(dA\)를 모두 합산하여 전체 면적을 구하는 것이 이중적분의 목적입니다.
- 즉, \(\int_0^{\theta_{\text{max}}} \int_0^{r_{\text{max}}} f(r, \theta) \, r \, dr \, d\theta\)와 같이 표현되는 이중적분은 각 \(r\)에 대한 함수 값 \(f(r, \theta)\)와 면적 요소 \(r \, dr\)를 곱한 후, 이를 \(\theta\)에 대해 적분하여 총 면적을 구하는 과정입니다.2. 변화에 따른 적분:
- \(r\)와 \(\theta\)가 각각의 구간에서 변화할 때, 그 변화에 따른 미소 면적을 구해 적분하는 것이므로, \(t\)의 총 변화(여기서는 \(\theta\)로 표현됨)에 따른 미소 면적의 총합으로 볼 수 있습니다.결론
결국, 극좌표에서의 이중적분은 각 점의 미소 면적 \(dA\)를 합산하여 전체 면적을 구하는 과정입니다.
이때 \(r \, dr \, d\theta\)는 면적 요소로 작용하며, 이는 각각의 \(r\)과 \(\theta\)의 변화에 따른 총 면적을 반영합니다.
따라서 \(\int \int f(r, \theta) \, r \, dr \, d\theta\)는 미소 면적의 총합으로 볼 수 있습니다. 잘 이해하셨습니다!
-
1
세상의모든계산기
이중적분 \(\int_0^{2\pi} \int_0^{\sin(t)} \sqrt{1 - r^2} \cdot r \, dr \, dt\)에서 \(t\)의 변화에 따라 그래프의 변화를 연속적으로 보여주면
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # 설정 t_values = np.linspace(0, 2 * np.pi, 100) # t의 변화 범위 # 그래프 초기화 fig, ax = plt.subplots(figsize=(8, 8)) ax.set_xlim(-1.5, 1.5) ax.set_ylim(-1.5, 1.5) ax.set_aspect('equal') ax.set_title('Area under the curve for varying $t$') ax.set_xlabel('$x$') ax.set_ylabel('$y$') # 그래프에 사용할 점과 면적 표시 line_r, = ax.plot([], [], color='blue', label='$r(t) = \sin(t)$') ax.legend() # 면적 다각형 리스트 area_patches = [] total_area = 0 # 총 면적 초기화 area_text = ax.text(-1.4, 1.2, f'Total Area: {total_area:.2f}', fontsize=12) # 애니메이션 업데이트 함수 def update(frame): global total_area # 총 면적을 전역 변수로 설정 t = t_values[frame] r = np.linspace(0, np.sin(t), 100) # r 값 생성 x = r * np.cos(t) # x 좌표 y = r * np.sin(t) # y 좌표 # 면적을 나타내는 다각형 생성 area_patch = plt.Polygon(np.column_stack((x, y)), closed=True, color='lightblue', alpha=0.5) ax.add_patch(area_patch) # 다각형 추가 area_patches.append(area_patch) # 면적 목록에 추가 # 면적 계산 (부채꼴 면적 계산) segment_area = 0.5 * (np.sin(t) ** 2) * t # t에 따른 면적 total_area += segment_area # 총 면적 업데이트 # 선 업데이트 line_r.set_data(np.array([0, x[-1]]), np.array([0, y[-1]])) # 면적 합계 텍스트 업데이트 area_text.set_text(f'Total Area: {total_area:.2f}') return area_patches, line_r, area_text # 애니메이션 생성 ani = FuncAnimation(fig, update, frames=len(t_values), blit=False, repeat=False) # 진행 표시줄 추가 progress_ax = fig.add_axes([0.15, 0.1, 0.7, 0.05]) # 위치 조정 progress_bar = plt.barh([0], [0], color='gray', height=0.1) # 진행 표시줄 progress_ax.set_xlim(0, len(t_values)) progress_ax.set_ylim(-0.5, 0.5) progress_ax.axis('off') # 축 숨기기 # 진행 표시줄 레이블 추가 start_label = progress_ax.text(-1, 0, 'Start: $t=0$', fontsize=10, ha='center') end_label = progress_ax.text(len(t_values)+1, 0, 'End: $t=2\pi$', fontsize=10, ha='center') # 애니메이션 프레임 업데이트 def update_progress(frame): progress_bar[0].set_width(frame) # 진행 표시줄 업데이트 return progress_bar # 진행 표시줄 애니메이션 ani_progress = FuncAnimation(fig, update_progress, frames=len(t_values), blit=False, repeat=False) plt.show()
세상의모든계산기 님의 최근 댓글
교점이 2개 이상일때 모든 값을 구하는 법 계산기마다 가능/불가능이 갈릴 수도 있고, 수식에 따라 가능/불가능이 갈릴 수도 있죠. 불확실할때는 그래프로 확인하세요. 2025 12.16 T가 410인 해를 찾는 방법 -> 초기값을 입력하세요. [공학용 계산기] 공학용 계산기의 꽃? solve (솔브) 기능 이해하기 (Newton-Raphson 법, 뉴튼법) https://allcalc.org/11532 2025 12.16 참고 - [공학용 계산기] 정적분 계산 속도 벤치마크 비교 https://allcalc.org/9677 2025 12.11 다른 계산기의 경우와 비교 1. TI-nspire CAS ㄴ CAS 계산기는 가능한 경우 부정적분을 먼저하고, 그 값에 구간을 대입해 최종값을 얻습니다. ㄴ 부정적분이 불가능할 때는 수치해석적 방법을 시도합니다. 2. CASIO fx-991 ES Plus ㄴ CASIO 계산기의 경우, 적분할 함수에 따라 시간이 달라지는 것으로 알고 있는데, 정밀도를 확보할 별도의 알고리즘을 채택하고 있는 것이 아닐까 생각되네요. 2025 12.11 일반 계산기는 보통 리셋기능이 따로 없기 때문에, 다른 요인에 영향을 받을 가능성은 없어 보이구요. '원래는 잘 되었는데, 지금은 설정 값이 날아간다'면 메모리 값을 유지할만큼 배터리가 꾸준하게 공급되지 않기 때문일 가능성이 높다고 봐야겠습니다. - 태양광이 있을 때는 계산은 가능하지만, 서랍등에 넣으면 배터리가 없어서 리셋 https://blog.naver.com/potatoyamyam/223053309120 (교체 사진 참조) 1. 배터리 준비: * 다이소 등에서 LR54 (LR1130) 배터리를 구매합니다. (보통 4개 들이 1,000원에 판매됩니다. LR44와 높이가 다르니 혼동하시면 안됩니다.) 2. 준비물: * 작은 십자드라이버 (계산기 뒷면 나사용. 이것도 없으시면 다이소에서...) 3. 커버 분해: * 계산기 뒷면의 나사를 풀고, 머리 부분(윗부분)의 커버를 조심스럽게 분해합니다. (참고해주신 블로그 사진을 보시면 이해가 빠르실 겁니다.) 4. 배터리 교체: * 기존 배터리를 빼냅니다. * 새 LR54 배터리의 '+'극 방향을 정확히 확인하여 제자리에 넣어줍니다. (대부분의 경우 '+'극이 위로 보이도록 넣습니다.) 5. 조립: * 커버를 다시 닫고 나사를 조여줍니다. * 블로그 사진을 보니 배터리 연결선 등이 눌려서 씹혀 있네요. 원래 씹히도록 설계를 안하는데, 원래 그렇게 만들어 놓은 건지? 모르겠네요. 여튼 씹히면 단선될 가능성이 있으니, 잘 보시고 플라스틱 틈새 등으로 적절히 배치해서 안씹히게 하는 것이 좋습니다. 6. TAX 재설정: * 계산기의 전원을 켜고 TAX 요율을 10%로 다시 설정합니다. 2025 12.10