メインコンテンツ

light

R2026b

light オブジェクトの作成

    説明

    light は、現在の座標軸に Light オブジェクトを作成します。

    Light オブジェクト自体を見ることはできませんが、ライトを含む座標軸に存在する patch および surface オブジェクトへの影響は見ることができます。patch および surface オブジェクトを作成する関数には、関数 surf、mesh、pcolor、fill、および fill3 のほか、surface および patch が含まれます。

    例

    light(Name=Value) は、1 つ以上の名前と値の引数を使用して、ライトのプロパティを指定します。たとえば、light(Color="green") を使用して、ライトの色を緑に指定できます。プロパティの一覧については、Light のプロパティ を参照してください。

    例

    light(ax,___) は、現在の座標軸 (gca) ではなく、ax によって指定された座標軸にライトを作成します。最初の入力引数として ax を、その後に前述の構文の任意の入力引数の組み合わせを指定します。

    例

    lt = light(___) は Light オブジェクトを返します。ライトの作成後にそのプロパティを変更するには、lt を使用します。プロパティの一覧については、Light のプロパティ を参照してください。

    例

    例

    すべて折りたたむ

    球面を作成し、Light オブジェクトを使用してライトを照射します。

    sphere
    axis equal
    light

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

    球面を作成し、ローカル光源を使用して "x" 軸および "y" 軸の負の隅からその球面に向けて真っ直ぐにライトを照射します。

    sphere
    axis equal
    
    light(Style="local",Position=[-10 -10 0]);

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

    関数 tiledlayout および関数 nexttile を使用して、プロットをタイル表示できます。関数 tiledlayout を呼び出して、1 行 2 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して、axes オブジェクト ax1 および ax2 を作成します。各 axes オブジェクトを sphere および light の最初の引数として指定することで、球面と対応するライトを各プロットに作成します。

    左の座標軸で、球面を作成し、Color プロパティを指定して赤のライトを照射します。右の座標軸で、球面を作成し、緑のライトを照射します。

    colormap([1 1 1])
    tiledlayout(1,2)
     
    % Left sphere
    ax1 = nexttile;
    sphere(ax1)
    axis equal
    lt1 = light(ax1);
    lt1.Color = "r";
     
    % Right sphere
    ax2 = nexttile;
    sphere(ax2)
    axis equal
    lt2 = light(ax2);
    lt2.Color = "g";

    Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

    入力引数

    すべて折りたたむ

    axes オブジェクト。axes オブジェクトを指定しない場合、light は現在の座標軸に Light オブジェクトを作成します。

    名前と値の引数

    すべて折りたたむ

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

    例: light(Position=[-1 0 0],Style="local")

    ライトの色。RGB 3 成分、16 進数カラー コード、色の名前、または省略名として指定されます。既定の RGB 3 成分 [1 1 1] は白に対応します。

    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);

    R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

    R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

    例: 'green'

    光源の種類。次の値の 1 つとして指定します。

    • "infinite" — ライトを無限遠に配置します。Position プロパティを使用して、 ライトがどの方向から平行光線を発するかを指定します。

    • "local" — Position プロパティによって指定される位置にライトを配置します。ライトは点光源で、設定位置から全方向を照らします。

    光源の位置。[x y z] の書式の3 要素ベクトルとして指定します。座標軸の原点から (x, y, z) 座標までのデータ単位のベクトル要素を定義します。ライトの実際の位置は、Style プロパティの値によって異なります。

    例: [-40 -4 140]

    バージョン履歴

    R2006a より前に導入