3차원 함수 플로팅

3차원 함수 플로팅 (Three-dimensional Function Plotting)

2차원에서처럼, 3차원에서도 함수를 직접 플롯하는 함수들이 있어요. 매개변수 곡선과 메시·표면을 함수 정의만으로 그려주죠.

출처: Three-dimensional Function Plotting

본문

ezplot3

ezplot3 (fx, fy, fz)
ezplot3 (…, dom)
ezplot3 (…, n)
ezplot3 (…, "animate")
ezplot3 (hax, …)
h = ezplot3 (…)

매개변수적으로 정의된 곡선을 3차원으로 플롯합니다. fx, fy, fz는 단일 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 플롯은 영역 0 <= t <= 2*pi에서 500개 점으로 그려집니다.

dom이 두 요소 벡터면 t의 최솟값·최댓값을 나타내요. n은 함수를 플롯할 점 수를 정의하는 스칼라예요. "animate" 옵션을 주면 comet3 스타일로 플롯이 애니메이션됩니다.

첫 인자 hax가 축 핸들이면, gca가 돌려주는 현재 축이 아니라 그 축에 플롯합니다. 선택적 반환값 h는 만들어진 플롯의 그래픽 핸들이에요.

fx = @(t) cos (t);
fy = @(t) sin (t);
fz = @(t) t;
ezplot3 (fx, fy, fz, [0, 10*pi], 100);

See also: plot3, comet3, ezplot, ezmesh, ezsurf.

ezmesh

ezmesh (f)
ezmesh (fx, fy, fz)
ezmesh (…, dom)
ezmesh (…, n)
ezmesh (…, "circ")
ezmesh (hax, …)
h = ezmesh (…)

함수가 정의하는 메시(mesh)를 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.

세 개의 함수를 넘기면 매개변수적으로 정의된 함수 [fx(s, t), fy(s, t), fz(s, t)]를 플롯합니다. dom이 두 요소 벡터면 x·y의 최솟값·최댓값, 네 요소 벡터면 [xmin xmax ymin ymax]입니다. n은 각 차원에서 사용할 점 수를 정의하는 스칼라예요.

"circ" 인자를 주면 함수가 영역 dom의 중앙을 중심으로 하는 원판 위에서 플롯됩니다. 첫 인자 hax가 축 핸들이면 그 축에 플롯해요. 선택적 반환값 h는 만들어진 표면 객체의 그래픽 핸들이에요.

Example 1: 2-argument function

f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezmesh (f, [-3, 3]);

Example 2: parametrically defined function

fx = @(s,t) cos (s) .* cos (t);
fy = @(s,t) sin (s) .* cos (t);
fz = @(s,t) sin (t);
ezmesh (fx, fy, fz, [-pi, pi, -pi/2, pi/2], 20);

See also: mesh, ezmeshc, ezplot, ezsurf, ezsurfc, hidden.

ezmeshc

ezmeshc (f)
ezmeshc (fx, fy, fz)
ezmeshc (…, dom)
ezmeshc (…, n)
ezmeshc (…, "circ")
ezmeshc (hax, …)
h = ezmeshc (…)

함수가 정의하는 메시와 등고선을 함께 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.

세 개의 함수를 넘기면 매개변수적으로 정의된 함수 [fx(s, t), fy(s, t), fz(s, t)]를 플롯합니다. dom·n·"circ"·hax 인자는 ezmesh와 같은 규칙을 따라요.

선택적 반환값 h는 두 요소 벡터로, 만들어진 메시 플롯의 그래픽 핸들과 등고선 플롯의 핸들을 담아요.

Example: 2-argument function

f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezmeshc (f, [-3, 3]);

See also: meshc, ezmesh, ezplot, ezsurf, ezsurfc, hidden.

ezsurf

ezsurf (f)
ezsurf (fx, fy, fz)
ezsurf (…, dom)
ezsurf (…, n)
ezsurf (…, "circ")
ezsurf (hax, …)
h = ezsurf (…)

함수가 정의하는 표면을 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.

세 개의 함수를 넘기면 매개변수적으로 정의된 함수 [fx(s, t), fy(s, t), fz(s, t)]를 플롯합니다. dom·n·"circ"·hax 인자는 ezmesh와 같은 규칙을 따라요. 선택적 반환값 h는 만들어진 표면 객체의 그래픽 핸들이에요.

Example 1: 2-argument function

f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezsurf (f, [-3, 3]);

Example 2: parametrically defined function

fx = @(s,t) cos (s) .* cos (t);
fy = @(s,t) sin (s) .* cos (t);
fz = @(s,t) sin (t);
ezsurf (fx, fy, fz, [-pi, pi, -pi/2, pi/2], 20);

See also: surf, ezsurfc, ezplot, ezmesh, ezmeshc, shading.

ezsurfc

ezsurfc (f)
ezsurfc (fx, fy, fz)
ezsurfc (…, dom)
ezsurfc (…, n)
ezsurfc (…, "circ")
ezsurfc (hax, …)
h = ezsurfc (…)

함수가 정의하는 표면과 등고선을 함께 플롯합니다. f는 두 인자를 가진 문자열, 인라인 함수, 또는 함수 핸들로 함수를 정의해요. 기본적으로 메시 영역 -2*pi <= x | y <= 2*pi에서 각 차원당 60개 점으로 그려집니다.

세 개의 함수를 넘기면 매개변수적으로 정의된 함수 [fx(s, t), fy(s, t), fz(s, t)]를 플롯합니다. dom·n·"circ"·hax 인자는 ezmesh와 같은 규칙을 따라요. 선택적 반환값 h는 두 요소 벡터로, 만들어진 표면 플롯의 핸들과 등고선 플롯의 핸들을 담아요.

Example:

f = @(x,y) sqrt (abs (x .* y)) ./ (1 + x.^2 + y.^2);
ezsurfc (f, [-3, 3]);

See also: surfc, ezsurf, ezplot, ezmesh, ezmeshc, shading.

더 알아보기

  • octave-two-dimensional-function-plotting — 2차원 함수 플로팅
  • octave-three-dimensional-plots — 3차원 플롯
  • octave-plotting — 플로팅 개요