주요 콘텐츠

ellipsoid

타원체 만들기

설명

타원체 데이터 만들기

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr)은 타원체를 그리지 않고 타원체의 x, y, z 좌표를 반환합니다. 반환된 타원체는 중심 좌표가 (xc,yc,zc)에 있고 반축의 길이가 (xr,yr,zr)이며 20×20 면으로 구성됩니다.

이 함수는 x, y, z 좌표를 3개의 21×21 행렬로 반환합니다.

반환된 좌표를 사용하여 타원체를 그리려면 surf 또는 mesh 함수를 사용하십시오.

예제

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr,n)n×n 면으로 구성된 타원체의 x, y, z 좌표를 반환합니다. 이 함수는 x, y, z 좌표를 3개의 (n+1)×(n+1) 행렬로 반환합니다.

예제

타원체 플로팅하기

ellipsoid(___)는 좌표를 반환하지 않고 타원체를 플로팅합니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용하십시오.

예제

ellipsoid(___,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 타원체 플롯의 속성을 설정합니다. 예를 들어, 타원체의 색과 투명도를 지정할 수 있습니다. 속성 목록은 Surface 속성 항목을 참조하십시오. (R2024b 이후)

ellipsoid(ax,___)는 현재 좌표축 대신 ax로 지정된 좌표축에 플로팅됩니다. 좌표축을 첫 번째 입력 인수로 지정합니다.

예제

예제

모두 축소

중심이 (0, –0.5, 0)이고 반축 길이가 (6, 3.25, 3.25)인 타원체를 만들고 플로팅합니다. axis equal을 사용하여 각 좌표 방향을 따라 동일한 데이터 단위를 사용합니다.

ellipsoid(0,-0.5,0,6,3.25,3.25)
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

중심이 (0, 0, 0)이고 반축 길이가 (1.5, 1.5, 3)인 타원체의 좌표를 생성합니다.

[X,Y,Z] = ellipsoid(0,0,0,1.5,1.5,3);

티원체의 곡면 플롯을 만듭니다.

surf(X,Y,Z);
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

첫 번째 타원체에서 중심이 (3, 0, 5)만큼 평행 이동된 두 번째 타원체를 플로팅합니다. 다음 단계에서 두 번째 타원체를 회전할 수 있으려면 surface 객체를 s로 반환하십시오.

hold on
s = surf(X+3,Y,Z+5);

Figure contains an axes object. The axes object contains 2 objects of type surface.

두 번째 타원체를 x축을 기준으로 45도 회전합니다. 평행 이동되고 회전된 타원체의 새 좌표는 s.Xdata, s.Ydata, s.Zdata에 저장됩니다.

direction = [1 0 0];
rotate(s,direction,45)

Figure contains an axes object. The axes object contains 2 objects of type surface.

중심 좌표가 (0, 0, 0)이고 반축 길이가 (2, 1, 1)인 타원체를 서로 다른 면 수로 표시합니다.

tiledlayout 함수를 호출하여 2×2 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 호출하여 좌표축을 만듭니다. 그런 다음 ellipsoid 함수를 사용하여 각각 면 수가 다른 3개의 타원체를 플로팅합니다. 좌표축을 지정하여 차트의 서로 다른 타일에 타원체를 플로팅합니다.

tiledlayout(2,2);
ax1 = nexttile;
ellipsoid(ax1,0,0,0,2,1,1)
axis equal
title('20-by-20 faces (Default)')

ax2 = nexttile;
ellipsoid(ax2,0,0,0,2,1,1,50)
axis equal
title('50-by-50 faces')

ax3 = nexttile;
ellipsoid(ax3,0,0,0,2,1,1,80)
axis equal
title('80-by-80 faces')

Figure contains 3 axes objects. Axes object 1 with title 20-by-20 faces (Default) contains an object of type surface. Axes object 2 with title 50-by-50 faces contains an object of type surface. Axes object 3 with title 80-by-80 faces contains an object of type surface.

입력 인수

모두 축소

타원체 중심의 좌표로, 쉼표로 구분된 3개의 스칼라 숫자로 지정됩니다.

데이터형: single | double | duration | datetime

x축, y축, z축 방향의 장반축으로, 쉼표로 구분된 3개의 스칼라 숫자로 지정됩니다.

데이터형: single | double

면 개수로, 양의 정수 스칼라로 지정됩니다.

대상 좌표축으로, Axes 객체로 지정됩니다. 좌표축을 지정하지 않을 경우 ellipsoid는 현재 좌표축에 플로팅됩니다.

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: ellipsoid(0,0,0,2,1,1,FaceAlpha=0.5)는 투명도가 50%인 타원체를 플로팅합니다.

참고

여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Surface 속성 항목을 참조하십시오.

면 색으로, 이 표에 있는 값 중 하나로 지정됩니다.

설명
'flat'

CData 속성의 값에 따라 각 면에 각각 다른 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 각 면 첫 번째 꼭짓점의 색 값(양의 xy 방향)은 전체 면의 색을 결정합니다. FaceAlpha 속성이 'interp'로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

CData 속성의 값에 따라 각 면에 보간된 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 꼭짓점에서 색 값을 보간하므로 면마다 색이 달라집니다. FaceAlpha 속성이 'flat'으로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

RGB 3색, 16진수 색 코드 또는 색 이름

모든 면에 지정된 색을 사용합니다. 이 옵션은 CData 속성의 색 값을 사용하지 않습니다.

Sample of a surface with all faces shown in red

'texturemap'곡면에 맞게 CData의 색 데이터를 변환합니다.
'none'면을 그리지 않습니다.

RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.

팔레트팔레트 색

"gem" — 라이트 테마 디폴트 값

R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다.

Sample of the "gem" color palette

"glow" — 다크 테마 디폴트 값

Sample of the "glow" color palette

orderedcolors 함수와 rgb2hex 함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem" 팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")를 사용하여 RGB 3색을 가져옵니다.

