根据用户输入的参数的个数来计算长方形或正方形的面积_面部尺寸驱动的眼镜参数化设计...

dd6797bfa47c70e5e6599fe8e1642313.png

面部尺寸驱动的眼镜参数化设计

刘肖健

浙江工业大学工业设计研究院

摘要:把眼镜镜片轮廓归纳为二点、三点和四点轮廓三种基本形式,并利用面部尺寸驱动实现快速设计。

1.   概述

参数驱动设计让用户通过修改参数来调整模型几何特征,减少了用户直接操作几何模型的工作量,令其集中精力于高级层面的参数处理。驱动设计技术已比较成熟,部分参数化CAD软件甚至可以把定义好的参数单独存放在外部数据文档(如Excel),让用户不必打开模型即可通过参数操作来实现模型的更改。参数驱动的这种便利性把建模与设计方案优化彼此独立开来,让用户可以先建模、定义参数,然后把参数取出来进行独立优化,得到优化结果后再驱动更新模型以观察效果。

眼镜受多个面部尺寸的影响,其设计方法是一个典型的人机工程问题。人机工程领域的参数驱动设计比一般几何模型的参数驱动有更多的内容,因为人体尺寸众多,彼此之间有着较复杂的函数关系,一个产品经常会受到多个不同的人体尺寸的影响,且人体尺寸与产品尺寸之间有时并不完全是确定性的映射关系。这些因素增加了人机工程参数驱动的复杂性。

眼镜产品虽然结构简单,但属于个性化定制设计,面临多个尺寸参数的同时调整,具有一定的复杂度。除人机尺寸外,眼镜产品的形态结构上也有大量的参数需要处理,即使只是镜片形态也有多达14个参数需要同时优化。这里构建了一个包括人机尺寸与形态尺寸的完整眼镜产品参数表达体系,基于头面部测量、数据统计处理、百分位索引等实现“头面部-眼镜模型”的二级驱动设计机制,以及镜架、镜腿等部位的平面艺术设计接口。

2.   眼镜产品的二级驱动设计原理

▼“二级驱动”机制原理

7d63eaa7451eda8350fbec455b0178ef.png

“二级驱动”模式是指:1)首先建立参数化头面部模型;2)然后以实测的人体参数作为驱动源调整头面部模型参数;3)最后以头面部模型为驱动源调整眼镜模型的结构参数。

实现上述二级驱动首先需要设计测量参数序列,具体方法:1)测量样本群体,拟合分布曲线;2)基于分布曲线的积分函数得到以百分位为索引变量的人体尺寸计算函数,得到不同百分位下的人体尺寸,作为三维参数化头面部模型的驱动变量。

参数化头面部模型在第二级驱动中被用作驱动源,用于驱动基底曲面和镜片轮廓的设计。基底曲面是指把眼镜产品(包括镜片、镜架等)抽象到一个无厚度的曲面上,然后在该曲面上展开设计。基底曲面本身围绕头面部三维模型建立,通过保持其与头面部模型的正确关系来使所设计出的眼镜产品符合相关人机工程法则。

镜片轮廓的设计重点在于美观性和视觉效果,其人机工程学设计要求一般只有轮廓形态与眼球瞳孔之间的位置关系,该设计要求将通过定义轮廓曲线的几何要素与瞳孔位置之间的几何关系来实现(如保证镜片的覆盖视域)。

上述设计流程为设计参数的整体优化留出了接口,该接口通过设计参数的输入输出来实现:定义好的设计参数被取出存放在外部Excel文档中,利用优化算法进行优化后再重新导入模型,产生驱动行为。

设计流程同时也为外观效果的艺术设计留出了接口:基于二维CAD软件得到的镜架、镜腿设计方案可以导入模型,通过在基底曲面上的投影得到三维形态,然后在此基础上开展进一步设计。

3.   驱动设计的实现技术

原型系统基于Solidworks开发,下面对实现流程的四个关键环节做简要介绍。

3.1头面部测量数据及其统计分析

