热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

复杂曲面建模_软件Rhino|曲面塑造

点击这里查看上一期推送哦~半平米工坊:软件Rhino|复杂形体建模​zhuanlan.zhihu.com上一篇推送我们主要完成了建亭大业,以及进一步学习
bba88199d8dc169251186c1d7ea1b773.png

点击这里查看上一期推送哦~

半平米工坊:软件Rhino | 复杂形体建模​zhuanlan.zhihu.com
b631440f04fec3a75b9b2eab8ec4c8a1.png

上一篇推送我们主要完成了建亭大业,以及进一步学习了复杂形体的进阶命令。

今天将是激动人心的阶段式总复习,我们学过的命令将全部融合在“鼠标”建模练习中,快先调动你们残存的关于rhino的记忆吧,有困惑的小童鞋记得要记好笔记噢!

我们快开始吧!!!

b4e12178b8719a09296ab715584c60fa.gif

建模步骤

1弧形曲面建模

首先我们要解决鼠标最重要的弧形曲面。

建立曲面工具集里找到帧平面命令,导入下图作为建模底图,运用scale命令对其缩放,这里我们输入100(mm)贴近实际鼠标的大小。

6efb4ef934937db75b4cfd66ed896b5c.png

运用圆角矩形命令,调整圆角,尽可能地拟合底图。

f16c7888b9d7ca70196275794f520dc0.gif

在建立曲面工具集里选择“以平面曲线建立曲面”,将圆角矩形转换成闭合曲线。

98970abd6da9d64990863ee36b8aaa7f.gif

接下来我们需要将二维平面生成三维曲面,这里介绍四个方法建立鼠标曲面,分别对应四种不同的核心命令。

方法一:核心为rebuild命令

运用rebuild命令重建曲线,弹出列表里的UV均选择点数8,此时曲面上生成了一系列控制点。(重建曲线命令除了重建曲线,还可以重建曲面,不要被名字表面迷惑哦)

a0bd9b27f90a2d13c432ecf70513cfaf.gif

运用操作轴调整一系列的控制点,为了简便操作,我们可以转换到FRONT视图,控制弧形曲率尽可能地拟合鼠标侧面。

如果大家不记得如何操作,快给我回到以往的推送里回炉重造!!

545931efcfc0f53f6c68989e906ad8ad.gif
6a8775b76578c28e13a401501c278862.png

当然我们这里没有侧面图,因此侧面曲线的建模可以按照自己的感觉走,考验你们审美的时候到了!!(笑)

最终给一个弧形曲率的参考,大致相同即可~

457fcab27e7229e0041c8d8cd35e3d31.png

转换到透视图模式,现在我们得到了一个优美的流线型曲面。

729340a9b70f41e9a251414253772667.gif

方法二:核心为“弯曲”命令

转到TOP视图,在圆角矩形上绘制一个实体矩形面。在左侧“变形工具集”选择命令“弯曲”,选择两端中点分别作为骨干起点和骨干终点。

转换到FRONT视图,将实体矩形面向下弯曲到合适角度,接着通过操作轴将变形曲面旋转并移动到合适位置。如下动图。

aaa108d6bf239b724fdb7f1377d39dc5.gif

运用“分割”命令,顺次选中要分割的弯曲矩形曲面和圆角矩形线框,点击回车键,分割结束。

删除多余的裁剪曲面,同样可以得到一个优美的流线型曲面。

fd85d5e16ff977646ed18cfb3a2145ba.gif

方法三:核心为“双轨扫掠”sweep2命令

运用“双轨扫掠”sweep2命令就意味着我们需要建立两条轨道曲线,从曲线入手而非面入手解决问题。

首先炸开圆角矩形线框,我们可以发现它被炸成了八段,也就是说这条曲线实际由四段弧线和四段直线组成,即它必然存在着四个突变节点,这可能在后期给我们造成障碍。

540c4257969c898dfaf79dc86b8cef64.png

那我们该怎么处理呢?有同学提出了对圆角矩形线框使用rebuild命令重新调整控制点。

这是个很好的想法,我们来试着来操作一下。

下图为重建曲线后的情况。由第二张图我们可以明显地看到圆角矩形线框发生了两方面的变形。其一曲线中段向内凹进,其二曲线两侧由直线变成了弧线,这时的曲线已经不能很好地拟合底面了。

4ea1fe79fe29342d4ac9209c8a5849ba.png
0107e217b12cdfc0887bcf1f00851699.png

这里提供一个思路。在中点绘制一条直线,运用分割命令将圆角矩形分成均等的两部分,为之后建立两条轨道曲线做准备。

打开控制点,运用“控制点曲线命令”,描摹相同的控制点生成曲线,接着调整新生成的曲线控制点拟合底图曲率。

dc8e0b1740eb0128876953e49fc953ec.gif

有同学在这里给整蒙了!搞半天这么多步骤,结果一前一后两条曲线还长一样,这不瞎扯呢嘛?

这一步骤的目的在于运用人工绘制的方法,将实际一段弧线和一段直线组合而成的线真正变成可调整的曲线。

8b5e924ff809210bf971696f5922fd93.png

我们运用镜像mirror命令,选择中轴为对称轴,复制出另一半曲线。此时两条轨道曲线制作完成。

