作者:超图研究院技术支持中心-于丁

随着SuperMap iDesktop 10i(2021)
V10.2.1的上线发布,为进一步拓展全空间数据模型及其分析计算能力,一个新功能“3D极坐标建模”也随着该版本悄然上线。

3D极坐标建模功能实现根据UV参数和数学表达式,构建包括球面、抛物面、双曲抛物面、柱面、圆锥面、莫比乌斯环面、螺旋面、螺旋环面以及Roman曲面等多种3D曲面模型。

一、曲面建模

3D极坐标建模的本质就是曲面建模,在曲面建模领域上超图iDesktop同样是无法避开UV坐标的。但实际应用上,我们绝大部分人并不是该领域专业出身的,都是在各个应用软件或项目需求中发现UV坐标这个新领域的,也许我们都曾试图通过百度简单搜索个“新手0基础uv坐标曲面建模5分钟上手教程”的东西,或者轻重强度的资料搜索钻研搞懂。但真的上手都很快放弃了,我们会发现在曲面建模“入门”上,没有接触过的数学概念一个追着一个抱团袭击我们的大脑“黎曼几何”、“非欧控件”、“微分几何”、“样条曲线”…打的我们落荒而逃。我们视图跳过清晰地了解数学原理,直接上手操作各大平台的建模软件进行实战操作,却又发现使用预设模板点击一下就建模成功了,但想要自己需要的造型进行修改,面对复杂、陌生、庞大的参数调整甚至创造时,软件没那么
“自动”、“智能”了,力不从心又无处下手。

虽然数学有自身的优雅,能亲手推导、构造每一步的人凤毛麟角,但我们只是了解理解相关逻辑,借助一些成熟的辅助和平台工具,已经能够让抽象的理论照进现实,完成我们的曲面建模需求。因此本篇文章便是“3D极坐标建模”使用的原理篇,让我们从UV坐标开始带着问题,来脚踏实地的步入建模之路。

针对某一个具体的曲面,是可以通过该曲面上的U、V坐标值来指定曲面上的某个确定的点。

但是我们已习惯了欧几里得空间,习惯了在笛卡尔三维坐标系(xyz)下表示空间点的方式,我们普遍会在查阅了很多资料教程后,依然会有这样的一些问题摆在眼前:

1、为什么能用(u,v)两个坐标值来表示空间曲面上点位置?

2、曲面上的UV线是怎样形成的?

3、采用UV坐标有什么意义?

4、所有曲面都可以UV坐标化吗?

虽然看上去需要很深的数学功底,但还是让我尽量通俗易给大家简单的解释一下UV坐标。

二、曲面参数方程

对于点的曲面坐标,有些资料中,还给出了(u,v,w)来类比我们浸淫多年的欧式坐标系(x,y,z),这其实是个误导,因为这里的u、v其实是来源于参数方程的两个参数,何来的w呢?

空间曲面的参数方程是这样的:

这是以u、v为参变量的双参数方程,与空间任意点的坐标(x,y,z)不同,如果你通过(u,v)两个值指定了曲面上的一个点的位置,这里除了两个坐标值条件外,还有一个隐含的条件,就是该点在指定的曲面上,曲面参数方程本身就是一个已知条件,并非(u,v)两个坐标值就能指定空间任意点。

与空间曲面类似,空间曲线方程是单参数方程,形式如下:

它只有一个参数t。

为什么空间曲线参数方程只有一个参变量,而空间曲面参数方程需要两个呢?

我们的教科书只管给出公式,却没有回答这类的问题。

我们不妨将独立参变量的个数理解为"参数自由度"这样一个概念,对于一个既定的空间曲线上的点而言,只要知道它的一个坐标值,比如x=x0,那么就可以确定是曲线上的某个点,如果需要图形辅助理解,就是x=x0这个平面与空间曲线的交点。因此,我们认为空间曲线的”参数自由度"为1,所以参数方程的参数个数为1。

而对于已知的空间曲面而言,需要知道两个坐标值,才能确定曲面上对应的点,同样用图形辅助理解,两个平面的交线与空间曲面的交点。所以空间曲面的"参数自由度"为2,曲面的参数方程的参数个数为2。

这样的说法仅仅是帮助应用者去理解,而不是严格意义上的证明,而且本文的核心就是“帮助理解”。

三、黎曼空间

很多资料上为了帮助理解曲面上的UV坐标,会特意做一个如下图这样的一个映射关系,将平面矩形网格与曲面的UV坐标网做一个对应。甚至让我们将曲面的UV坐标网,想象成由一个平整的矩形网格变形而来的。

