Mathematica > 関数の可視化 >

ContourPlot3D

ContourPlot3D[f, {x, xmin, xmax}, {y, ymin, ymax}, {z, zmin, zmax}]
xyz の関数としての f の3D等高線プロットを作成する.
ContourPlot3D[fg, {x, xmin, xmax}, {y, ymin, ymax}, {z, zmin, zmax}]
f=g である曲面の等高線をプロットする.
  • ContourPlot3Dによってプロットされた曲面上の等高線には不連続な部分が含まれてもよい.
  • デフォルトにより,ContourPlot3Dはそれぞれの等高線レベルを不透明な白い曲面として表示する.法線は外側を向く.
  • ContourPlot3Dは,実質的にBlockを使い変数 x と変数 y を局所的なものとして扱う.
  • ContourPlot3Dには属性HoldAllがあり,xyzに特定の数値を割り当てた後ではじめてfgを評価する.
  • 場合によっては,xyz に特定の数値が割り当てられる前にEvaluateを使って fg を記号的に評価した方がより効率的である.
  • f を評価するとNoneになる範囲には何もプロットされない.
  • ContourPlot3DGraphics3Dのオプションに以下の追加・変更を加えたものを使うことができる.
AxesTrue軸を描くかどうか
BoundaryStyleAutomatic領域の境界をどのように描くか
BoxRatios{1,1,1}境界3Dボックスの割合
ColorFunctionAutomatic等高面をどのように彩色するか
ColorFunctionScalingTrueColorFunctionの引数をスケールするかどうか
ContoursAutomaticどの等高線の曲面を表示するか,またその数
ContourStyleWhite等高線の曲面のスタイル
EvaluationMonitorNone各関数の評価時に評価する式
MaxRecursionAutomatic許容される再帰的部分分割の最大数
MeshAutomatic各方向に何本のメッシュラインを描くか
MeshFunctions{#1&,#2&,#3&}メッシュの区切りの位置をどのように決めるか
MeshShadingNoneメッシュ区切り間の領域の陰影付けをどうするか
MeshStyleAutomaticメッシュラインのスタイル
MethodAutomatic等高線の曲面を精緻化するためのメソッド
NormalsFunctionAutomatic効果的な曲面法線をどのように決定するか
PerformanceGoal$PerformanceGoal最適化しようとするパフォーマンスの局面
PlotPointsAutomatic各方向の最初の段階でのサンプル点の数
PlotRange{Full,Full,Full,Automatic}含む値の範囲
RegionFunction(True&)点を含めるかどうかをどのように決めるか
WorkingPrecisionMachinePrecision内部計算に使われる精度
  • ContourPlot3Dはまず,PlotPointsで指定された等間隔のサンプル点の3Dグリッドで f を評価する.次に適応的アルゴリズムを用いて,滑らかな等高線を得るために最高MaxRecursion回まで再帰的に部分分割する.
  • ContourPlot3Dは有限個のサンプル点しか使わないので,関数の特徴を見付けられない可能性もあるので注意されたい.結果の検証にはPlotPointsMaxRecursionの設定値を大きくしてみるとよい.
  • MeshFunctionsRegionFunctionの関数に渡される引数は xyzf である.ColorFunctionの関数には,デフォルトで,これらの引数をスケールしたものが与えられる.
3D等高曲面をプロットする:
In[1]:=
Click for copyable input
Out[1]=
 
複数の等高曲面をプロットする:
In[1]:=
Click for copyable input
Out[1]=
 
複数の陰的曲面,この場合は単位ノルム曲面を示す:
In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
 
特徴を強調するためにスタイル付けする:
In[1]:=
Click for copyable input
Out[1]=
バージョン 6 の新機能
© 2008 Wolfram Research, Inc. japanese.gif
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team