삼각 3D 표면

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Python Matplotlib 라이브러리를 사용하여 삼각 메시 (triangular mesh) 를 가진 3D 표면을 만드는 방법을 배웁니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

라이브러리 임포트

먼저, 필요한 라이브러리를 임포트해야 합니다:

import matplotlib.pyplot as plt
import numpy as np

변수 정의

반지름과 각도에 대한 변수를 정의합니다:

n_radii = 8
n_angles = 36

반지름 및 각도 공간 생성

linspace 함수를 사용하여 반지름 및 각도 공간을 생성합니다:

## Make radii and angles spaces (radius r=0 omitted to eliminate duplication).
radii = np.linspace(0.125, 1.0, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)[..., np.newaxis]

극좌표를 직교 좌표로 변환

극좌표를 직교 좌표로 변환합니다:

## Convert polar (radii, angles) coords to cartesian (x, y) coords.
## (0, 0) is manually added at this stage, so there will be no duplicate
## points in the (x, y) plane.
x = np.append(0, (radii*np.cos(angles)).flatten())
y = np.append(0, (radii*np.sin(angles)).flatten())

Pringle 표면을 만들기 위한 Z 계산

Pringle 표면을 만들기 위해 z 를 계산합니다:

## Compute z to make the pringle surface.
z = np.sin(-x*y)

3D 표면 생성

plot_trisurf 함수를 사용하여 3D 표면을 생성합니다:

ax = plt.figure().add_subplot(projection='3d')
ax.plot_trisurf(x, y, z, linewidth=0.2, antialiased=True)

plt.show()

요약

이 랩에서는 Python Matplotlib 라이브러리를 사용하여 삼각 메시 (triangular mesh) 를 가진 3D 표면을 생성하는 방법을 배웠습니다. 필요한 라이브러리를 가져오고, 반지름과 각도에 대한 변수를 정의하고, 반지름과 각도 공간을 생성하고, 극좌표를 직교 좌표로 변환하고, pringle 표면을 만들기 위해 z 를 계산하고, plot_trisurf 함수를 사용하여 3D 표면을 생성했습니다.