• SEARCH

    통합검색
세모계
    • Dark Mode
    • GNB Always Open
    • GNB Height Maximize
    • Color
    • Brightness
    • SINCE 2015.01.19.
    • 세모계 세모계
    •   SEARCH
    • 세상의 모든 계산기  
      • 자유(질문) 게시판  
      • 계산기 뉴스/정보  
      • 수학, 과학, 공학 이야기  
      • 세모계 : 공지 게시판  
        • 구글 맞춤검색  
      • 세상의 모든 계산기  
        • 자유(질문) 게시판  
    • TI  
    • CASIO  
    • HP  
    • SHARP  
    • 일반(쌀집) 계산기  
    • 기타계산기  
    • 세모계
    • by ORANGEDAY
  • 세상의 모든 계산기 수학, 과학, 공학 이야기

    수학, 과학, 공학

    • 세상의 모든 계산기 수학, 과학, 공학 이야기 수학
    • 직교 좌표계 vs 극좌표계의 시각적 비교

    • Profile
      • 세상의모든계산기
        *.40.137.167
      • 2024.10.30 - 15:37 2024.10.27 - 18:21  353  4

    1. 두 개의 극좌표 함수가 있습니다. 

     

    r(θ) = 1
    r(θ) = 1 - cos(θ)

     

     

    2. 직교좌표계에서 표시.

     

    Rectangular Coordinate = 카르테시안 좌표계 Cartesian coordinate system

    image.png

     

    각 축이 서로 수직(직각)으로 만남. 

    각 축의 값이 커지거나 작아지는 것은 일직선 위에서 발생

     

     

    3. 극좌표계에서 표시

     

    Polar Coordinate

    expand source?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    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()

     

    image.png

     

    극좌표계의 구조

    1. 각도 축: 극좌표계에서tt 축(각도 축)은 원점을 기준으로 하는 방향을 나타냅니다. 각도는 일반적으로 반시계 방향으로 측정되며, 0에서 2π까지 변화합니다.

    2. 반지름 축: r 축(반지름)은 원점으로부터의 거리로, 특정 각도에 따라 뻗어 있습니다. 반지름은 원점에서 시작하여 외부로 나아가며, 주어진 각도 t에서의 반지름 r 값에 따라 점이 위치하게 됩니다.

    3. 동심원: 극좌표계는 다양한 반지름에 대해 중심이 같은 원을 그리는 "동심원" 형태로 되어 있습니다. 즉, 반지름 r의 값에 따라 같은 각도 t에서 원의 크기가 결정됩니다.

     

     

    4. 비교

     

    • 직교좌표계에서는 x축과 y축이 수직으로 만나며, 각 축이 서로의 기준을 이루는 데 반해,
    • 극좌표계에서는 각도와 반지름이 서로 독립적인 성질을 가지며, 각도는 방향을, 반지름은 거리를 나타내게 됩니다.
    0
    0
    Attached file
    image.png 38.7KB 18image.png 153.5KB 17polarcord_integral.tns 7.6KB 42
    이 게시물을..
    • 세상의모든계산기 세상의모든계산기 Lv. 25

      계산기는 거들 뿐
      혹은
      계산기를 거들 뿐

     댓글 4

      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.10.27 19:00 #comment_51550

        참고 : BallPen.blog, 내 나이의 빛깔 - 극좌표계


        https://ballpen.blog/%EA%B7%B9%EC%A2%8C%ED%91%9C%EA%B3%84-polar-coordinate-system/

        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.10.27 19:03 #comment_51553

        극좌표계에서의 면적 요소 dA


        1. 부채꼴 형상:
        - 극좌표계에서 r와 θ의 변화에 따라 만들어지는 면적 요소는 부채꼴의 형태를 가집니다. 그러나 이 부채꼴은 작아질수록 사각형에 가까워집니다.

         

        2. 사각형 근사:
        - 부채꼴의 끝부분이 작아질 때, 이를 사각형으로 근사할 수 있습니다. 이때 사각형의 한 변은 dr (거리에 해당), 다른 변은 rdθ (각도 변화에 따른 아크 길이에 해당)입니다.

         

        image.png

         

        3. 면적 계산:
        - 따라서 미소 면적 요소는 다음과 같이 표현할 수 있습니다:
        dA=rdrdθ
        - 여기서 rdθ는 사각형의 한 변의 길이를 나타내고, dr는 나머지 변의 길이를 나타냅니다.
        - 즉, 사각형의 면적은 다음과 같이 계산할 수 있습니다:
        dA≈(rdθ)⋅(dr)=rdrdθ

         

        4. 순서 변경:
        - 이 면적 요소는 dA=rdrdθ로 쓸 수 있으며, 순서를 바꿔서도 쓸 수 있습니다. 예를 들어 dA=rdrdθ는 dA=dr⋅rdθ와 같이 쓸 수 있습니다. 이는 곱셈의 교환 법칙에 따라 가능하며, 적분할 때에도 상관없이 사용됩니다.

        Attached file
        image.png 43.4KB / 13
        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.10.27 19:25 #comment_51559

        극좌표 함수의 형태로 나타나는 이중적분


        극좌표 함수에서 dA=rdrdθ 형태로 나타낼 수 있는 이중적분 ∫∫f(r,θ)rdrdθ는 면적을 계산하는 방식입니다.

        이 계산식에서 r과 θ의 변화에 따른 미소 면적의 총합으로 이해할 수 있습니다.

         

        이중적분의 의미

        1. 미소 면적의 총합:
           - 극좌표계에서 dA는 미소 면적 요소를 나타냅니다. r이 변화하고, θ도 변화할 때, 각 미소 면적 dA를 모두 합산하여 전체 면적을 구하는 것이 이중적분의 목적입니다.
           - 즉, ∫0θmax∫0rmaxf(r,θ)rdrdθ와 같이 표현되는 이중적분은 각 r에 대한 함수 값 f(r,θ)와 면적 요소 rdr를 곱한 후, 이를 θ에 대해 적분하여 총 면적을 구하는 과정입니다.

         

        2. 변화에 따른 적분:
           - r와 θ가 각각의 구간에서 변화할 때, 그 변화에 따른 미소 면적을 구해 적분하는 것이므로, t의 총 변화(여기서는 θ로 표현됨)에 따른 미소 면적의 총합으로 볼 수 있습니다.

         

        결론

        결국, 극좌표에서의 이중적분은 각 점의 미소 면적 dA를 합산하여 전체 면적을 구하는 과정입니다.

        이때 rdrdθ는 면적 요소로 작용하며, 이는 각각의 r과 θ의 변화에 따른 총 면적을 반영합니다.

        따라서 ∫∫f(r,θ)rdrdθ는 미소 면적의 총합으로 볼 수 있습니다. 잘 이해하셨습니다!

        0
        댓글
      • Profile
      • 세상의모든계산기 (*.40.137.167) 2024.10.27 19:40 #comment_51562

        이중적분 ∫02π∫0sin⁡(t)1−r2⋅rdrdt에서 t의 변화에 따라 그래프의 변화를 연속적으로 보여주면


        expand source?
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        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()

         

        animation10.gif

        Attached file
        animation10.gif 594.6KB / 14
        0
        댓글
    • 댓글 입력
    • 에디터 전환
    댓글 쓰기 에디터 사용하기 닫기
    • 목록 목록
    • 목록
    4
    by OrangeDay
    • 세상의 모든 계산기 수학, 과학, 공학 이야기
    • allcalc.org
    • 세모계 all rights reserved.