メインコンテンツ

cylinder

説明

円柱データの作成

[X,Y,Z] = cylinder は、円柱を描画せずにその xy および z 座標を含む 3 つの 221 列の行列を返します。円柱は、半径が 1 で、円周を等間隔に 20 等分する点が設定されています。底面は xy 平面に平行です。

円柱を描画するには、XY および Z を関数 surf または mesh に渡します。

[X,Y,Z] = cylinder(r) は、指定された断面曲線 r と円周を等間隔に 20 等分する点をもつ円柱の xy および z 座標を返します。この関数は、r の各要素を、円柱の高さの単位に沿った等間隔の高さにおいて、半径として扱います。各座標行列のサイズは m21 列です。ここで、m=numel(r) です。ただし、r がスカラーの場合、m=2 です。

[X,Y,Z] = cylinder(r,n) は、指定された断面曲線 r と円周を等間隔に n 等分する点をもつ円柱の xy および z 座標を返します。各座標行列のサイズは m 行 (n+1) 列です。ここで、m=numel(r) です。ただし、r がスカラーの場合、m=2 です。

円柱のプロット

cylinder(___) は、座標を返さずに円柱をプロットします。この構文は、前述の構文にある任意の入力引数を指定して使用します。

cylinder(___,Name=Value) は、1 つ以上の名前と値の引数を使用して円柱プロットのプロパティを設定します。たとえば、円柱の色と透明度を指定できます。プロパティの一覧については、Surface のプロパティ を参照してください。 (R2024b 以降)

cylinder(ax,___) は、現在の座標軸ではなく、ax で指定される座標軸にプロットします。座標軸を最初の入力引数として指定します。

すべて折りたたむ

半径が 1 の円柱を作成してプロットします。

cylinder

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

入力 r を含めて円柱の半径を指定します。次に、返された Z 座標を変更して円柱の高さを指定します。

半径が 4 の円柱の座標として XY および Z を定義します。

r = 4;
[X,Y,Z] = cylinder(r);

Z 座標を変更して高さ 20 を指定します。円柱をプロットします。

h = 20;
Z = Z*h;
surf(X,Y,Z)

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

円柱を作成し、返された座標を使用して異なる位置に複数の円柱をプロットします。

断面関数 2 + cos(t) で定義される円柱を作成します。

t = 0:pi/10:2*pi;
r = 2 + cos(t);
[X,Y,Z] = cylinder(r);

原点を底面の中心とする円柱をプロットします。

surf(X,Y,Z)

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

最初の円柱の上にさらに 2 つの円柱をプロットします。

hold on
surf(X,Y,Z+1)
surf(X,Y,Z+2)

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

入力引数

すべて折りたたむ

断面曲線。ベクトルとして指定します。cylinder は、r の各要素を、円柱の単位高さに沿った等間隔の高さにおいて、半径として扱います。

円柱の円周上の点の数。正の整数として指定します。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、cylinder は現在の座標軸にプロットします。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: cylinder(4,FaceColor="red") は赤色の円柱をプロットします。

メモ

ここには一部のプロパティのみを示します。完全な一覧については、Surface のプロパティ を参照してください。

面の色。次の表のいずれかの値として指定します。

説明
'flat'

CData プロパティの値に基づいて面ごとに異なる色を使用します。まず、CData プロパティを ZData と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、面全体の色を決定します。この値は 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 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#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 と同じサイズの行列として指定しなければなりません。各面の最初の頂点 (正の x 方向と y 方向) のカラー値が、隣接するエッジの色を決定します。この値は 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 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#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' に設定しなければなりません。

バージョン履歴

R2006a より前に導入

すべて展開する

参考

関数

プロパティ