Volume
更多信息和选项
- 可被嵌入任何大于或者等于 3 的维度中.
- 在 Volume[x,{s,smin,smax},{t,tmin,tmax},{u,umin,umax}] 中,如果 x 是一个标量, Volume 将会返回参数化的三区域 {s,t,u,x} 的体积.
- Volume 的第五个参数中的坐标图可被指定为三元组 {coordsys,metric,dim},这和 CoordinateChartData 的第一个参数是一样的. 省略 dim 的缩写形式也可被使用.
- 可给出以下选项:
-
AccuracyGoal Infinity 寻求绝对准确度的数字 Assumptions $Assumptions 对于参数的假设 GenerateConditions Automatic 是否产生参数的条件 PerformanceGoal $PerformanceGoal 尝试优化的性能方面 PrecisionGoal Automatic 寻求精度的数字 WorkingPrecision Automatic 内部计算时使用的精度 - 符号式积分极限被假定为实数和有序的. 符号式坐标图参数被假定位于 CoordinateChartData 的属性 "ParameterRangeAssumptions" 指定的范围内.
范例
打开所有单元 关闭所有单元基本范例 (4)
Volume[Ball[]]Region[Ball[]]Volume[Simplex[3]]Region[Simplex[3]]Volume[{s, t, u}, {s, 0, a}, {t, 0, b}, {u, 0, c}]Volume[{r, t, z}, {r, 0, R}, {t, 0, 2Pi}, {z, 0, zMax}, "Cylindrical"]范围 (23)
特殊区域 (7)
Cuboid 的体积:
Volume[Cuboid[{Subscript[l, x], Subscript[l, y], Subscript[l, z]}, {Subscript[u, x], Subscript[u, y], Subscript[u, z]}]]ℛ = Cuboid[{0, 0, 0}, {3, 2, 1}];
Volume[ℛ]Region[ℛ]ℛ = Parallelepiped[{0, 0, 0}, {{1, 0, 0}, {1, 1, 0}, {0, 1, 1}}];
Volume[ℛ]Region[ℛ]三维空间中的 Simplex:
Volume[Simplex[3]]Region[Simplex[3]]Volume[Simplex[{{0, 0, 0, 0}, {0, 0, 1, 1}, {1, 1, 0, 0}, {0, 1, 1, 0}}]]Ball:
Volume[Ball[{Subscript[c, x], Subscript[c, y], Subscript[c, z]}, r]]ℛ = Ball[{0, 0, 0}, 1];
Volume[ℛ]Region[ℛ]Volume[Ellipsoid[{Subscript[c, x], Subscript[c, y], Subscript[c, z]}, {Subscript[r, x], Subscript[r, y], Subscript[r, z]}]]ℛ = Ellipsoid[{0, 0, 0}, {3, 2, 1}];
Volume[ℛ]Region[ℛ]Volume[Cylinder[{{Subscript[x, 1], Subscript[y, 1], Subscript[z, 1]}, {Subscript[x, 2], Subscript[y, 2], Subscript[z, 2]}}, r]]ℛ = Cylinder[{{0, 0, 0}, {0, 0, 2}}, 1];
Volume[ℛ]Region[ℛ]Cone:
Volume[Cone[{{Subscript[x, 1], Subscript[y, 1], Subscript[z, 1]}, {Subscript[x, 2], Subscript[y, 2], Subscript[z, 2]}}, r]]ℛ = Cone[{{0, 0, 0}, {0, 0, 2}}, 1];
Volume[ℛ]Region[ℛ]公式区域 (2)
表示为 ImplicitRegion 的球的体积:
Volume[ImplicitRegion[x^2 + y^2 + z^2 ≤ 1, {x, y, z}]]Volume[ImplicitRegion[x^2 + y^2 ≤ 1, {x, y, {z, 0, 2}}]]球的体积表示为 ParametricRegion:
ℛ = ParametricRegion[{r Cos[θ]Cos[ϕ], r Sin[θ]Cos[ϕ], r Sin[ϕ]}, {{θ, 0, 2π}, {ϕ, -π / 2, π / 2}, {r, 0, 1}}];Volume[ℛ]Volume[ParametricRegion[{r(1 - t^2/1 + t^2), r(2t/1 + t^2), z}, {t, {r, 0, 1}, {z, 0, 2}}]]网格区域 (2)
MeshRegion 的体积:
DelaunayMesh[RandomReal[1, {20, 3}]]Volume[%]BoundaryMeshRegion 的体积:
ConvexHullMesh[RandomReal[1, {20, 3}]]Volume[%]导出区域 (3)
RegionIntersection 的体积:
ℛ = RegionIntersection[Ball[{0, 0, 0}, 1], Ball[{0, 0, 1}, 1]];Region[ℛ]Volume[ℛ]TransformedRegion 的体积:
ℛ = TransformedRegion[Ball[{0, 0, 0}, 1], ScalingTransform[{a, b, c}]];Region[ℛ /. Thread[{a, b, c} -> {3, 2, 1}]]Volume[ℛ]RegionBoundary 的体积:
RegionBoundary[Ball[{0, 0, 0, 0}, 1]]Volume[%]参数化公式 (6)
Volume[{3r Cos[ψ], 2r Sin[θ]Sin[ψ], r Cos[θ]Sin[ψ]}, {r, 0, 1}, {θ, 0, 2Pi}, {ψ, 0, Pi}]ParametricPlot3D[{3 Cos[ψ], 2Sin[θ]Sin[ψ], Cos[θ]Sin[ψ]}, {θ, 0, 2Pi}, {ψ, 0, Pi}]Volume[{r, t, p}, {r, 1, 2}, {t, 0, Pi / 2} , {p, 0, 2Pi}, "Spherical"]ParametricPlot3D[CoordinateTransform[ "Spherical" -> "Cartesian", {r, t, p}] /. {{r -> 1}, {r -> 2}}//Evaluate, {t, 0, Pi / 2}, {p, 0, 2Pi}, PlotTheme -> "Minimal", PlotStyle -> Opacity[.5]]Volume[{(5 + 2 r Sin[p])Cos[t], (5 + 2 r Sin[p])Sin[t], 5 Cos[p]}, {r, 0, 1}, {t, 0, 2Pi}, {p, 0, 2Pi} ]ParametricPlot3D[{(5 + 2Sin[p])Cos[t], (5 + 2Sin[p])Sin[t], 2Cos[p]}, {t, 0, 2Pi}, {p, 0, 2Pi} ]Volume[{3r Sin[t], 3r Cos[t], 2Sin[p], 2 Cos[p]}, {r, 0, 1}, {t, 0, 2Pi}, {p, 0, 2Pi}]Volume[w ^ 2 + x ^ 2 + y ^ 2, {w, -1, 1.}, {x, -2, 2.}, {y, -3, 3.}]Volume[{s, t, u}, {s, 0, ∞}, {t, 0, ∞}, {u, 0, ∞}, {"Stereographic", {"Sphere", 1}}]CSG Regions (1)
线性 CSGRegion 的体积:
CSGRegion["Difference", {Cube[2], Cube[{1, 0, 1}, 3]}]Volume[%]CSGRegion["Intersection", {Ball[], Ball[{0, 0, 1}]}]SurfaceArea[%]Subdivision Regions (2)
一个 SubdivisionRegion 的体积:
SubdivisionRegion[Cube[]]Volume[%]levels = Table[SubdivisionRegion[Cube[], i], {i, 0, 3}]ListPlot[Volume /@ levels, ...]选项 (6)
AccuracyGoal (1)
ℛ = Region@ImplicitRegion[(x^2 + (9/4)y^2 + z^2 - 1)^3 - x^2z^3 - (9/80)y^2z^3 <= 0, {x, y, z}]volume1 = Volume[ℛ]可以使用 AccuracyGoal 选项来更改默认的绝对容差. 在这里,一旦超过精度目标准则,体积计算就会停止:
volume2 = Volume[ℛ, AccuracyGoal -> 3]volume1 - volume2Assumptions (1)
Volume[{(1 - z / c) r a Cos[t], (1 - z / c) r b Sin[t], z}, {r, 0, 1}, {t, 0, 2Pi}, {z, 0, c}]Volume[{(1 - z / c) r a Cos[t], (1 - z / c) r b Sin[t], z}, {r, 0, 1}, {t, 0, 2Pi}, {z, 0, c}, Assumptions -> a > 0 && b > 0]Block[{a = 3, b = 2, c = 5}, RegionPlot3D[ParametricRegion[{(1 - z / c )r a Cos[t], (1 - z / c) r b Sin[t], z}, {{r, 0, 1}, {t, 0, 2Pi}, {z, 0, 5}}], Axes -> True, PlotPoints -> 51, PlotRange -> {{-a, a}, {-a, a}, {0, c}}]]PrecisionGoal (1)
可以通过 PrecisionGoal 指定所寻求的有效精度位数:
Table[Volume[ImplicitRegion[(x^2 + (9/4)y^2 + z^2 - 1)^3 - x^2z^3 - (9/80)y^2z^3 <= 0, {x, y, z}], PrecisionGoal -> prec], {prec, 1, 5}]ListPlot[%, PlotRange -> All]PerformanceGoal (1)
ℛ = Region@ImplicitRegion[(x^2 + (9/4)y^2 + z^2 - 1)^3 - x^2z^3 - (9/80)y^2z^3 <= 0, {x, y, z}]使用 PerformanceGoal"Speed" 以尝试快速计算体积:
(volume1 = Volume[ℛ, PerformanceGoal -> "Speed"])//Timing使用 PerformanceGoal"Performance" 以尝试计算出具有尽可能多正确数字的结果:
(volume2 = Volume[ℛ, PerformanceGoal -> "Quality"])//TimingWorkingPrecision (2)
用机器算术计算 Volume:
Volume[ImplicitRegion[x ^ 4 + y ^ 4 + z ^ 4 - x y z <= 1, {x, y, z}], WorkingPrecision -> MachinePrecision]Volume[ImplicitRegion[x ^ 4 + y ^ 4 + z ^ 4 - x y z <= 1, {x, y, z}], WorkingPrecision -> ∞]用 30 位精度计算 Volume:
Volume[{a Cos[t], a Sin[t], b Sin[t]}, {t, 0, 2Pi}, {a, 0, 1}, {b, 0, 1}, WorkingPrecision -> 30]应用 (6)
f[x_, y_, z_] := x y + z;ℛ = ParametricRegion[{x, y, z, f[x, y, z]}, {{x, 0, 1}, {y, 0, 1}, {z, 0, 1}}];RegionDimension[ℛ]Volume[ℛ]Volume[f[x, y, z], {x, 0, 1}, {y, 0, 1}, {z, 0, 1}]ℛ = PolyhedronData["Tetrahedron", "Polyhedron"]Volume[ℛ]Volume[{ξ, η, φ}, {η, 0, Pi}, {φ, 0, 2Pi}, {ξ, 0, ArcTanh[b / a]}, {{"OblateSpheroidal", aSqrt[1 - (b^2/a^2)]}}]% /. {a -> GeodesyData["ITRF00", "SemimajorAxis"], b -> GeodesyData["ITRF00", "SemiminorAxis"]}求一个 Ball 内的甲醇的质量:
ℛ = Ball[{0, 0, 0}, Quantity[3, "Centimeters"]];ChemicalData["Methanol", "Density"]Volume[ℛ]求一个 Cone 的平均密度(其非均匀质量密度定义为
):
ℛ = Cone[{{0, 0, 0}, {0, 0, h}}, r];Simplify[Integrate[x ^ 2 + y ^ 2 + z ^ 2, Element[{x, y, z}, ℛ]] / Volume[ℛ], h > 0 && r > 0]计算一个装有
个半径为 1.75 英寸的网球的罐子里的空余空间体积:
r = Quantity[1.75, "Inches"];
height = 2 n r;can = Cylinder[{{0, 0, 0}, {0, 0, height}}, r];
ball = Ball[{0, 0, 0}, r];Volume[can] - n Volume[ball]n = 3;Graphics3D[{{Opacity[0.3], can}, Table[Ball[{0, 0, 2 r k - r}, r], {k, n}]} /. q_Quantity :> QuantityMagnitude[q], Boxed -> False]属性和关系 (5)
Volume 是一个非负的量:
Volume[{r Cos[φ] Sin[θ], r Sin[θ] Sin[φ], r Cos[θ]}, {r, 0, 1}, {θ, 0, π}, {φ, 0, 2Pi}]Volume[{r Cos[φ] Sin[θ], r Sin[θ] Sin[φ], r Cos[θ]}, {r, 0, 1}, {θ, 0, π}, {φ, 0, -2Pi}]对于三维区域,Volume[r] 与 RegionMeasure[r] 相同:
ℛ = Ball[3];{Volume[ℛ], RegionMeasure[ℛ]}一般来说, Volume[r] 与 RegionMeasure[r,3] 等同:
{Volume[Sphere[{0, 0, 0, 0}]], RegionMeasure[Sphere[{0, 0, 0, 0}], 3]}Volume[x,s,t,u,c] 相当于 RegionMeasure[x,{s,t,u},c]:
Volume[{s t ^ 2, Pi / 2, u, s t}, {s, 0, 1}, {t, 0, 2Pi}, {u, 0, 1}, "Hyperspherical"]RegionMeasure[{s t ^ 2, Pi / 2, u, s t}, {{s, 0, 1}, {t, 0, 2Pi}, {u, 0, 1}}, "Hyperspherical"]对于一个三维区域,Volume 被定义为 1 在那个区域的积分:
ℛ = Ellipsoid[{1, 2, 3}, {4, 5, 6}];
{Volume[ℛ], Integrate[1, x∈ℛ]}若要获取四维区域的曲面体积,可使用 RegionBoundary:
ℛ = Ball[4];
Volume[RegionBoundary[ℛ]]可能存在的问题 (2)
Volume 的参数形式会计算可能的多个覆盖面的体积:
Volume[{r Cos[φ] Sin[θ], r Sin[θ] Sin[φ], r Cos[θ]}, {r, 0, 1}, {θ, 0, π}, {φ, 0, 10Pi}]Volume[ParametricRegion[{r Cos[φ] Sin[θ], r Sin[θ] Sin[φ], r Cos[θ]}, {{r, 0, 1}, {θ, 0, π}, {φ, 0, 10Pi}}]]Volume[Ball[{0, 0, 0}, 1]]维度不是 3 的区域的体积是 Undefined:
{Volume[Point[{0, 0}]], Volume[Circle[]], Volume[Ball[{0, 0, 0, 0}, 1]]}RegionDimension /@ {Point[{0, 0}], Circle[], Ball[{0, 0, 0, 0}, 1]}文本
Wolfram Research (2014),Volume,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Volume.html (更新于 2019 年).
CMS
Wolfram 语言. 2014. "Volume." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/Volume.html.
APA
Wolfram 语言. (2014). Volume. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Volume.html 年
BibTeX
@misc{reference.wolfram_2026_volume, author="Wolfram Research", title="{Volume}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Volume.html}", note=[Accessed: 05-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_volume, organization={Wolfram Research}, title={Volume}, year={2019}, url={https://reference.wolfram.com/language/ref/Volume.html}, note=[Accessed: 05-July-2026]}