首先开展头面部数据采集工作。针对头面部产品(不仅是眼镜)设计的共性需求,确定了24个关键尺寸,如下表所示:

▼头面部采集尺寸

序号

参数

序号

参数

序号

参数

1

额最小宽

9

口宽

17

容貌耳长

2

耳屏间宽

10

容貌额高

18

耳屏点间眉间弧

3

面宽

11

容貌面高

19

耳屏点间颏下弧

4

下颌角间宽

12

形态面高

20

头最大长

5

眼内角间宽

13

容貌上面高

21

头最大宽

6

眼外角间宽

14

鼻高

22

瞳孔间距

7

眼裂宽

15

唇高

23

头耳高

8

鼻宽

16

颏高

24

全头高

24个数据采用两种方法测量:一是对被测者头部进行三维扫描,然后利用软件技术测量标准测点之间的距离;二是使用工具手工测量。

▼三维扫描仪HandySCAN

16e0ff30142dda191ac202018fef1c9c.png

▼头面部测点的软件标定

895ef5dcad02b37da31479bfa3f2bc81.png

一般采用百分位作为人体尺寸的确定依据。尺寸的百分位是指该百分位的人群中的该尺寸值都位于某一水平之下,百分位的计算函数即尺寸的概率密度曲线的积分函数。

测量工作对浙江某地区的290个样本进行了测量。对每一尺寸,将其测量值所分布的范围分为15个等分段,统计落入各段内的样本数,在此基础上得到尺寸的分布曲线。假设所有尺寸都符合正态分布,对其进行拟合后得到其正态分布函数。下图为“额最小宽”的分布曲线与正态分布拟合曲线,可以看到,正态分布的假设是合理的。

▼额最小宽的分布曲线与正态分布拟合曲线

a1d9fbcc3b5df570c73d40b94c69aaec.png

按百分位计算头面部尺寸的方法是利用尺寸正态分布曲线积分函数的反函数。

▼额最小宽正态分布曲线的积分曲线

db70b3157c7dd7f6f2eaef1b4c00e320.png

3.2 头面部三维参数模型

头面部三维参数模型的构建,先手工建立参数模型,然后把头面部尺寸参数定义为模型的关键参数,在尺寸和模型形态之间建立驱动关系。为减少曲面畸形,对不影响人机性质和视觉效果的面部细节作了一定程度的简化。

▼头面部模型的结构框架定义

dd9dd3ff74325e247b61112d1903930f.png

▼头面部模型的曲面形态

99aa4380b037a13880e069dd918ade93.png

在数据测量工作测得的24个尺寸中,使用了其中的9个与眼镜相关的尺寸来驱动头面部模型的建模。

▼眼镜产品设计的驱动尺寸

2ff1fe9747f3988d888ad6796207e89f.png

其余尺寸暂时设为定值,在设计其他与面部相关的产品时再根据需要更改驱动参数。

▼根据两组驱动尺寸值得到的头面部三维模型

(宽容点哈,毕竟不是搞艺术)

252dd82fb4434534447191b284f8873c.png

3.3 眼镜设计的基底曲面

如前所述,基底曲面是用于三维眼镜设计的辅助曲面。基底曲面可以通过多种方式构建,也可以由用户自定义建立模板,作者所使用的是一种最常见的基底曲面形态,通过轮廓线的旋转扫描生成。

▼基底曲面

91370f3f83336ad86b73c50cea9e26bd.png

▼基底曲面轮廓线的定义

fd4d610e787ae6771ccb2a3b70c25a77.png

基底曲面的定义在两个方面使之与头面部参数化模型保持驱动关系:

1)   曲面与面部的距离:通过设置距离参数保证(上图标注尺寸6.50处),该参数影响近视眼镜的光学功能效果,其尺寸值取决于相关分析计算结果,可从外部数据文档中读入;

2)   曲面与头部太阳穴的贴合关系:通过设置约束关系让相关测点通过扫描轮廓线。

基底曲面前部弧高(上图标注尺寸50处)对应着不同类型的眼镜产品,如光学眼镜前部稍平,弧高参数较小,而太阳镜与人脸贴合度较高,弧高参数较大。弧高和距离参数可根据实际设计需要进行调整。