最后拟合完成的曲线如下图所示。

695b5737ab3f6886b80c7f29d1d549fd.gif
11878c1b073ea7aa6a775e7cbe5da452.png

在竖向中点处绘制一条直线,rebuild后在RIGHT视图调整为弧线,拟合最高点的曲率。

d5bdb955b82555b565bf1d7beaff301c.png

接着在新圆角矩形左右两端点处放置两个单独的点,两点一线控制着即将生成的曲面。

运用“双轨扫掠”sweep2命令,选取两条路径曲线,按照曲面通过的顺序依次选取点——曲线——点。

如动图所示,得到了一个不太优美的流线型曲面。

67f21e4d0e59b75b511c8a1ac8e43f94.gif

如果希望生成的流线型曲面更加精致优美,可以通过添加更多的控制线来塑造曲面形态。

如图在一端合适的位置绘制直线,rebuild后在FRONT视图调整为弧线,甚至可以如下图在TOP视图进一步调整使其微微外凸。

最后运用镜像mirror命令,复制出另一半。两点三线控制着即将生成的曲面。

9540649928bf1155c5e375cb040d0ad4.gif
a3b2ff1a5bf7073963e27c5a4677cf48.png

至此,方法三虽然步骤繁琐,但是这种将实际一段弧线和一段直线组合而成的线真正变成可调整的曲线的转换思想是我们必须要掌握的。

bc97ea3ff481bdae8f9015549a4b10d5.gif

方法四:核心为“从网线建立曲面”命令

方法四是方法三的简化和拓展。将曲线分割成两段后,在UV方向中点处绘制两条直线,rebuild后在FRONT视图调整为两条弧线,注意,这两条弧线一定要尽量贴合或者相交。

2f170fcfb14b655d73becae6a839da9d.png
6b5b7f12e2b8031db1905ebc088aff53.png

完成后全选四段曲线,运用 “从网线建立曲面”命令,保留弹出窗口的参数不做改动,我们就可以得到一个优美的流线型曲面啦!!

4fe19f320fea50a3f50cf6b8d4e68fa4.gif

2鼠标标身建模

首先在TOP视图上运用“中心点绘制矩形”工具绘制矩形,注意要在工具栏里点选圆角。

6306ead2bc8bdf64d8c84d5d9d138e51.gif

而后在FRONT视图将作为底面的矩形移动到如下图位置,确定上下距离。

4dd995e6ed853d528e9b5d04b6ac08f9.png

接下来我们仍然需要用“双轨扫掠”sweep2命令来拟合鼠标标身侧曲面。因此我们首先要绘制需要经过的路径曲线来控制曲面形状。

过曲面及底面矩形中点绘制一条直线,rebuild后在FRONT视图将其调整为曲率合适的弧线,运用镜像mirror命令,复制出另一半。

同理在RIGHT视图作出另两条相应的路径曲线,结果如下图。

542cb5b715c94e1f9e509d79420a1407.png
28cc9bf47b328396015055ce63764394.png

完成路径曲线后我们开始绘制双轨。

虽然鼠标弧形面的曲线之前被我们一分为二符合双轨的条件,但是别忘了,我们新绘制的圆角矩形底面是一条完整的封闭曲线。

将其从中点一分为二,然后运用两次“双轨扫掠”命令形成无缝交接的侧表面,如图所示。

953ecfe354f6aa62321e321508cd5dcf.gif

最后将其底面封上,鼠标的外表面彻底完成。

9763d44008f1ab1a3709a9bad8967451.gif

3添加细节

首先将下表面组合成整体,然后在实体工具集里选择边缘倒角命令调整下表面厚度,半径输入为5毫米。

8d680f3f8792f11a334b63a3847d9268.gif

在TOP视图上绘制如图两个矩形,运用“分割”命令在鼠标表面挖出相应的沟槽,接着运用offsetscf命令将外表面向外推出3毫米。

aa90de9a1019741a3448838ea08033ec.png
5df7b870d9689c999055d44c9154e165.gif

在沟槽中点处绘制辅助线,作水平面圆柱体,将其旋转90度后调整到合适的位置。

9f1d46d85aefd1223368d174579b2450.gif

最后在实体工具集里选择边缘倒角命令调整圆柱体厚度,半径输入为2毫米。鼠标建模完成!

8c6cde2eb7bc5df15993e157d80757e1.gif
6bc89a86b42ebce307ad7226d7b0dcb0.png

今天的推送就到这啦,回顾一下,通过鼠标建模的练习复习了先前学习的内容,并且初步进阶曲面形体的塑造。

下一篇推送我们将学习山地地形以及笔筒的建模,届时同样会接触到新的命令噢!希望大家看完这期的讲解凭借回忆打开rhino练习一下,有助于更好地消化吸收哈~

债见啦~

40e40d74d40df328dcc65a8b615ef74c.gif

作者 / 小学弟

2326b5df60715f1ad6703c70afacfb49.png



推荐阅读
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ... [详细]
  • 本文介绍如何使用JPA Criteria API创建带有多个可选参数的动态查询方法。当某些参数为空时,这些参数不会影响最终查询结果。 ... [详细]
author-avatar
金爽20111018
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有