利用数学软件Mathematica的三维图像进行建模
前言
最近在使用Mathematica进行二元函数的图像绘制,在导出图像选项中看到了obj,maya等三维格式。其实很早之前我就有过这样的想法,但之前使用的是matlab作图,无法导出三维格式。那么废话不多说,直接开搞。
一、用简单曲面测试效果
我们先用一个简单的曲面来进行试验,即$f \left ( x,y \right ) = x^{2} + y^{2},-5\leqslant x\leqslant 5,-5\leqslant y\leqslant 5$,其图像为:

我们先来选个OBJ格式的,将导出的模型导入3dmax中,但是会出现以下问题:

网上也没有查到相关的解决办法,可能是和版本不兼容?(有知道原因的大佬来解释一下吧)
既然OBJ格式导入有问题,那就换个格式好了,这次我选则Maya格式,将导出的模型导入Maya中,看着还不错。

由于我对Maya不熟悉,我将其导出为FBX格式,再导入3dmax查看效果:

这个曲面少了一个面片,但在Maya中却没有出现这样的情况,我换成OBJ格式在导入3dmax中,就没有问题了(有大大的问题,满脑子的疑惑)。

切换为边面模式,可以发现,mathematica导出的不是四边面,但也不完全是三角面,而是三角面和四边面的混合,
我们知道,3dmax建模时再进行建模时,需要尽可能地用四边面进行布线,方便在后期进行高模卡线,这种布线方式不太好卡线,先加一个涡轮平滑试试效果:


可以看出这个效果和预想中的一样,存在很多硬边,不圆滑,这样的情况在3dmax中是很难解决的,于是我决定在Mathematica中利用程序进行加线,将网格全部显示,将绘图点改为100,如下:

按照以上步骤导入3dmax中,


这次,模型不仅很光滑,而且布线也很好看。看来由程序布线最后还得有程序加线效果才会好。
二、用更复杂的曲面测试
掌握了技术后当然要用它来测试更复杂的模型啦。这里我使用了官方文档中使用的两个模型函数进行测试,效果如下:



当然,也会有少数模型的法线存在一些小问题,比如上面的海螺模型导入后法线是反的,只需要添加法线修改器即可,但是下面这个模型导入后,有的面法线是正的,有的面法线是反的,法线修改器暂时不能改正。

三、结论
虽然使用这样的方法可以对三维函数图像转化为模型,但实际上用处并不大,几乎没有建模师使用这样的方法来进行建模。不过这种方法也有好处,比如不需要手动去卡线,而且模型的曲面还可能具有二阶或者更高阶的导数,因此曲面的光滑效果会更好。
利用数学软件Mathematica的三维图像进行建模的更多相关文章
- 杂项-数学软件:Mathematica
ylbtech-杂项-数学软件:Mathematica Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相 ...
- Mathematica 和 MATLAB、Maple 并称为三大数学软件
Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一 ...
- 杂项-数学软件:MATLAB
ylbtech-杂项-数学软件:MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATL ...
- 数学软件 之 基于MATLAB的DFP算法
DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...
- 杂项-数学软件:Maple
ylbtech-杂项-数学软件:Maple Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple 在全球拥有数百万用户,被广泛地应用于科 ...
- 利用matplotlib的plot函数实现图像绘制
模式识别的一个实验,要求画出贝叶斯决策的图.这里我是利用python中的matplotlib库实现的图线的拟合.主要对于matplotlib的使用可以参照博客:webary 如果要绘制三维图像可以参考 ...
- 数学软件Matlab的使用感受
在我一年前的暑假,我们的小学期学习了MATLAB软件.MATLAB是一款数学软件,可以用于算法计算.数据可视化.数据分析以及数据计算. 我们主要学习了MATLAB关于数学上的经常用的一些用法和算法,M ...
- 利用开源软件 Hugin 实现照片的景深合成
利用开源软件 Hugin 实现照片的景深合成 本文主要参考了下面的文章:http://macrocam.blogspot.jp/2013/09/using-hugin-for-focus-stacki ...
- 【前端】 在前端利用数学函数知识+box-shadow解波浪图形
序 今天正在刷数学函数相关题目,刷到了下面这篇文章,哇哦-有意思. 利用cos和sin实现复杂的曲线.传送门在下面. CSS 技巧一则 -- 在 CSS 中使用三角函数绘制曲线图形及展示动画 正巧在复 ...
随机推荐
- 外网无法访问hdfs文件系统
由于本地测试和服务器不在一个局域网,安装的hadoop配置文件是以内网ip作为机器间通信的ip. 在这种情况下,我们能够访问到namenode机器, namenode会给我们数据所在机器的ip地址供我 ...
- flink01--------1.flink简介 2.flink安装 3. flink提交任务的2种方式 4. 4flink的快速入门 5.source 6 常用算子(keyBy,max/min,maxBy/minBy,connect,union,split+select)
1. flink简介 1.1 什么是flink Apache Flink是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...
- 大数据学习day28-----hive03------1. null值处理,子串,拼接,类型转换 2.行转列,列转行 3. 窗口函数(over,lead,lag等函数) 4.rank(行号函数)5. json解析函数 6.jdbc连接hive,企业级调优
1. null值处理,子串,拼接,类型转换 (1) 空字段赋值(null值处理) 当表中的某个字段为null时,比如奖金,当你要统计一个人的总工资时,字段为null的值就无法处理,这个时候就可以使用N ...
- 【swift】用Xib实现自定义警告框(Alert)(安卓叫法:Dialog对话框)
在写这篇博客前,先感谢两篇博客 [如何自定义的思路]:https://www.cnblogs.com/apprendre-10-28/p/10507794.html [如何绑定Xib并且使用]:htt ...
- 解决springboot序列化 json数据到前端中文乱码问题
前言 关于springboot乱码的问题,之前有文章已经介绍过了,这一篇算是作为补充,重点解决对象在序列化过程中出现的中文乱码的问题,以及后台报500的错误. 问题描述 spring Boot 中文返 ...
- hive 启动不成功,报错:hive 启动报 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/MRVersi
1. 现象:在任意位置输入 hive,准备启动 hive 时,报错: Exception in thread "main" java.lang.NoClassDefFoundErr ...
- sql优化的8种方式 (下)
五.条件列表值如果连续使用between替代in 六.无重复记录的结果集使用union all合并 MySQL数据库中使用union或union all运算符将一个或多个列数相同的查询结 ...
- JSP常用内置对象
1.request 1.1getAttribute(String name) 2.getAttributeName() 3.getCookies() 4.getCharacterEncoding() ...
- 走进Spring Boot源码学习之路和浅谈入门
Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...
- Jenkins动态选择分支/tag
目录 一.简介 二.配置 三.配置tag 四.其它方法 五.List Git Branches插件 一.简介 一般选择分支构建,Git Parameter插件即可.这里是应用pipline的同时,可以 ...