R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))를 사용하여 16진수 색 코드를 가져옵니다.

면 투명도로, 다음 값 중 하나로 지정됩니다.

  • 범위 [0,1] 사이에 있는 스칼라 값 — 모든 면에 균일한 투명도를 사용합니다. 값이 1이면 완전히 불투명하고 0이면 완전히 투명합니다. 01 사이의 값을 지정하면 반투명해집니다. 이 옵션은 AlphaData 속성의 투명도 값을 사용하지 않습니다.

  • 'flat'AlphaData 속성의 값에 따라 각 면에 서로 다른 투명도를 사용합니다. 첫 번째 꼭짓점의 투명도 값에 따라 전체 면의 투명도가 결정됩니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 또한 FaceColor 속성이 'flat'으로 설정되어 있어야 합니다.

  • 'interp'AlphaData 속성의 값에 따라 각 면에 보간된 투명도를 사용합니다. 꼭짓점의 값을 보간하기 때문에 각 면에서 투명도가 다릅니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 또한 FaceColor 속성이 'interp'로 설정되어 있어야 합니다.

  • 'texturemap' — 곡면에 맞게 AlphaData의 데이터를 변환합니다.

모서리 선 색으로, 여기에 나열된 값 중 하나로 지정됩니다. 디폴트 색 [0 0 0]은 검은색 모서리에 해당합니다.

설명
'none'모서리를 그리지 않습니다.
'flat'

CData 속성의 값을 기반으로 하여 각 모서리에 다른 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 각 면 첫 번째 꼭짓점의 색 값(양의 xy 방향)은 인접 모서리의 색을 결정합니다. EdgeAlpha 속성이 'interp'로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

CData 속성의 값을 기반으로 하여 각 모서리에 보간된 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 꼭짓점에서 색 값을 선형적으로 보간하므로 모서리마다 색이 달라집니다. EdgeAlpha 속성이 'flat'으로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

RGB 3색, 16진수 색 코드 또는 색 이름

모든 모서리에 지정된 색을 사용합니다. 이 옵션은 CData 속성의 색 값을 사용하지 않습니다.

Sample of a surface with all edges shown in red

RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.

팔레트팔레트 색

"gem" — 라이트 테마 디폴트 값

R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다.

Sample of the "gem" color palette

"glow" — 다크 테마 디폴트 값

Sample of the "glow" color palette

orderedcolors 함수와 rgb2hex 함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem" 팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")를 사용하여 RGB 3색을 가져옵니다.

R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))를 사용하여 16진수 색 코드를 가져옵니다.

모서리 투명도로, 다음 값 중 하나로 지정됩니다.

  • [0,1] 범위의 스칼라 — 모든 모서리에 균일한 투명도를 사용합니다. 값이 1이면 완전히 불투명하고 0이면 완전히 투명합니다. 01 사이의 값을 지정하면 반투명해집니다. 이 옵션은 AlphaData 속성의 투명도 값을 사용하지 않습니다.

  • 'flat'AlphaData 속성의 값에 따라 각 모서리에 서로 다른 투명도를 사용합니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 첫 번째 꼭짓점의 투명도 값에 따라 전체 모서리의 투명도가 결정됩니다. 또한 EdgeColor 속성이 'flat'으로 설정되어 있어야 합니다.

  • 'interp'AlphaData 속성의 값에 따라 각 모서리에 보간된 투명도를 사용합니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 꼭짓점의 값을 보간하기 때문에 각 모서리에서 투명도가 다릅니다. 또한 EdgeColor 속성이 'interp'로 설정되어 있어야 합니다.

알고리즘

ellipsoid는 다음 방정식을 사용하여 데이터를 생성합니다.

(xxc)2xr2+(yyc)2yr2+(zzc)2zr2=1.

ellipsoid(0,0,0,1,1,1)은 단위구와 같습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

함수

속성