LineIntegralConvolutionPlot[{{vx,vy},image},{x,xmin,xmax},{y,ymin,ymax}]
产生一个线积分卷积图形,image 和关于 x、y 的矢量场 {vx,vy} 的卷积.
LineIntegralConvolutionPlot[{vx,vy},{x,xmin,xmax},{y,ymin,ymax}]
产生白噪音和矢量场 {vx,vy} 的一个线积分卷积图形.
LineIntegralConvolutionPlot
LineIntegralConvolutionPlot[{{vx,vy},image},{x,xmin,xmax},{y,ymin,ymax}]
产生一个线积分卷积图形,image 和关于 x、y 的矢量场 {vx,vy} 的卷积.
LineIntegralConvolutionPlot[{vx,vy},{x,xmin,xmax},{y,ymin,ymax}]
产生白噪音和矢量场 {vx,vy} 的一个线积分卷积图形.
更多信息和选项
- LineIntegralConvolutionPlot 创建一个栅格化 image,然后根据矢量函数 {vx,vy} 定义的域对每个像素进行线积分卷积.
- LineIntegralConvolutionPlot 与 Graphics 的选项相同,并附加下列选项和变化: [所有选项的列表]
-
AspectRatio 1 高宽比 BoxRatios Automatic 模拟光照的三维框的比率 ColorFunction Automatic 如何着色背景密度 ColorFunctionScaling True 是否缩放传递给 ColorFunction 的参数 EvaluationMonitor None 每次函数运算时,计算的表达式 Frame True 是否在图形周围绘制一个边框 FrameTicks Automatic 边框刻度标记 LightingAngle None 模拟光源的实际角度 LineIntegralConvolutionScale Automatic 沿着流线的卷积的长度 Method Automatic 用于绘制的方法 PerformanceGoal $PerformanceGoal 优化执行的性能方面 PlotLegends None 颜色梯度的图例 PlotRange {Full,Full} 包含 x,y 值的范围 PlotRangePadding Automatic 如何填充值的范围 PlotTheme $PlotTheme 图线的整体主题 RasterSize Automatic 栅格化图像的像素宽度 WorkingPrecision MachinePrecision 内部计算的精度 - 如果没有指定 image,或没有栅格化,则创建一个光栅,光栅的大小由选项 RasterSize 确定.
- 除了 LightingAngle->None 的设置外,使用模拟光照,每个点的高度根据矢量场的范数确定.
- ColorFunction 的参数是 x、y、vx、vy、Norm[{vx,vy}].
所有选项的列表
范例
打开所有单元 关闭所有单元基本范例 (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}]house = ExampleData[{"TestImage", "House"}]LineIntegralConvolutionPlot[{{-y, x}, house}, {x, -3, 3}, {y, -3, 3}]范围 (12)
采样 (5)
image = Image[255 {BoxMatrix[20, 100], BoxMatrix[30, 100], BoxMatrix[40, 100]}, "Byte", ColorSpace -> "RGB", Interleaving -> False]LineIntegralConvolutionPlot[{{x + y, x - y}, image
}, {x, 1, 100}, {y, 1, 100}, RasterSize -> 250, LineIntegralConvolutionScale -> 25]LineIntegralConvolutionPlot[{{y, -Sin[x]}, \!\(\*GraphicsBox[«3»]\)}, {x, -4, 4}, {y, -3, 3}]s = Image[Normal[1 - SparseArray[{{i_, i_} -> 1, RandomInteger[{1, 99}, {1000, 2}] -> ConstantArray[1, 1000]}]]]LineIntegralConvolutionPlot[{{y, x - x ^ 3}, s}, {x, -2, 2}, {y, -2, 2}, LineIntegralConvolutionScale -> 1]Table[LineIntegralConvolutionPlot[{{-1 - x ^ 2 + y, 1 + x - y ^ 2}, k}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> k], {k, {Automatic, {Automatic, 320}, {Automatic, 320, 6}, {Automatic, 320, 64}}}]Table[LineIntegralConvolutionPlot[{{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {Automatic, 320, 64}}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> s, LineIntegralConvolutionScale -> s], {s, {Automatic, 0.3, 1.0, 3}}]演示 (7)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, StreamPoints -> Coarse, StreamStyle -> LightBlue, StreamColorFunction -> None]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, VectorPoints -> 10, VectorColorFunction -> None, VectorStyle -> White]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, VectorPoints -> RandomReal[{-3, 3}, {200, 2}], VectorStyle -> White, VectorColorFunction -> None]Table[LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> c, ColorFunction -> c], {c, {Hue, "Pastel"}}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]将灯光角度固定在 0(图形右部),并使高度从 0 到
变化:
Table[LineIntegralConvolutionPlot[{{y, -x}, Sin[x ^ 2 + y ^ 2]}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> ϕ, LightingAngle -> {0, ϕ}], {ϕ, 0, Pi / 2, Pi / 4}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotTheme -> "Detailed"]选项 (72)
AspectRatio (4)
默认情况下,LineIntegralConvolutionPlot 使用相同的宽和高:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> 1 / 2]AspectRatioAutomatic 根据绘图范围确定高宽比:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> Automatic]AspectRatioFull 调整高度和宽度以紧密适合其他结构:
plot = LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> Full];
{Framed[Pane[plot, {75, 100}]], Framed[Pane[plot, {100, 100}]], Framed[Pane[plot, {100, 75}]]}Axes (3)
默认情况下,LineIntegralConvolutionPlot 使用边框而不是坐标轴:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True]{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> {True, False}], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> {False, True}]}AxesStyle (4)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, AxesStyle -> Yellow]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, AxesStyle -> {{Thick, Blue}, {Thick, Yellow}}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> Yellow]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> Yellow]Background (1)
ColorFunction (5)
使用 Hue 对场量进行着色:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> Hue]使用 ColorData 中的任意已命名颜色梯度:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "Pastel"]使用 ColorData 的预定义颜色梯度:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> Function[{x, y, vx, vy, n}, ColorData["SolarColors"][x y]]]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]使用 ColorFunctionScaling->False 得到尺度未调整的值:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]ColorFunctionScaling (4)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> GrayLevel]使用 ColorFunctionScaling->False 得到尺度未调整的值:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]在
方向上使用尺度未调整的坐标,在
方向上使用尺度调整后的坐标:
LineIntegralConvolutionPlot[{y Cos[x y], x Cos[x y]}, {x, -3, 3}, {y, -3, 3}, ColorFunctionScaling -> {False, True}, ColorFunction -> Function[{x, y, vx, vy, n}, Hue[x, y, 1]]]LineIntegralConvolutionPlot[{y Cos[x y], x Cos[x y]}, {x, -3, 3}, {y, -3, 3}, ColorFunctionScaling -> {True, True, True, True, False}, ColorFunction -> Function[{x, y, vx, vy, n}, Hue[n, y, 1]]]EvaluationMonitor (1)
Frame (1)
FrameLabel (1)
FrameTicks (8)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, FrameTicks -> Automatic]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, FrameTicks -> None]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, FrameTicks -> All]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, FrameTicks -> {{None, All}, {None, All}}]LineIntegralConvolutionPlot[{Sin[x y], Cos[x y]}, {x, -π, π}, {y, -π, π}, FrameTicks -> {{Table[k, {k, -π, π, π / 2}], None}, {Table[k, {k, -π, π, π / 4}], None}}]LineIntegralConvolutionPlot[{Sin[x y], Cos[x y]}, {x, -π, π}, {y, -π, π}, FrameTicks -> {{{-π, -180°}, {-π / 2, -90°}, {0, 0°}, {π / 2, 90°}, {π, 180°}}, None}]LineIntegralConvolutionPlot[{Sin[x y], Cos[x y]}, {x, -π, π}, {y, -π, π}, FrameTicks -> {{{π / 2, 90°, {.4, .05}, Red}, {-π / 2, -90°, {.4, .05}, Thick}, {0, 0°, {.4, .05}, Directive[Red, Dashed]}}, None}]使用 FrameTicksStyle 指定包括刻度标签在内的整体边框刻度风格:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, FrameTicksStyle -> Directive[Orange, 12]]ImageSize (7)
使用命名大小,例如 Tiny、Small、Medium 和 Large:
{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> Tiny], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> Small]}{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> 150], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> 1.5, ImageSize -> 150]}{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> {Automatic, 150}], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> 2, ImageSize -> {Automatic, 150}]}{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> UpTo[200]], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> 2, ImageSize -> UpTo[200]]}LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> {200, 200}, Background -> StandardGray]设置 AspectRatioFull 将填充可用空间:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> Full, ImageSize -> {200, 250}, Background -> StandardGray]{LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> {UpTo[150], UpTo[100]}], LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, AspectRatio -> 2, ImageSize -> {UpTo[150], UpTo[100]}]}Framed[Pane[LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> Full, Background -> StandardGray], {200, 100}]]Framed[Pane[LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, ImageSize -> {Scaled[0.5], Scaled[0.5]}, Background -> StandardGray], {200, 100}]]LightingAngle (2)
Table[LineIntegralConvolutionPlot[{{y, -x}, Cos[x ^ 2 + y ^ 2]}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> θ, LightingAngle -> {θ, 0}, Epilog -> {Yellow, PointSize[.05], Point[3{Cos[θ], Sin[θ]}]}], {θ, 0, Pi, Pi / 2}]Table[LineIntegralConvolutionPlot[{{y, -x}, Sin[x ^ 2 + y ^ 2]}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> ϕ, LightingAngle -> {0, ϕ}], {ϕ, 0, Pi / 2, Pi / 4}]LineIntegralConvolutionScale (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, LineIntegralConvolutionScale -> Automatic]Table[LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> s, LineIntegralConvolutionScale -> s], {s, {0.3, 1.0, 3}}]PerformanceGoal (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PerformanceGoal -> "Quality"]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PerformanceGoal -> "Speed"]PlotLegends (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLegends -> Automatic]图例会自动选择 ColorFunction 的设置:
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLegends -> Automatic, ColorFunction -> "Rainbow"]PlotRange (7)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> Full]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> 2]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> {{-1, 2}, Automatic}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> {{0, Full}, Automatic}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> {Full, {0, 2}}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> {Full, {Full, 5}}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRange -> {{-2, 1.5}, {-1, 2}}]PlotRangePadding (6)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> Automatic]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> None]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> 0.5]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> Scaled[0.1]]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> {1, 0.5}]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotRangePadding -> {Automatic, 1.5}]PlotTheme (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotTheme -> "Marketing"]LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotTheme -> "Marketing", ColorFunction -> "TemperatureMap"]RasterSize (2)
LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, RasterSize -> Automatic]Table[LineIntegralConvolutionPlot[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, RasterSize -> r], {r, {100, 200, 300}}]Ticks (4)
LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, Ticks -> None]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, Ticks -> {{-1, 1, 2}, {-2, 1, 2}}]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, Ticks -> {{{-1, -a}, {1, a}, {2, b}}, {{-2, -b}, {1, a}, {2, b}}}]TicksStyle (4)
LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Bold]]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, TicksStyle -> {Directive[Red, Bold], Directive[Yellow, Bold]}]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, TicksStyle -> Directive[White], Ticks -> {{{-1, -a, .1}, {1, a, .2}, {2, b, .3}}, {{-2, -b, .05}, {1, a, .1}, {2, b, .2}}}]LineIntegralConvolutionPlot[{{Tan[x], Cos[y]}, ExampleData[{"TestImage", "House"}]}, {x, -3, 3}, {y, -3, 3}, Frame -> False, Axes -> True, Ticks -> {{{-1, -a, .1, Directive[White, Thick]}, {1, a, .2, Directive[White]}, {2, b, .3, Directive[Yellow]}}, {{-2, -b, .05, Directive[White, Thick]}, {1, a, .1, Directive[White]}, {2, b, .2, Directive[Red, Thick]}}}]应用 (5)
Manipulate[Module[{sol, x, t},
sol = First[NDSolve[{x''[t] + x'[t] / 2 + Sin[x[t]] == 0, Thread[{x[0], x'[0]} == point]}, x, {t, 0, 10}]];
Show[lic, ParametricPlot[Evaluate[{x[t], x'[t]} /. sol], {t, 0, 10}, PlotStyle -> Pink], PlotRange -> {{-4, 4}, {-3, 3}}]], {{point, {1, 1}}, Locator}, Initialization :> {lic = LineIntegralConvolutionPlot[{y, -Sin[x] - y / 2}, {x, -4, 4}, {y, -3, 3}]}]lmsp = {(| | |
| - | - |
| 1 | 0 |
| 0 | 2 |), (| | |
| - | - |
| 1 | 1 |
| 0 | 1 |), (| | |
| -- | - |
| 0 | 1 |
| -1 | 1 |), (| | |
| -- | - |
| 0 | 1 |
| -1 | 0 |), (| | |
| - | -- |
| 1 | 0 |
| 0 | -2 |)};
names = Map[Text, {"Nodal source", "Degenerate source", "Spiral source", "Center", "Saddle"}];
cases = Transpose[{lmsp, names}];TabView[ParallelTable[MatrixForm[First[m]] -> LineIntegralConvolutionPlot[Evaluate[First[m].{x, y}], {x, -1, 1}, {y, -1, 1}, PlotLabel -> Last[m]], {m, cases}]]f[x_, y_] := (1 - x) ^ 2 + 100 (y - Sin[π x]) ^ 2;
L = 1.5;fplot = Show[LineIntegralConvolutionPlot[Evaluate[D[f[x, y], {{x, y}}]], {x, -L, L}, {y, -L, L}], ContourPlot[f[x, y], {x, -L, L}, {y, -L, L}, ContourShading -> None, ContourStyle -> Pink]]Manipulate[Module[{steps},
steps = Reap[Quiet[FindMinimum[f[x, y], Evaluate[Transpose[{{x, y}, p0}]], Method -> method, StepMonitor :> Sow[{x, y}]]]][[2, 1]];
steps = Prepend[steps, p0];
Show[fplot, Graphics[{Green, Line[steps], {PointSize[0.025], Point[Last[steps]]}}], PlotRange -> {{-L, L}, {-L, L}}]], {{p0, {-1, -1}}, Locator}, {method, {Automatic, "Newton", "GaussNewton", "QuasiNewton", "PrincipalAxis"}}, Initialization :> (CompoundExpression[...])]应用一种来自 ExampleData 的纹理:
image = ExampleData[{"Texture", "Bricks"}];
Show[image, ImageSize -> 150]LineIntegralConvolutionPlot[{{Cos[x^2 + y], 1 + x - y^2}, image}, {x, -3, 3}, {y, -3, 3}]LineIntegralConvolutionPlot[{{Cos[x^2 + y], 1 + x - y^2}, Rasterize["Hello"]}, {x, -3, 3}, {y, -3, 3}, Frame -> None]属性和关系 (4)
用 ListLineIntegralConvolutionPlot 对数据绘图:
data = Table[{{x, y}, {y, x - x ^ 2}}, {x, -1.5, 1.5, 0.2}, {y, -2, 2, 0.2}];ListLineIntegralConvolutionPlot[data]Table[f[{-1 - x ^ 2 + y, 1 + x - y ^ 2}, {x, -3, 3}, {y, -3, 3}, PlotLabel -> f], {f, {VectorPlot, VectorDensityPlot, StreamPlot, StreamDensityPlot}}]data = Table[{{x, y} = RandomReal[{-1.5, 1.5}, {2}], {{y, x - x ^ 3}, Abs[x + y]}}, {300}];Table[f[data, PlotLabel -> f], {f, {ListVectorPlot, ListVectorDensityPlot, ListStreamPlot, ListStreamDensityPlot}}]使用 VectorPlot3D 和 StreamPlot3D 可视化三维向量场:
{VectorPlot3D[{z, x, x + y}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}], StreamPlot3D[{z, x, x + y}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}]}巧妙范例 (1)
LineIntegralConvolutionPlot[{{Cos[x^2 + y], 1 + x - y^2}, {"noise", 500, 500}}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "BeachColors", LightingAngle -> 0, LineIntegralConvolutionScale -> 3, Frame -> False]LineIntegralConvolutionPlot[{{Cos[x ^ 2 + y ^ 3], Cos[y ^ 2 + x ^ 3]}, {Automatic, 500, 64}}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "Rainbow", LightingAngle -> 0, Frame -> False]LineIntegralConvolutionPlot[{{Sin[Cos[3 y] + 3 x], Cos[Sin[3 y] + 3 x]}, {Automatic, 500, 64}}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "RoseColors", Frame -> False, LightingAngle -> 0]LineIntegralConvolutionPlot[{{Sin[Cos[3 y] + Sin[3 x]], Cos[Sin[3 y] + Cos[3 x]]}, {Automatic, 500, 64}}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "DarkRainbow", Frame -> False, LightingAngle -> 0]LineIntegralConvolutionPlot[{{-Cos[3 y], Sin[3 x]}, {Automatic, 500, 265}}, {x, -3, 3}, {y, -3, 3}, ColorFunction -> "AlpineColors", LightingAngle -> 0, Frame -> False, LineIntegralConvolutionScale -> 2]相关指南
-
▪
- 向量可视化
文本
Wolfram Research (2008),LineIntegralConvolutionPlot,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html (更新于 2014 年).
CMS
Wolfram 语言. 2008. "LineIntegralConvolutionPlot." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html.
APA
Wolfram 语言. (2008). LineIntegralConvolutionPlot. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html 年
BibTeX
@misc{reference.wolfram_2026_lineintegralconvolutionplot, author="Wolfram Research", title="{LineIntegralConvolutionPlot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html}", note=[Accessed: 07-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_lineintegralconvolutionplot, organization={Wolfram Research}, title={LineIntegralConvolutionPlot}, year={2014}, url={https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html}, note=[Accessed: 07-November-2026]}