基于树结构的具有旋转不变对称轴的产品形状生成方法与流程

文档序号:12177494阅读:594来源:国知局
基于树结构的具有旋转不变对称轴的产品形状生成方法与流程

本发明涉及一种基于树结构的具有旋转不变对称轴的产品形状生成方法。



背景技术:

对具有旋转不变对称轴的产品形状的设计方法,目前还停留在由设计师先人工构思,然后利用计算机工具再现的方式上,这种方式依赖于设计师的灵感;因此若想设计出新颖的、独特的产品外形,需要设计师付出大量的工作,有时即使付出了时间与成本,也还是无法得到新颖的、独特的产品外形。



技术实现要素:

本发明为了解决上述问题,提出了一种基于树结构的具有旋转不变对称轴的产品形状生成方法,采用遗传算法和算术算法在现有产品外形的基础上,可以生成大量新颖的、独特的产品外形,为设计人员提供辅助设计,启发设计人员的创作思维。

为了实现上述目的,本发明采用如下方案:

一种基于树结构的具有旋转不变对称轴的产品形状生成方法,包括以下步骤:

1)获取多个产品形状的二维图像,所述产品具有旋转不变对称轴;以数学函数逼近的方法获取所述二维图像中的对称轮廓曲线的一元函数表达式,每个一元函数表达式作为一个个体;并设置默认操作次数;

2)根据运算顺序,采用解析算法将步骤1)中的每个个体转化为数学表示二叉树,所述数学表示二叉树包括有限个节点,每个节点还包括有子树;

3)随机产生一个外部数学表示二叉树,将步骤2)中任意一个数学表示二叉树的任意一个节点及所述子树,替换为所述外部数学表示二叉树,生成新的数学表示二叉树,若所述新的数学表示二叉树对应的个体能够通过计算机展现,则输出;若所述新的数学表示二叉树对应的个体不能通过计算机展现,则舍弃,并重复步骤3)直到产生出一个能够通过计算机展现的个体;

4)将步骤3)中输出的个体以有限长度的曲线形式置于三维空间,以所述个体对应的一元函数表达式的自变量或应变量为旋转轴,旋转生成具有旋转不变对称轴的产品形状,并记录操作次数,生成一次具有旋转不变对称轴的产品形状记为一次操作;

5)判断若操作次数未达到默认操作次数,则反复操作步骤3)至步骤4),若操作次数达到默认操作次数,则停止,并输出步骤4)的结果。

所述步骤1)可以替换为:

采用数学操作数和数学二元操作符随机生成多个能够通过计算机展现的一元函数表达式,并设置默认操作次数。

所诉步骤3)可以替换为:任意选择步骤2)中两个数学表示二叉树,分别在所述两个数学表示二叉树上任意选择两个节点,交换所述两个节点及所述子树,生成两个新的数学表示二叉树,若所述新的数学表示二叉树对应的个体能够通过计算机展现,则输出;若所述新的数学表示二叉树对应的个体不能通过计算机展现,则舍弃。

所述步骤2)和步骤3)替换为:任意选择步骤1)中两个个体,采用数学操作数和数学二元操作符随机生成新的个体;若所述新的个体能够通过计算机展现,则输出;若所述新的个体不能通过计算机展现,则舍弃。

所述子树为空集、一个子树或两个互不相交的左、右子树中的一种;

所述节点包括终端节点和中间节点,终端节点设置数学操作数,中间节点设置数学二元操作符。

所述数学二元操作符至少包括加、减、乘、除、平方、开方、指数函数、对数函数、三角函数和双曲函数中的一种。

所述数学操作数为变量或者常量。

本发明的有益效果:

(1)利用现有具有旋转不变对称轴的产品的外观造型作为种子,通过基于树结构的遗传算法和算术算法派生,能产生一些新颖、独特的外观造型,为产品创新设计提供辅助设计,为设计人员的创新设计提供一种激发创作灵感;

(2)遗传算法中包括交叉和变异操作,操作的丰富多样化可以提高产品的新颖性;

(3)可以单独使用某一种操作,也可以多种操作相结合使用;

(4)本发明的基于树结构遗传算法的产品外观造型设计方法可以适用于具有旋转不变对称轴的各类产品设计上。

附图说明

图1是本发明的基于树结构遗传算法的酒瓶外观造型设计方法的流程示意图;

图2是本发明中有三个轴点和19个曲线点的酒瓶二维图象示意图;

图3是本发明中编辑公式并调整其系数使其逐渐逼近选定的曲线示意图;

图4是本发明中两棵数学表示二叉树及交叉操作示意图;

图5是本发明中交叉操作的父辈和后代对应的二维曲线示意图;

图6是本发明中交叉操作的父辈和后代对应的三维图像示意图;