▼基底曲面在设计中的应用

fcafaba3790690b4819ba63fd7a624c2.png

镜片、镜架和镜腿的轮廓可以分别在相应的设计基面上进行设计,然后投影到基底曲面上进行剪切、加厚等进一步设计。

镜架和镜腿的设计中,许多内容偏重艺术效果与个性化表现,而三维参数化软件在此方面有所不足。对此,所采用的解决方案是在二维矢量设计软件(如CorelDraw、Illustrator)中完成镜架和镜腿的设计,然后将其输入到三维模型场景中的设计基面中。这种跨平台的矢量图形输入目前尚无完善的商业化解决途径,但是许多文献的研究工作已经成功的实现了这点,如谭征宇在手机外观的参数化优化设计中实现了从Solidworks的草图向CorelDraw批量输出设计方案供进一步效果表现。本文的技术为其逆过程,原理类似,都是基于输出的参数数据进行重建。

3.4 参数化镜片轮廓形态

镜片的轮廓形态是眼镜产品尤其是太阳镜产品主要视觉特征,因此镜片轮廓形态的设计是眼镜产品设计的主要内容。镜片形态虽然千变万化,但仍有一定的规律可遵循。通过对大量眼镜产品镜片形态的调研,把主流双镜片眼镜的轮廓抽象为三种参数化形态:二点轮廓、三点轮廓和四点轮廓,分别采用二、三、四个控制点来定义镜片的基本轮廓特征,辅以一系列对应局部形态的调整参数,将绝大部分镜片的轮廓形态精确地表达为一组实数参数序列。

镜片轮廓的设计在镜片设计基面上进行。三种参数化镜片轮廓如下图所示。

▼二点轮廓镜片

f3bce95b35fb63494adadd05c3164c2d.png

▼三点轮廓镜片

69aadcad6f5ec62a9ffbbb96b38f1625.png

▼四点轮廓镜片

e892a72a7cfb04be5b156077d756d435.png

▼镜片轮廓设计基面

08f4554caac6a9fa56a1e3987cbd69fd.png

三种轮廓形态均由若干段相切的圆弧组成,其中二点轮廓为4段圆弧,三点轮廓为6段圆弧,四点轮廓为8段圆弧。

以三点轮廓为例:利用眼内角和外角两个测点(图中黄色圆圈标示)定义三个轮廓特征控制点。三个控制点连成一个三角形(称为“控制三角形”),以其三条边为弦构建三条弧,弧的高度由一个外接相似三角形确定。最后在三条弧之间连以圆角,使轮廓线成为一条光滑连贯的封闭曲线。按照这种定义方式,三点镜片的轮廓形态共包含11个参数,包括5个控制点位置参数、3个弧高参数和3个连接圆弧半径参数。二点镜片和四点镜片的定义方法类似,参数个数分别为5个和15个。

所有参数均围绕两个眼部测点设置,因此可以很好的保证所设计的镜片轮廓形态与眼部的相互关系。参数的设计考虑了设计师对形态的操作习惯,如设计师要求对某局部曲线的“略鼓”、“略平”、“略尖”等调整,以及对形态整体的“加宽”、“减薄”等调整都可方便的完成,形态的可调整性能大大优于传统的样条曲线。

除了方便设计师的手工调整外,由于所有镜片轮廓形态均可表达为一个唯一的参数序列,为形态的自动优化设计也提供了方便的接口。

4.   设计实例应用验证

原型系统基于Solidworks建立,使用VBA开发。头面部24个参数的测量数据及其统计处理结果存放在外部Excel文档中。测量数据没有固化在程序内部是为了方便随时应用最新统计测量结果,或用于面向某局部用户群体的设计。三种镜片轮廓已被定义为模板储存在系统文件中,所有参数均被定义好。用户也可以根据自己的需求,基于相关测量参数定义并保存自己的设计模板。

▼原型系统界面

985de0f81f104a16611381b064e6ead4.png

