matlab - 如何在 Octave 中绘制隐式曲面?

标签 matlab plot octave

我可以使用 fimplicit3 命令在 MATLAB 上绘制隐式曲面 (x^8)(y^2)(z^6) = 0,但我找不到类似的命令 Octave 。

在 MATLAB 和 Octave 兼容的印象下,我将相同的行复制粘贴到 Octave 中,它返回了一条错误消息: “错误:‘fimplicit3’在第 1 行第 1 列附近未定义”。

我如何在 Octave 上绘制它?

最佳答案

不是等效函数,但如果您只是想想象由这样的方程定义的对象在空间中看起来的样子,您可以简单地创建一个点网格,并获得等值面为 0。即使对于低分辨率网格,这应该也能正常工作。

例如,使用 matlab's fimplicit3 documentation page 中显示的相同示例,即等式: <子> ,在区间 [-5, 5] 中定义 x、y 和 z,我们有:

[x, y, z] = ndgrid(-5:1:5, -5:1:5, -5:1:5);
F = x.^2 + y.^2 - z.^2;
isosurface(F, 0);

您可以玩弄等值面对象的属性,或将其包装在 patch 对象中,引入 isonormals,使用 plot3 在顶部绘制曲率线 等等。事实上,如果这就是 fimplicit3 在 matlab 中所做的事情,我不会感到惊讶。


PS:我使用了 matlab 的示例而不是您的示例,因为您的示例看起来有点微不足道:只要任何单个变量为零,它就微不足道为零。所以它基本上是三个零平面相交。不确定那是故意的还是你另有所指

关于matlab - 如何在 Octave 中绘制隐式曲面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45819246/

相关文章:

matlab - 如何在 matlab GUI 中显示可滚动的图像网格

r - 如何让 plot.ts 接受 par 或布局?

matlab - 为什么过滤元胞数组中的某些行对于 Octave 中的赋值有不同的行为?

http - 如何使用 Matlab 或 Octave 进行 HTTP GET 或 POST?

scripting - Octave 脚本部分

c# - C# 中的复杂计算

matlab - 在网格上的不同点放置高斯函数

image - 从图像制作 gif

r - 使用索引而不是名称指定列

r - 用向量值绘制图形