图7是本发明中一棵父辈树和一棵要进行变异操作的子树的示意图;

图8是本发明中算术运算后父辈和后代对应的二维曲线示意图;

图9是本发明生成的部分三维图像示意图;

图10是本发明的部分三维图像渲染后的酒瓶示意图。

具体实施方式:

下面结合附图与实施例对本发明作进一步说明。

以酒瓶的形状生成为例:如图1所示,首先初始化种群,并设置默认操作次数,种群的产生方式有两种:

1、通过在操作数和操作符集中随机选择形成的数学表达式来生成,同时检查产生的数学表达式是否是一个有效的数学表达式及表达式中的括号是否平衡,

2、为了从外部抽取成功设计的特征,使用扫描仪和数码相机,取得一些流行产品的外观造型,并利用数学函数逼近的方式,获得造型中指定曲线的近似数学函数,产生一些个体,具体过称为:(1)使用扫描仪或数码相机获取产品图像文件;(2)利用图像转换软件,从图像中抽取曲线所对应的近似数学函数。例如:打开一个酒瓶二维图像文件,选择两点建立一个轴,确定图像的坐标;轴点定义后,根据轴线产生的网格坐标线会自动在屏幕上出现;选择至少两个点来选择欲获取其数学函数的曲线.如图2所示;选择一个数学表达式模板,编辑公式并调整其系数使其逐渐逼近选定的曲线,如图3所示,最终得到选定曲线的数学表达式。

然后,把生成的表达式作为字符串,根据运算顺序,用解析算法构造数学表示二叉树。一棵数学表示二叉树是一个数学操作数及二元数学操作符的组成的有限节集,该集是空集或者是由根及两棵互不相交的称为左、右子树的二叉树组成。二叉树的中序遍历序列是一个合法的数学表达式。

树的节点可以是终端节点(操作数)或者是中间节点(操作符)。操作数可以是变量也可以是常量,操作符包括基本运算符+、-、*、/、^,基本数学函数sqrt()、exp()、log(),三角函数sin()、cos()、tan()、asin()、acos()、atan()),以及双曲函数sinh()、cosh()、tanh()、asinh()、acosh()、atanh()等。

这里我们采用了MATLAB中数学函数的表示方法(本环境采用MATLAB作为数学函数计算及图形、图像生成的支持软件)。

接着对种群执行交叉、变异和算术运算的操作。

图4为两棵数学表示二叉树。它们对应的数学函数分别为(1.2+sin(8*x))*x^2*cos(x)和x*(1-x)*(1.5+(cos(8*x)),分别利用随机生成和数学函数逼近曲线的方法得到的。

交叉操作:

分别在父辈树上随机选择一个交叉点,并交换以交叉点为根的两棵子树,产生两个后代。如果新产生的树不能映射为合法的数学表达式,或者无法用计算机展现生成的形状,则被淘汰。

以图3中的两棵树作为父辈树,选择交叉点‘A’实施交叉操作,并把产生的曲线以x轴作为中轴进行对称复制,得到的父辈树(上部两个二维曲线)及后代(下部两个二维曲线)如图5所示。把产生的曲线在三维空间以z轴做为旋转轴旋转后产生的三维图像如图6所示。

变异操作:

在单父辈树上随机选择一个变异点,然后用一棵随机产生的子树替换以变异点为根的子树。如果产生的后代树不能映射为合法的数学表达式,或者无法用计算机展现生成的形状,则被淘汰。图7所示为一棵父辈树和一棵要进行变异操作的子树的示意图。

算术运算:

由于本方法中涉及的都是数学函数,根据其特点,我们在一般的遗传操作基础上,又增加了算术运算。其主要方法为,以父辈树作为自变量y1,y2,然后通过随机在操作数和操作符集中选择参数产生数学表达式。与产生种子的不同之处在于,有来自父辈树的两个自变量。

例如:y1=(1.2+sin(8*x))*x^2*cos(x)

y2=x*(1-x)*(1.5+(cos(8*x))

则算术运算后产生的后代可以是y1+y2,y1*y2,sin(y1)*cos(y2)等,把产生的曲线以x轴作为中轴进行对称复制,得到图8中的父辈树(上部两个二维曲线)及后代(下部两个二维曲线)。

若默认操作次数未达到,则对个体继续执行基于树结构的交叉、变异和算术运算操作.

最后计人员对生成的酒瓶用设计软件进行渲染,并加上图案,商标,形成最终酒瓶设计产品。

图9所示为利用计算机程序生成的部分三维图像。图10为对选定的图像作适当的艺术处理后设计的酒瓶。设计人员可以根据自己的喜好选择生成的产品形状,以便后续的进化过程产生的后代能继承这些优点,也可以直接选择保存,用其它的设计工具软件进行完善和渲染。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1