4

有人对我有任何入门提示吗?我想从中学习(即不想偷懒,让别人为我回答这个问题)。

我想加深对数学 3D 表面的理解。我自己的个人项目是在 MATLAB 中生成大厅结构的 3D 表面/图形。

我在这里找到了一个链接,上面有它的几何图形的好图片。我并不期望能 100% 完美地得到它,但我想接近它!

在本练习结束时,我希望获得几何的数学定义以及表面的可视化表示。这可能涉及笛卡尔方程、参数方程、矩阵等。

任何帮助将不胜感激!

4

2 回答 2

3

为 MATLAB 提供一些具体建议:

我会从您链接的网页加载“部分”图像,并将其显示在 MATLAB 图形窗口中。然后,您可以尝试在顶部绘制线条,直到找到适合的线条。所以你可能会做类似的事情:

A = imread('~/Desktop/1314019872-1244-n364-1000x707.jpg');
imshow(A)
hold on
axis on

%# my guess at the function - obviously not a good fit
x = [550:900];
plot(x, 0.0001*x.^2 + 300)  

在此处输入图像描述

当然,您可能想要移动原点的位置或裁剪图片等。

作为这种试错法的一个可以说是更好的替代方法,您可以跟踪该部分的轮廓(例如,通过单击类似 的点ginput),然后使用 MATLAB 的曲线拟合工具之一(例如fit)来拟合函数以数据。

最终的 3D 形状在我看来(不经意间)是围绕中心轴的截面形状的 3D 旋转。因此,使用圆柱坐标系可能是一个好主意。

您的 3D 形状的最终绘图可以使用诸如surf或之类的函数来完成mesh

于 2012-10-29T11:57:47.397 回答
0

我将首先定义一个函数,该函数为每个 x、y 坐标定义是否有一个点 z,如果有,则使用哪个高度。

这个形状让我想起了一点对数或平方根。

于 2012-10-29T11:28:29.900 回答