用-ContourPlot3D-绘制多面体
用 ContourPlot3D 绘制多面体之前的文章里我们用参数方程的形式探索了环面及其各种变形如环面纽结等等。曲面除了可以用参数方程的形式表示之外,还可以用隐函数的形式表达,即表示为 F(x, y,
ContourPlot3D 用绘制多面体 之前的文章里我们用参数方程的形式探索了环面及其各种变形如环面纽结等等。曲面除了可 F(x,y,z)=0 以用参数方程的形式表示之外,还可以用隐函数的形式表达,即表示为的解。 F(x,y,z)=0 这种曲面又称之为等值曲面,因为曲面上的每个点都满足这一条件。 MathematicaContourPlot3D 提供了绘制等值曲面的函数。不过在这篇文章里,我们并不 "" 用它来绘制各种婀娜多姿的曲面,而是尝试用它探索、绘制一些多面体。 一、从最简单的开始 球面方程 1 让我们从最简单的,大家耳熟能详的开始: x^2+y^2+z^2==11 方程的意义非常简单:每个点到原点的距离都是,这就形成了一个球 2 面。相比较之下,球面的参数方程就不是这么简单了: 参数方程虽然复杂,但对于计算机程序来说,反而容易绘图,因为根据参数,能直接算出点。 F(x,y,z)=0 而根据方程计算出满足条件的点就比较困难了,计算时间会比根据参数方程 计算要长。 二、多面体 x^n+y^n+z^n==1 从球面方程出发,我们可以看一下更一般的形式,比如的图形是什么样 3 子的: n 可以看到随着的值不断增大,方程表示的曲面越来越接近一个立方体。这是为什么呢? 4 我并不能完全解释,只能提出这么一个猜测。考虑如下表达式: Lpp5 这是范数的定义,当趋向于正无穷时,上述表达式的极限是: nx^n+y^n+z^n==1n 也就是个绝对值中的最大值。把这个结论放到我们的方程上,当 |x|==1|y|==1|z|==1 不断变大时,在不同方向上就不断接近、、三个方程,而这三 x=±1y=±1z=±1 个方程恰恰是立方体的六个面:、、。根据这个猜测,我们只要能知道多 “” 面体各个面的平面方程,就能类比的求得类似上述立方体的多面体渐近方程。更进一步的, (a,b, 多面体各个面的平面方程,只要知道面法向量就可以确定平面方程了,如果面法向量是 c)ax+by+cz=±1 ,则成对的平面方程就是。 PolyhedronData 利用可定义求各种多面体法向量的函数如下: 6 接下来就让我们用实际计算来验证一下这个猜测吧: 1. 正八面体