这样解释也是一种逃避,因为不想突破既有的欧几里得空间知识的边界。其实,本来就有曲面空间几何体系的,只不过往往在纯数学或者物理领域理科生才会接触到,我们工程领域也许是被—堆堆公式吓倒了,以至于自然地拒之于千里之外。

我们不妨作为科普性质地做些必要的了解,然后怀着一颗崇拜的心,但是又可以心安理得地使用他们非凡的成果。

如果一定要从几何理论上来理解UV坐标,那就不得不搬出一个大咖"黎曼”,就是下面这个人,德国数学家,40岁就去世了,他开创的黎曼几何,给爱因斯坦的广义相对论提供了数学基础。

黎曼建立了黎曼空间的概念,把欧氏几何、非欧几何都包进了他的体系之中,在这里说黎曼空间,我们无意去罗列甚至研究抽象的数学理论,仅仅是为了帮助我们突破笛卡尔平直坐标系的惯性思维,使我们明白,我们所学到的知识,仅仅是一个大的几何体系下的一个小领域,但是目前研究曲面的构形,不得不用到黎曼空间的概念,是逃避不了的,其实也仅仅是理解而已,很多基于理论的具体应用,软件的库文件去实现了,而我们不过是调用(程序开发者)或者去使用调用结果而已。

然而,即使是理解也是有难度的。

也有资料对黎曼空间的解释就是弯曲的空间。为了抵抗既有知识的束缚,我们需要充分地发挥想象力。针对一维空间,不妨将直线数轴的概念推广到沿着空间曲线,而将该曲线称为一个线空间,那么类似数轴上长度单位的刻度点,在线空间上也有用来度量的分割点,当然度量的单位就不仅仅是长度了。

顺着这个思路,二维空间就是面空间,当然,这里的面自然不局限于平面,可以是任意的曲面,而且对应一维线空间上的刻度点,二维面空间上是两个方向的度量参考线,当然不局限于直线,只不过绘出这些线以后,与笛卡尔坐标系中XY平面坐标网有些类似,这就是UV坐标线。

怎样来理解UV两个方向的参考线呢?

我们也可以借助于曲面参数方程来进行如下的推演:

已知参数曲面S的方程(x,y,Z) =
(x(u,v),y(u,v),z(u,v)),自变量u,v是曲面S的参数。在曲面S上取一点可以用r
(u0,vO)来表示,如果让参数u固定,即u=u0,而让参数v变化,则动点描出一条落在曲面S上的曲线r
(u0,v),这条曲线称为在曲面S上经过(u0,v0)的v-曲线,同理可以定义经过(u0,v0)点的u-曲线,即r
(u,
v0)。这样,参数曲面上经过每一点有一条u-曲线和一条v-曲线,它们构成曲面上的参数曲线网,如下图所示。这个推演过程也可以帮助理解曲面的UV坐标。

四、UV坐标的实现

目前在包括超图iDesktop在内的,可以做曲面处理的软件中,针对一个确定的曲面,一定有一个与其绑定在一起的UV坐标系,你也可以将它理解为一个局部坐标系,这个曲面的很多特性用这个UV坐标系来进行设置和计算会带来很大的方便。我们的曲面相关操作,包括二次开发的接口一定以UV坐标系来处置的。

也就是说即使是专注于建模使用的软件,一样是离不开UV坐标的,如Rhino、Catia等等。

到目前为止,尽管我们很多人还是没有很深入的,也许上述的这些粗浅的表述,我们已经能够简单的了解UV坐标下的参数方程了,各参数具体影响的是什么,如何去影像的已经有个感觉了不再茫然无措,当然接下来我们就会有这样的问题,那如何上手实操构建出自己心中所想,花里胡哨好看的模型呢?

让我们见下一篇博客《SuperMap三维复杂模型建模之3D极坐标建模——基础篇》。

若对本文内容有疑问或讨论,可以向超图研究院支持中心进行咨询。