参数被分为两组:9个用于驱动建模的参数和15个仅用于查询的参数。点击“更新数据”按钮可以根据选定的数据文件和给定的百分位索引获取各尺寸的值;点击“驱动建模”按钮可以根据9个驱动尺寸的值在Solidworks场景中生成一个头部模型的新配置,用于后续设计工作的基础,模型中的基底曲面也将跟随头部模型发生变化。

▼基于四点轮廓模板的设计结果

7a6909cb9a20a4a924c4622d6acc393e.png

▼基于三点轮廓模板的设计结果

58c78ad4eac032405e599bc1424206e2.png

a3f479bc0aca941e6fa794821de59424.png

5.   设计优化技术的应用接口

通过上述方式,眼镜产品的大部分关键性的设计要素(如人机工程学尺寸、形态尺寸等)都可实现参数化驱动,并且给镜架、镜腿的设计预留了二维效果设计的接口。这些在设计方面的改进措施为设计师的设计工作提供了很大辅助,但仍存在一个问题,即大量参数的整体优化。

眼镜产品的设计参数一般都在10个以上,部分款型甚至达到20多个,一个个调整参数对设计师也是一个不小的工作量。尤其是镜片的轮廓形态,眼镜的整体美感来自于众多参数的搭配效果,而非某局部参数的取值,设计师以序列操作的方式逐个调整参数不仅效率低,而且有可能错过最佳方案。

整体优化工作一般需要在参数编码基础上工作,即把设计对象表达为一组参数,本文对眼镜产品的参数化所做的工作已经为此提供了良好的基础。前期工作针对镜片轮廓形态(不包含人机性能)的整体优化基于交互式遗传算法做了探讨,提供了良好的解决思路。

交互式遗传算法(Interactive Genetic Algorithms,IGA)是一种基于用户的交互评价而不是适应度计算函数来产生个体适应值的进化算法,主要用于艺术、音乐、设计等带有感性目标的优化对象。在眼镜产品的设计中使用IGA方法需要为用户提供具象的评价目标而不是一个由参数序列编码。这里所构建的眼镜产品参数驱动技术可以方便的把一组参数转变为相应的产品形态。利用这一技术,结合开发平台Solidworks本身的多配置功能,可以让程序同时对所有参数进行调整,自动产生一系列设计方案,并让用户同时对各方案进行比较评价,然后基于评价结果展开遗传操作,直至得到最终满意的设计方案。

▼程序自动生成的多款设计方案(基于四点轮廓)

7e9ee3b174fad821eb03ba977d984f10.png

由于设计参数可以从模型中提取出来保存在外部Excel文档中,因此优化程序的输出结果可以方便的与辅助设计系统进行数据交换,并实施各类优化策略,如灵活的评价方法、创新性的量化计算等。

6.   结论

这部分工作针对眼镜设计的几个关键环节开发了辅助技术。研究表明人体测量参数直接用于驱动相关产品的人机工程学设计是可行的。在眼镜产品的人机设计中,不同映射法则的结合应用方面还有更大的技术空间,如“通过型”人机尺寸和“最优型”人机尺寸的联合使用规则方面还有更加灵活的方式可以挖掘。多人机尺寸之间的条件概率关系的设定也需要进一步的深入研究,以便为批量化(而不是个性化)定制镜架提供依据。另外,参数驱动方法除了可以辅助人机工程设计外,也为多参数的整体优化提供了便利。

当然,还有很多地方我们可以做得更好。我个人觉得,这些“更好”的部分由一线设计师来做会更合适一些。

这项工作最难的部分其实是人脸模型的参数定义。一个令人崩溃的现实是:这部分工作并没有什么“学术价值”,不用写代码,也不需要什么高大上的理论技术指导,所以发论文也高不到哪里去。

人脸参数模型的设计使用了Burne Hogarth的头部素描进行测点定位:

3e2c8bd3e81187275ce4cbcc01447d76.png

感谢关注创意之代码,新年快乐!

956e2be8e38299ce33f7cdec1cf3d661.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值