ParametricPlot3D

ParametricPlot3D[{fx,fy,fz},{u,umin,umax}]

uminから umaxの範囲の変数 u によってパラメータ付けされている3D空間の曲線を作成する.

ParametricPlot3D[{fx,fy,fz},{u,umin,umax},{v,vmin,vmax}]

u v でパラメータ付けされている3Dの表面を作成する.

ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},},]

複数のオブジェクトを一緒にプロットする.

ParametricPlot3D[,{u,v}reg]

パラメータ{u,v}が,幾何学領域 reg にあるものと解釈する.

詳細とオプション

  • ParametricPlot3Dは,1D領域でプロットする際はパラメトリック曲線,2D領域でプロットする場合はパラメトリック曲面としても知られている.経路に沿って直線を掃くことで曲面が作られた場合,その曲面は線織面と呼ばれる.
  • {fx,fy,fz}は1つのパラメータ u の異なる値について評価され,{fx[u],fy[u],fz[u]}の形の曲線を生成する.これは,曲線を可視化する.
  • {fx,fy,fz}はパラメータが2つの場合はパラメータ uv の異なる値について評価され,点{fx[u,v],fy[u,v],fz[u,v]}から曲面を生成する.これは,曲面を可視化する.
  • 曲線と曲面は交差したり重なり合ったりするかもしれない.
  • fiを評価すると実数以外になる任意の点にはギャップが残される.
  • 限界の uminumaxvminvmaxは実数またはQuantity式でよい.
  • 領域 reg は1Dまたは2Dの任意のRegionQオブジェクトでよい.
  • ParametricPlot3Dは,Blockを使って変数 u と変数 v を局所的なものとして扱う.
  • ParametricPlot3Dは属性HoldAllを持ち,変数に特定の数値を割り当てた後でのみ f_(i), g_(i), を評価する.
  • 場合によっては,変数に特定の数値が割り当てられる前にEvaluateを使って f_(i), g_(i), を記号的に評価する方が効率的なこともある.
  • {fx,fy,fz}には,次のラッパー w を使うことができる.
  • Annotation[{fx,fy,fz},label]{fx,fy,fz}の注釈を与える
    Button[{fx,fy,fz},action]{fx,fy,fz}の曲面がクリックされたときに action を評価する
    Callout[{fx,fy,fz},label]関数にコールアウトでラベルを付ける
    Callout[{fx,fy,fz},label,pos]コールアウトを相対的な位置pos に置く
    EventHandler[{fx,fy,fz},events]{fx,fy,fz}の一般的なイベントハンドラを定義する
    Hyperlink[{fx,fy,fz},uri]関数をハイパーリンクにする
    Labeled[{fx,fy,fz},label]関数にラベルを付ける
    Labeled[{fx,fy,fz},label,pos]ラベルを相対的な位置 pos に置く
    Legended[{fx,fy,fz},label]関数を凡例で識別する
    PopupWindow[{fx,fy,fz},cont]関数にポップアップウィンドウを付ける
    StatusArea[{fx,fy,fz},label]マウスオーバーの際にステータスエリアに表示する
    Style[{fx,fy,fz},styles]関数を指定のスタイルで表示する
    Tooltip[{fx,fy,fz},label]関数にツールチップを付ける
    Tooltip[{fx,fy,fz}]関数をツールチップとして使う
  • ラッパー w は複数のレベルで適用できる.
  • w[{fx,fy,fz}]{fx,fy,fz}をラップする
    w[{{fx,fy,fz},{gx,gy,gz},}]曲線の集合をラップする
    w1[w2[]]ネストしたラッパーを使う
  • CalloutLabeledPlacedは次の位置 pos を使うことができる.
  • Automatic自動的に置かれたラベル
    Above, Below, Before, After曲面の周囲の位置
    uパラメータ u における曲面の近く
    {x,y,z}{x,y,z}の近くの位置
    Scaled[s]曲面に沿った,スケールされた位置 s
    {s,Above},{s,Below},曲線に沿った位置 s における相対的な位置
    {pos,epos}曲線の相対的な位置 pos に置かれたラベル内の epos
  • ParametricPlot3Dは,Graphics3Dと同じオプションに以下の追加・修正を加えたものが使える. [全オプションのリスト]
  • AxesTrue軸を描くかどうか
    BoundaryStyle None曲面の境界線をどのように描くか
    ColorFunction Automatic曲線や曲面の彩色の決定方法
    ColorFunctionScaling TrueColorFunctionの引数をスケールするかどうか
    EvaluationMonitor None各関数の評価時に評価する式
    Exclusions Automatic除外すべき点 u または u,v 曲線
    ExclusionsStyle None除外された点や曲線のところに何を描くか
    LabelingSize Automaticコールアウトとラベルの最大サイズ
    MaxRecursion Automatic許容される再帰分割の最大数
    Mesh Automatic各方向にいくつのメッシュ区切りを描くか
    MeshFunctions Automaticメッシュ区切りの置き方の決定方法
    MeshShading Noneメッシュ区切り間の領域の陰影付けをどうするか
    MeshStyle Automaticメッシュ区切りのスタイル
    MethodAutomatic曲面を細分化するためのメソッド
    NormalsFunction Automatic効果的な曲面の法線をどのように決めるか
    PerformanceGoal $PerformanceGoalパフォーマンスのどの面について最適化するか
    PlotLabels None曲線に使うラベル
    PlotLegends None曲面の凡例
    PlotPoints Automatic各パラメータにおけるサンプル点の初期数
    PlotRangeAutomatic含める値の範囲
    PlotStyle Automatic各オブジェクトのスタイルのためのグラフィックス指示子
    PlotTheme $PlotThemeプロットの全体的なテーマ
    RegionFunction (True&)点を含めるかどうかの決定方法
    ScalingFunctions None個々の座標をどのようにスケールするか
    TextureCoordinateFunction Automaticテクスチャ座標をどのように決めるか
    TextureCoordinateScaling TrueTextureCoordinateFunctionの引数をスケールするかどうか
    WorkingPrecision MachinePrecision内部計算に使う精度
  • 次は,PlotLegendsのよく使われる設定である.
  • None凡例は使わない
    Automatic自動的に決定された凡例
    "Expressions"f1, f2, を凡例のラベルとして使う
    {lbl1,lbl2,}lbl1, lbl2, を凡例のラベルとして使う
    Placed[lspec,]凡例の置き方を指定する
  • f_(x)のような関数はすべて,評価されるパラメータの全値に対して実数を与えなければならない.f_(x)等が実数を与えない場所では結果の曲面に穴があいてしまう.
  • デフォルト設定のPlotPoints->Automaticは,曲線ではPlotPoints->75に,曲面ではPlotPoints->{15,15}に当たる.
  • ParametricPlot3Dはまず,PlotPointsで指定された多くの等間隔のサンプル点で各関数を評価する.次に適応的アルゴリズムを用いて,追加的なサンプル点を得るために各パラメータで最高MaxRecursion回まで再分割する.
  • ParametricPlot3Dは有限個のサンプル点しか使わないことで,関数の特徴を見付けられない可能性もあるので注意されたい.結果の検証にはPlotPointsMaxRecursionの設定値を大きくしてみるとよい.
  • On[ParametricPlot3D::accbend]とすると,曲線が一定の滑らかさに達しなかった場合にParametricPlot3Dがメッセージを出すようになる.
  • デフォルト設定のMesh->Automaticは,曲線ではNoneに,曲面では15に当たる.
  • デフォルト設定のMeshFunctions->Automaticは,曲線では{#4&}に,曲面では{#4&,#5&}に当たる.
  • MeshFunctionsおよびRegionFunctionの関数に渡される引数は xyzuv である.ColorFunctionTextureCoordinateFunctionの関数には,デフォルトで,これらの引数のスケールされたバージョンが与えられる.
  • 関数は各曲線に沿ってすべて,あるいは各曲面全体で評価される.
  • 次は,ScalingFunctionsの可能な設定である.
  • {sx,sy,sz}xyz の各軸をスケールする
    {sx,sy,sz,su}u パラメータ空間をスケールする
    {sx,sy,sz,su,sv}u パラメータ空間と v パラメータ空間をスケールする
  • 次は,ScalingFunctionsの可能な設定である.
  • {sx,sy,sz}xyz の各軸をスケールする
  • 次は,よく使われる組込みのスケーリング関数 s である.
  • "Log"自動目盛ラベル付きの対数スケール
    "Log10"10のベキ乗に目盛が付いた,10を底とする対数スケール
    "SignedLog"0と負の数を含む対数に似たスケール
    "Reverse"座標の向きを逆にする
  • u パラメータ空間あるいは v パラメータ空間のスケーリングはプロットからのサンプルの取り方に影響するが,プロットの全体的な外観には影響しない.
  • ParametricPlot3DGraphics3D[GraphicsComplex[data]]を返す.
  • 3D曲面に影響するテーマ
  • "DarkMesh"色の濃いメッシュライン
    "GrayMesh"グレーのメッシュライン
    "LightMesh"色の薄いメッシュライン
    "ZMesh"垂直に配置されたメッシュライン
    "ThickSurface"曲面に厚みを与える
  • 全オプションのリスト

例題

すべて開くすべて閉じる

  (5)

パラメトリック曲面をプロットする:

パラメータ空間の曲線をプロットする:

複数のパラメトリック曲面をプロットする:

曲面に簡単なスタイリングを行う:

カットのある曲面をプロットする:

スコープ  (33)

サンプリング  (9)

関数が急激に変化するところでより多くの点がサンプルとして取られている:

プロット範囲は自動的に選択される:

関数が実数ではなくなる範囲は除外される:

関数が不連続になるところでは曲面が分断される:

PlotPointsMaxRecursionを使って適応的サンプリングを制御する:

PlotRangeを使って関心領域に焦点を当てる:

Exclusionsを使って結果の曲面を分割する:

パラメータの領域は別の領域を使って指定することができる:

2つのパラメータで:

パラメータの領域はMeshRegionで指定することができる:

ラベル付けと凡例  (10)

Calloutを使って式をラベルとして加える:

PlotLabelsを使って曲面にラベルを付ける:

任意のテキストをラベルとして使う:

曲面にラベルを付ける:

曲線に沿ってラベルを置く:

ラベルをスケールされた位置に置く:

曲面と相対的にラベルを置く:

PlotLabelsで曲線にラベルを付ける:

{x,y,z}位置にラベルを指定する:

各曲線の凡例を含める:

各曲面の凡例を含める:

Legendedを使って特定の曲線に凡例を与える:

Placedを使って凡例の場所を変える:

プレゼンテーション  (14)

複数の曲線は自動的に別々の色にされる:

異なる曲線と領域に明示的なスタイルを与える:

凡例を加えて曲線と領域を識別する:

細かい目盛,格子線,凡例のあるテーマを使う:

曲面の厚みを増す:

Opacityを使って内部構造を示し,Specularityを使って奥行き表現を加える:

ラベルを加える:

各曲線または領域にインタラクティブなTooltipを与える:

オーバーレイメッシュを作る:

メッシュレベル間の部分にスタイルを付ける:

パラメータ値で色付けする:

名前付きのカラースキームを使う:

曲線または曲面の一部を除去する:

ScalingFunctionsを使って z 軸を逆向きにするようにスケールする:

軸ではなくパラメータをスケールする:

オプション  (87)

BoundaryStyle  (4)

デフォルトでは境界は描かれない:

太い赤線の境界を使う:

曲面がRegionFunctionで切り取られたところに境界線が描かれる:

曲面がExclusionsで切り取られた部分には境界線が描かれない:

Boxed  (1)

境界ボックスの辺は描かない:

BoxRatios  (2)

実際のプロット値から側面の長さの比を選ぶ:

比を{1,1,1}とする:

ColorFunction  (5)

スケールされた , , あるいは の値で曲面に色付けする:

スケールされた , , , あるいは の値で曲面を色付けする:

名前付きの色階調度を使う:

ColorFunctionPlotStyleよりも優先順位が高い:

パラメータ のところは赤くする:

ColorFunctionScaling  (1)

絶対的な の値で色付けする:

EvaluationMonitor  (3)

ParametricPlot3Dがパラメータ空間のどこでサンプルするかを示す:

ParametricPlot3D空間のどこからサンプルするかを示す:

いくつの点がサンプルとして取られたか計算する:

Exclusions  (6)

次は,自動メソッドを使って除外部分,この場合は分枝切断線から,を計算する:

除外を計算しないように指定する:

1組の除外部分を方程式として与える:

2組の除外部分を与える:

自動計算によるものと明示的な指定によるものの両方の除外を使う:

除外する点の明示的なリストを与える:

ExclusionsStyle  (3)

境界線に太い青線のスタイルを使う:

境界線に太い青線,間の曲面に黄色を使う:

曲線の除外部分に赤線でスタイルを付ける:

LabelingSize  (2)

テキストラベルは実際の大きさで表示される:

テキストサイズを指定する:

画像ラベルはプロットに収まるように自動的にサイズ調整される:

ラベルのサイズを指定する:

MaxRecursion  (2)

曲面が急速に変化している部分を精緻化する:

曲線が急激に変化しているところを精緻化する:

Mesh  (5)

最初と最後のサンプルメッシュを示す:

パラメータ方向に等分に置かれた10のメッシュレベルを使う:

異なる方向に異なる数のメッシュラインを使う:

パラメータのメッシュに明示的な値のリストを使い, パラメータにはメッシュを使わない:

メッシュに明示的な値とスタイルを使う:

MeshFunctions  (3)

, , , 方向に等間隔のメッシュを使う:

, , , , 方向に等間隔のメッシュを使う:

方向(赤)に5本のメッシュレベルを, 方向(青)に10本のメッシュレベルを表示する:

MeshShading  (9)

セルオートマトンの配列を球にマップする:

方向に赤と青の弧を交互に使う:

Noneを使って線分を除去する:

MeshShadingPlotStyleとともに使うことができる:

MeshShadingはスタイリングに関してPlotStyleよりも優先順位が高い:

MeshShadingAutomaticにしてPlotStyleを線分に使う:

MeshShadingColorFunctionとともに使うことができる:

複数のメッシュ関数で定義された領域を塗り潰す:

FaceFormを使って曲面の側面に異なるスタイルを使う:

MeshStyle  (3)

メッシュスタイルを自動的に選択する:

方向に赤いメッシュを使う:

方向に赤いメッシュ, 方向に青いメッシュを使う:

NormalsFunction  (3)

法線は自動的に計算される:

None使ってすべての多面体にフラットシェーディングを施す:

曲面に使われる有効な法線を変える:

PerformanceGoal  (2)

より品質の高いプロットを生成する:

場合によっては品質を犠牲にしてパフォーマンスを向上させる:

PlotLabels  (6)

曲線のラベルのテキストを指定する:

Placedを使って曲線の上にラベルを置く:

Calloutを使ってリーダー線を描く:

曲線ごとに異なるラベルを置く:

PlotLabels->"Expressions"は,曲線のラベルとして関数を使う:

コールアウトを使って曲面を識別する:

曲面の位置にコールアウトのラベルを指定する:

PlotLegends  (3)

プレースホルダを使ってプロットスタイルを特定する:

特定のラベルを使う:

個別の式を使う:

Placedを使って凡例の位置を制御する:

SwatchLegendを使って外観を変える:

PlotPoints  (1)

より滑らかなプロットを得るためにより多くの初期点を使う:

PlotStyle  (4)

異なるスタイル指示子を使う:

デフォルトで,複数の曲線にはそれぞれ異なるスタイルが選択される:

異なる曲線と領域に異なるスタイルを明示的に指定する:

曲面の内側に異なるスタイルを使う:

PlotTheme  (3)

単純な目盛で明るいカラースキームのテーマを使う:

メッシュラインと境界線を取り除く:

3Dプリントのために厚みのある曲面を作る:

RegionFunction  (3)

, , , , の領域を選ぶ:

パラメータ空間で領域を選ぶ:

パラメータ空間で曲線の一部を選択する:

ScalingFunctions  (6)

デフォルトで,プロットはすべての方向が線形スケールである:

z 方向に対数スケールを使う:

シフトされた対数スケールを使って負の位置がある関数を示す:

ScalingFunctionsを使って の座標方向を逆にする:

関数とその逆関数で定義されたスケールを使う:

軸ではなく,任意のパラメータ空間をスケールする:

u パラメータをスケールする:

v パラメータをスケールする:

TextureCoordinateFunction  (4)

テクスチャはデフォルトでスケールされた のパラメータを使う:

の座標を使う:

スケールされていない座標を使う:

テクスチャを使ってパラメータがどのように曲面にマップされるかをハイライトする:

TextureCoordinateScaling  (1)

テクスチャにスケールされたあるいはスケールされていない座標を使う:

WorkingPrecision  (2)

機械精度演算で関数を評価する:

任意精度演算で関数を評価する:

アプリケーション  (7)

平面を含む簡単なパラメトリック曲面:

円筒:

円錐:

球:

楕円体:

トーラス:

メビウス(Möbius)の環を含む,よく知られた曲面:

クラインの壷:

軟体動物の殻の成長のモデルを実装する [詳細]

サポートする(罫線を引いた)曲面を与えて空間の曲線をハイライトする:

両方のプロットを同時に表示する:

ローレンツの方程式 [詳細]:

曲率とねじれからパラメータ曲線を計算する [詳細]

結果の空間曲線をプロットする:

エネッパー(Enneper)の極小曲面:

特性と関係  (6)

Plot3Dは曲面についてのParametricPlot3Dの特殊ケースである:

円柱座標と球座標にRevolutionPlot3DSphericalPlot3Dを使う:

二次元の曲線と領域にParametricPlotを使う:

陰的に定義された曲面と領域にContourPlot3DRegionPlot3Dを使う:

データにListPlot3DListSurfacePlot3Dを使う:

ListLinePlot3Dを使って点のリストを通る曲線をプロットする:

考えられる問題  (3)

複数の被覆を持つ曲面は思いがけない動作をすることがある:

閉じた曲面にBoundaryStyleMeshStyleを一緒に使う:

自動的なPlotRangeはパラメータ化に依存する:

別のパラメータ化を使う:

またはPlotRange->Allを使う:

おもしろい例題  (1)

球体のバリエーション:

Wolfram Research (1991), ParametricPlot3D, Wolfram言語関数, https://reference.wolfram.com/language/ref/ParametricPlot3D.html (2022年に更新).

テキスト

Wolfram Research (1991), ParametricPlot3D, Wolfram言語関数, https://reference.wolfram.com/language/ref/ParametricPlot3D.html (2022年に更新).

CMS

Wolfram Language. 1991. "ParametricPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ParametricPlot3D.html.

APA

Wolfram Language. (1991). ParametricPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParametricPlot3D.html

BibTeX

@misc{reference.wolfram_2024_parametricplot3d, author="Wolfram Research", title="{ParametricPlot3D}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ParametricPlot3D.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_parametricplot3d, organization={Wolfram Research}, title={ParametricPlot3D}, year={2022}, url={https://reference.wolfram.com/language/ref/ParametricPlot3D.html}, note=[Accessed: 21-November-2024 ]}