SuperMap三维复杂模型建模之3D极坐标建模——原理篇相关推荐

  1. 什么是角色建模?3D角色建模简介

    角色建模的艺术 - Maya 到 ZBrush 无论您是在观看您最喜爱的动画电影.欣赏下一部 VFX 大片,还是在玩动感十足的视频游戏,您屏幕上的每个角色都是由一群才华横溢的艺术家创作的.很容易忽视设 ...

  2. SuperMap三维专题之倾斜摄影——WebGL加载倾斜摄影数据篇

    本篇内容将会结合SuperMap的两个产品iDesktop和iServer来展现.iDesktop主要用于数据的处理,iServer主要用于web端数据的服务发布和展现.话不多说,我们直接进入操作阶段 ...

  3. 想知道3D游戏建模师每天都在做什么吗?3D游戏建模的那些事

    想知道3D游戏建模师每天都在做什么吗?3D游戏建模的那些事 1.建模师的主要工作? 在游戏公司里,游戏建模主要分为3D场景建模和3D角色建模. 3D场景师的工作是根据原画设定及策划要求制作符合要求的3 ...

  4. 月薪3000+与月薪30000+的3D游戏建模师的区别是什么?

    月薪3k和月薪3w的建模师到底有什么区别呢? 不瞒说,技术高超的3D游戏建模师是多赚钱和吃香~ 当你学会建模的时候,你的日常将会是,就是创造游戏里各种各样的小姐姐和自己心仪的角色. 像这样 3D建模 ...

  5. 学习3D游戏建模的主要工具与技巧!

    文章目录 1建模 2贴图 /游戏建模有哪些常用软件? 常用软件介绍 成为优秀的次世代游戏建模师需要具备的条件: 最后: 建模师顾名思义就是做模型的一个职业,游戏建模师一般在游戏公司里,主要分为3D场景 ...

  6. 3D游戏建模师到底做什么工作?使用哪些软件?就业前景如何?该选择什么方式学习游戏建模?

    无论是转行或者毕业找工作很多人第一个关心的肯定是想做这个行业的薪资发展前景,以下结合自己这几年的工作经验,同行反馈,对次世代3D游戏建模技术做一个分析. 3D建模师具体是做什么? 3D建模" ...

  7. 零基础入门3D游戏建模师知识必备

    入门3D游戏建模师 随着国内游戏市场的蓬勃发展,行业对于游戏建模的需求在不断增加,相信很多想要进入游戏行业的小伙伴,想做3D游戏建模师,又不知道该如何去做,今天小编就带大家聊一聊关于零基础入门建模须要 ...

  8. 学习3D游戏建模可以做什么?主要有几个就业方向,最挣钱的是哪个?

    当像素无法满足人们的需求的时候,人们开始发展2D游戏,当2D无法满足的时候,开始了3D游戏,而现在游戏已经开始慢慢开始往vr的方向发展,而不管是3d游戏还是vr游戏,都需要大量的3D模型来进行虚拟世界 ...

  9. 3D游戏建模在游戏公司中是什么样的角色?薪资高,有前途吗

    喜欢游戏,想进入游戏行业,除了做游戏开发,游戏策划还可以做什么? 有人评论说做游戏建模师,但具体原因并没有详细回答. 对游戏建模一知半解,但又想依靠其进入自己热爱的行业发展. 今天就给大家详细说说,零 ...

最新文章

  1. jQuery学习总结之基础知识----持续更新中
  2. Spring的一些资源
  3. video标签poster属性在安卓微信中不生效问题解决
  4. 关于main函数的(int argc,char *argv[])
  5. cmd打开java文件夹_Java用CMD打开指定文件和文件夹
  6. cursor用法java,Cursor的基本使用方法
  7. application.yml 动态替换_微软免费AI作文打分软件升级:雅思考研四六级都能用,还能查单词给替换...
  8. php模板怎么导入数据类型,smarty模板引擎之分配数据类型,smarty模板数据类型_PHP教程...
  9. 包装类(Wrapper)的使用
  10. windows下怎么打开psql命令
  11. K8S集群Calico网络组件报错BIRD is not ready: BGP not established with
  12. du-查看文件夹大小-并按大小进行排序
  13. 公众号基本的绑定手机号页面(截取code,手机号正则,验证码倒计时)
  14. Python爬虫爬取豆瓣TOP250
  15. 第2篇:Python 基础语法
  16. SCCM 2012 R2部署,安装SCCM(四)
  17. 搜题接口API使用 授权使用
  18. 编写自己的Photon游戏服务器(Yanlz+Unity+Photon+Server+UNet+KBEngine+Socket+纤程+UDP+立钻哥哥+==)
  19. win10任务栏怎么还原到下面_Win10桌面图标/任务栏不见了怎么办?重启资源管理器...
  20. 历数国内外知名制作人~~制作人发展趋势

热门文章

  1. 北京大学可视化发展前沿研究生暑期学校Day1
  2. 华为手机屏幕锁屏时间设置_如何设置屏幕锁屏时间华为手机
  3. Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)
  4. KSO - sqlserver事务实现
  5. centos8之systemd管理服务开机自启动
  6. 在线医疗系统(毕设)
  7. Bash 里设置退出conda环境
  8. android的APEX接口实现,Apex API 请求
  9. 【论文笔记】AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions
  10. Titan图形数据库的应用实例讲解