前言

最近在使用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的三维图像进行建模的更多相关文章

  1. 杂项-数学软件:Mathematica

    ylbtech-杂项-数学软件:Mathematica Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相 ...

  2. Mathematica 和 MATLAB、Maple 并称为三大数学软件

    Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一 ...

  3. 杂项-数学软件:MATLAB

    ylbtech-杂项-数学软件:MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATL ...

  4. 数学软件 之 基于MATLAB的DFP算法

    DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...

  5. 杂项-数学软件:Maple

    ylbtech-杂项-数学软件:Maple Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple 在全球拥有数百万用户,被广泛地应用于科 ...

  6. 利用matplotlib的plot函数实现图像绘制

    模式识别的一个实验,要求画出贝叶斯决策的图.这里我是利用python中的matplotlib库实现的图线的拟合.主要对于matplotlib的使用可以参照博客:webary 如果要绘制三维图像可以参考 ...

  7. 数学软件Matlab的使用感受

    在我一年前的暑假,我们的小学期学习了MATLAB软件.MATLAB是一款数学软件,可以用于算法计算.数据可视化.数据分析以及数据计算. 我们主要学习了MATLAB关于数学上的经常用的一些用法和算法,M ...

  8. 利用开源软件 Hugin 实现照片的景深合成

    利用开源软件 Hugin 实现照片的景深合成 本文主要参考了下面的文章:http://macrocam.blogspot.jp/2013/09/using-hugin-for-focus-stacki ...

  9. 【前端】 在前端利用数学函数知识+box-shadow解波浪图形

    序 今天正在刷数学函数相关题目,刷到了下面这篇文章,哇哦-有意思. 利用cos和sin实现复杂的曲线.传送门在下面. CSS 技巧一则 -- 在 CSS 中使用三角函数绘制曲线图形及展示动画 正巧在复 ...

随机推荐

  1. 外网无法访问hdfs文件系统

    由于本地测试和服务器不在一个局域网,安装的hadoop配置文件是以内网ip作为机器间通信的ip. 在这种情况下,我们能够访问到namenode机器, namenode会给我们数据所在机器的ip地址供我 ...

  2. 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是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...

  3. 大数据学习day28-----hive03------1. null值处理,子串,拼接,类型转换 2.行转列,列转行 3. 窗口函数(over,lead,lag等函数) 4.rank(行号函数)5. json解析函数 6.jdbc连接hive,企业级调优

    1. null值处理,子串,拼接,类型转换 (1) 空字段赋值(null值处理) 当表中的某个字段为null时,比如奖金,当你要统计一个人的总工资时,字段为null的值就无法处理,这个时候就可以使用N ...

  4. 【swift】用Xib实现自定义警告框(Alert)(安卓叫法:Dialog对话框)

    在写这篇博客前,先感谢两篇博客 [如何自定义的思路]:https://www.cnblogs.com/apprendre-10-28/p/10507794.html [如何绑定Xib并且使用]:htt ...

  5. 解决springboot序列化 json数据到前端中文乱码问题

    前言 关于springboot乱码的问题,之前有文章已经介绍过了,这一篇算是作为补充,重点解决对象在序列化过程中出现的中文乱码的问题,以及后台报500的错误. 问题描述 spring Boot 中文返 ...

  6. hive 启动不成功,报错:hive 启动报 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/MRVersi

    1. 现象:在任意位置输入 hive,准备启动 hive 时,报错: Exception in thread "main" java.lang.NoClassDefFoundErr ...

  7. sql优化的8种方式 (下)

    五.条件列表值如果连续使用between替代in        六.无重复记录的结果集使用union all合并 MySQL数据库中使用union或union all运算符将一个或多个列数相同的查询结 ...

  8. JSP常用内置对象

    1.request 1.1getAttribute(String name) 2.getAttributeName() 3.getCookies() 4.getCharacterEncoding() ...

  9. 走进Spring Boot源码学习之路和浅谈入门

    Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...

  10. Jenkins动态选择分支/tag

    目录 一.简介 二.配置 三.配置tag 四.其它方法 五.List Git Branches插件 一.简介 一般选择分支构建,Git Parameter插件即可.这里是应用pipline的同时,可以 ...