基于变刚度与力反馈的虚拟3D画笔触觉行为

2020-12-21 03:38黄磊侯增选李楠楠张迪靖苏金辉
湖南大学学报·自然科学版 2020年8期
关键词:人机交互

黄磊 侯增选 李楠楠 张迪靖 苏金辉

摘   要:针对汽车工业中虚拟油泥模型外观设计问题,采用一种六自由度输入设备并基于实时力反馈交互技术,提出一种新型的变刚度画笔模型以及触觉装饰方法,实现在虚拟三维物体表面实时触觉绘制与外观装饰.基于变刚度弹性理论,深入研究虚拟3D画笔的触觉行为.首先,采用一种弯曲弹簧振子模型来构建3D画笔的力学模型,并分析虚拟画笔实时变形与承受的绘制力之间的内在关系;接着,基于一种加权平均距离的碰撞算法,研究虚拟画笔与虚拟3D物体之间的碰撞检测问题;采用一种球扩展操作以获得弯曲画笔的最小包围球,进而计算得到虚拟投影平面;根据在一个采样点处的画笔变形,得到虚拟投影平面上的二维笔触;通过将二维画笔笔触实时地映射到三维对象表面,便可以得到三维笔触;沿着三维绘制方向,通过控制绘制力矩并叠加不同大小、形状的3D笔触便可得到3D笔道.仿真对比实验结果表明,所采用的画笔模型及方法可以有效增强用户虚拟绘制时的真实性.

关键词:计算机触觉;人机交互;实时力反馈;变刚度;碰撞检测

中图分类号:TP23                             文獻标志码:A   文章编号:1674—2974(2020)08—0049—11

Abstract:For the exterior design of virtual clay model in automotive industry, a novel variable stiffness brush model and haptic decorating method are proposed using a six DOF input device and based on real-time force feedback technology, and the haptic behavior of virtual 3D brush based on variable stiffness is studied in detail. Firstly, the relationship between brush deformation and endured force is examined by employing the bending spring-mass model to construct the 3D brush mechanical model. Then, the collision detection between virtual hairy brush and virtual 3D object is studied based on a collision algorithm of Weighted Average Distance. An effective ball expanding operation is used to compute the smallest bounding sphere of the bent brush  and then to determine the projection plane. The 2D footprint produced between the brush and the projection plane is calculated according to the deformation of the brush at a sampling point, and then, the 3D brush footprint can be obtained by projecting the 2D brush footprint onto the 3D object surface. The 3D brush stroke is formed by controlling the exerted force and superimposing 3D brush footprints along the direction of painting. Experiment results show that the adopted method can effectively enhance the reality to users.

Key words:computer haptics; human-computer interaction; real-time force feedback; variable stiffness; collision detection

无论是从企业层面还是从普通消费者的层面来讲,产品外观设计阶段在工业零部件或消费产品的概念设计阶段都占有非常重要的位置.产品外观设计,包括产品形状设计和产品外表面的装饰,通常采用计算机辅助工业设计(Computer Aided Industrial Design,CAID)的手段或方式来完成. 传统的CAID采用纹理映射的方法来实现从二维图片到三维模型外表面的转换,以此来实现3D产品外表面的装饰[1]. 然而,从2D图片到3D物体外表面的映射变换很容易引起原有图形的扭曲和走样,并且纹理映射应用的过程既繁琐又易耗用过多的计算机内存资源. 在产品的创新设计中,设计师的灵感非常重要,而纹理映射技术需要映射二维图形到三维物体的外表面,妨碍了设计师自由地捕捉设计灵感. 伴随着虚拟绘画与书法的深入发展,尝试在3D产品模型外表面直接进行虚拟装饰的方法开始被关注.该方法不仅能避免纹理映射存在的过度扭曲等一系列缺点,还能允许设计师完全自由发挥想象力和捕捉设计灵感. 画笔是触觉虚拟绘制技术的主要实施工具,艺术家通过灵活控制画笔的位置、姿态、实时弯曲变形来完成产品创作过程. 因此,在虚拟交互式的三维绘制过程中,能否构造出一个有表现力的基于物理的虚拟3D画笔模型是非常重要的环节.

针对虚拟画笔建模及其绘制问题,国内外学者已做了大量研究,并取得了重要进展. Artnova系统[2]采用了一种以用户为中心的观看技术,通过考虑用户的触觉操作,将视觉和触觉反馈集成起来,动态地确定新的视点位置. 但在系统中并未构建3D画笔模型,这也降低了交互式绘制体验的真实性. Gregory等[3]提供了一种直观的基于触觉设备的三维绘制接口,用于交互式的编辑和绘制多边形网格. 系统通过视觉与触觉两种反馈能够让用户自然的创建出复杂的绘制模式.然而该系统并未集成6自由度力反馈设备,并且在绘制过程中不能实现双手交互. Fu等[4]提出了一种触觉绘制系统,该系统为用户提供一种简单的方式能精确地将颜色添加到网格模型上.该绘制系统还将虚拟画笔与一种配备了3自由度的触觉设备集成起来. 由于真实的画笔具有6自由度,因此该系统不能提供给用户多种富有表现力的画笔效果. 在虚拟画笔建模方面,Chu等[5]提出了一种基于画笔笔画轮廓的建模方法,利用前后连接的贝塞尔曲线来实时模拟画笔笔道的形成. Kim等[6-7]在原有画笔模型的基础上,通过添加画笔笔毛束的几何学模型及其相关变形算法,得到了一种新的画笔模型,该模型可以更好地模拟真实画笔的变形. Baxter[8]通过对原有画笔模型加以改进,并采用能量最小化的方法来优化画笔笔头的几何学表示. Larsson等[9]提

出了一种新型的画笔模型,该画笔几何模型用自由运动链表示画笔的中心脊骨,并利用多边形网格表示画笔中的笔毛簇,基于最小包围球思想并结合能量最优化理论求解画笔笔头的变形.徐军[10]于2017年在深入分析毛笔物理性能、归纳毛笔建模方法以及在总结毛笔笔法的基础上,通过分析力对毛笔变形的影响机理,采用弹簧-振子模型构建了毛笔力反馈仿真新模型,并根据毛笔受力后的形态变化和运动变化,研究了笔道绘制算法,实现了毛笔笔道的实时绘制.

基于上述研究,本文提出了一种新型的基于物理的变刚度3D画笔模型以及相应的三维物体表面触觉绘制和装饰方法,并融入实时力反馈技术和采用一台6自由度的力反馈设备,实现了三维物体表面的交互式绘制. 在绘制时,画笔的力觉信息可以实时传输给力反馈设备,因此,用户可以通过反馈的触觉力,实时调整绘制结果以达到预期效果.

1   虚拟画笔建模

为了实现三维物体模型表面的触觉绘制装饰,构建一个富有表现力的虚拟3D画笔模型是非常重要的.基于画笔的实际特性,我们构建了一个带有双层结构的3D画笔模型[11-14],该模型融合了画笔外在的几何学特性和内在的动力学特性,可以模拟真实画笔的物理特性,满足虚拟三維物体表面自由绘制与装饰的需求.

1.1   几何学模型

画笔的几何学模型与其力学模型紧密关联. 受Chu等[5]画笔建模方法的启发,我们将几何学模型(图1)表示为一个骨架和一个经过蒙皮的表面. 脊骨骨架用于处理画笔的常规弯曲变形. 将骨架描述为前后连接的线段序列(也称脊骨段),并且从笔根部到笔尖部,单个脊骨段将变得越来越短.

假定画笔骨架被n+1个节点P0,P1,…,Pn划分为n个小段,P0为笔尖节点,Pn为笔根节点. 线段Pi-1Pi的长度定义为Li . L1,L2,…,Ln构成一等差数列,其计算公式为[15-16]:

式中:i是小于或等于n的正整数;Li表示控制节点 Pi和Pi+1之间的直线段(脊骨段)的长度;n表示脊骨段的数量;L1的预设值与画笔笔头的硬度有关;D表示公差;Lspine表示画笔骨架的初始长度.

对于施加在画笔上的相同力,画笔笔头越软,则靠近笔尖处的鬃毛就越容易发生变形,此时L1的预设值就愈小,反之亦然. L1的值可以通过多次绘制实验获得. 公差D则由画笔骨架的初始长度(Lspine)以及L1的值联合决定. 当画笔弯曲时,整个脊骨段位于同一平面内(图2). 笔杆的倾斜角(即笔杆与绘制纸平面形成的角度)可表示为θ(θ∈(0,π)). 而脊骨段Pi-1Pi与纸平面(虚拟投影平面)之间的夹角表示为αi(i∈[1,n]). 如果画笔未发生弯曲,则αi = θ. 在虚拟绘制过程中,不考虑画笔扭曲变形,弯曲的画笔中心骨架上所有的控制节点(P0,P1,…,Pn)都将处于同一空间平面上,该空间平面记为A0. 为了约束画笔的变形,将一组横截面定义为画笔的轮廓控制面,此类横截面垂直于空间平面A0,同时穿过控制节点Pi,且平分于邻近的两个脊骨段所形成夹角.画笔表面被表示为三角网格面,该三角网格表面是由画笔中心骨架及一系列由上至下的轮廓控制面经过蒙皮操作而形成. 当画笔未施加任何外力时,本文中的画笔形状类似于一个倒锥,因此画笔轮廓控制面在最初是一系列沿着画笔骨架方向放置的直径大小不同的圆.

在虚拟交互式绘制过程中,轮廓控制平面由圆变为椭圆.控制节点位置的变化引起中心骨架的变形,而每个轮廓控制面也将相应地发生位置和形状的变化,从而引起画笔三角网格面的变形.

1.2   画笔骨架弯曲力学模型

画笔力学模型构建的目的主要是用来仿真模拟绘制过程中画笔受到外来施加的弯矩和压力作用时的笔头弯曲变形、画笔笔头扁曲、笔毛散开等物理现象.

引入一种变刚度弹簧质量模型[17]来仿真绘制过程中当外力矩施加于画笔上的时候,画笔的动态弯曲变形(图3).

在虚拟交互式绘制过程中,将一个遵循空间平面内弯曲变形的虚拟扁截面变刚度的弹簧置于点Pm与接触点Pm′之间. 这里,弯曲弹簧在虚拟绘制过程中将与绘制纸平面(或虚拟投影平面)成垂直或倾斜角度,并且虚拟弹簧与其在绘制平面内的正向投影(沿着法向量方向)形成一辅助空间平面Pk,受力的画笔将在空间平面Pk内发生弯曲变形.当画笔笔头刚开始接触到绘制平面时,笔头保持笔直状态. 绘制过程中,随着在画笔笔杆端逐渐施加弯矩后,画笔中的可变刚度虚拟弹簧将开始产生弹性甚至弹塑性弯曲. 此时,画笔骨架中的各脊骨节点的位置将跟随变化,同时规定各脊骨段的长度始终保持不变.

考虑实际圆画笔的形状特点,艺术家利用画笔实施书画创作时,经蘸墨后毛笔在外力矩的作用下与纸张接触并发生弯曲变形,由于连续地运笔动作,在纸面上形成各种笔道. 基于上面的分析,我们可以得出画笔的力学模型可以用一个变截面变刚度的弯曲弹簧或者弯曲梁来描述(以下统一称之为弯曲梁),并且该弹簧在外力矩和纸面的共同作用下发生弹塑性弯曲变形.因此有必要深入研究该画笔笔头的复杂力学行为.

首先我们可以将该弯曲弹簧抽象为一虚拟矩形变刚度悬臂梁,如图4所示,其矩形截面的宽度沿着虚拟悬臂梁的长度方向保持不变,为常数b,矩形截面的高度沿着虚拟梁的长度方向不断变化,可用函数h(x)来表示.又规定虚拟梁的材料为理想的各向同性弹性材料.

为了降低计算的复杂度,规定虚拟梁受力弯曲变形属于平面内弯曲,不考虑扭转效应,那么其横截面沿着长度x方向的高度函数及抗弯刚度函数分别为:

再假定,沿轴线方向的梁材料的屈服强度变化函数σs(x)为:

式中:σs0表示虚拟梁屈服强度的参考值系数;s(x)表示虚拟梁x截面位置对Z轴静矩.

当画笔骨架在受力弯曲的开始阶段,变形挠度不大,其内部的虚拟弯曲梁处于弹性变形阶段,对应的挠度we的微分方程为:

将式(4)实施两次积分,则得弹性区挠度积分公式为:

式中:C1及C2表示对应的积分常数,可由具体的虚拟梁两端的边界条件来确定. 在虚拟绘制过程中,随着画笔骨架受力弯曲变形的进一步变大,伴随虚拟梁的横截面上的弯矩逐渐加大,当某一个横截面上最大的弯矩达到梁的弹性弯矩的极限Me(x)时,虚拟梁将进入弹性极限弯曲状态. Me(x)可通过下式计算得到(对于矩形截面梁).

下面,基于具体指定的虚拟梁截面高度函数、弹性模量变化函数,进行详细地虚拟变刚度弯曲梁(虚拟弯曲弹簧)的弹性弯曲变形分析.

1.2.2   弯曲骨架的弹塑性弯曲分析

本文将画笔骨架虚拟弯曲弹簧抽象为弹性模量函数为指数变化函数,而截面高度函数为线性函数的虚拟悬臂梁.首先,虚拟悬臂梁的截面高度遵循线性变化,沿着长度方向(也为梁的轴线方向)材料的的弹性模量遵循指数方式变化,即满足如下形式:

对于本文中的画笔力学模型,根据实际书写特点,可以将其力学模型抽象为左端固定右端自由的悬臂梁,忽略其自重,当在梁的自由端部施加一集中载荷P后,可把式(7)(8)代入式(5)并做积分处理,则虚拟悬臂梁(本文中的虚拟弯曲弹簧)的挠度可以表示为:

這里,Ei(z)代表指数积分函数.

1.2.3   力反馈分析

基于以上对画笔模型(可变刚度梁)变形的力学分析,可以建立一个能反映出画笔骨架弯曲变形与画笔实时受力之间的一一对应关系基本二维查询表,以期实现快速地力反馈计算,如表1所示.

表1中,M表示施加在笔杆处的弯矩;Pmb表示笔杆处截面的基本中心坐标,其初始值为(0,0,0);LE表示笔头的长度;P0b表示笔尖相对于点Pmb的基本坐标;θb表示笔尖处的截面法线相对于笔杆的相对转角;Pib表示第i个画笔骨架节点相对于Pmb的基本坐标;θib表示在画笔骨架的第i个骨架节点处的截面法线相对于笔杆的相对旋转角;mi表示施加在画笔骨架上第i个骨架节点Pi处的弯矩.其中,M、 Pmb、LE可由力反馈设备Phantom Desktop实时提供,其余参数可由本文的算法求解获得.

基于上述基本查询表,可以得出许多重要的画笔受力变形参数.其基本思想被称之为“固定形状法”. 固定形状法可以被分解为两步.

1)首先,考虑实际的画笔绘制过程,当施加于画笔的弯矩M、笔根中心节点Pm以及笔头长度LE一定时,则画笔骨架对应的弯曲变形形状就被固定下来了(而且无论当前画笔笔杆的实际姿态角是多少),如图5所示.

因此,当画笔受力产生弯曲变形后,则“基本的”虚拟画笔笔尖点Pm0(xw,yw)的坐标(即相对于笔根中心点Pm(xm,ym))就是固定的,并且Pm0(xw,yw)可以通过使用基本查询表并参照Pm(xm,ym)的坐标值直接得到.

2)为了得到绘制时某一采样时刻笔尖点P0的实际坐标,可以假想将画笔骨架受力弯曲变形的基本形状Pm-Pm0以Pm(xm,ym)为圆心顺时针旋转α角度(如图6所示),此时辅助过渡笔尖点Pm0刚好落在水平x轴上(即绘制平面上). 相应地,点Pm0变换为实际绘制时的画笔笔尖点P0(xwa,ywa),且有ywa = 0.基于图6中的几何学知识,可以得到:

因此,xwa = xm  - L,ywa  = 0.由角度转换关系,笔杆的姿态角经转换,其实刚好为α(图6所示),它可由下式得到:

在笔尖节点处截面法线相对于竖直线(即绘制平面的法线)的绝对转角θ(如图5所示)可由下式计算得到:

同理,参数Pi(表示画笔骨架上第i个骨架节点的绝对坐标值)和参数θi(表示画笔骨架上第i个节点相对于竖直线的绝对转角)都很容易通过计算得到(此处略去).由绘制平面施加给画笔笔尖部位的反力Fre(图6)可由下式计算得到:

式中:ξm是用于反力计算的调整因子, ξm∈[0,1],其可由多次绘制实验获得;Fp=(1+ξm)M/LE表示反馈力.

摩擦力可以使用户感知三维虚拟物体表面的粗糙,并能在绘制过程中稳定控制3D画笔.摩擦力Ff可由下式计算得到:

1.2.4   画笔表面变形

在实际绘制过程中,画笔笔头在压力的作用下开始与绘图平面接触并形成一个画笔笔触,笔头从笔根到笔尖部分逐渐变的扁平. 因此,在绘制平面压力和摩擦力的作用下,画笔的每个轮廓控制面的形状将逐渐从圆形变为椭圆[14],如图7所示.

随着施加在画笔上压力的增加,椭圆的短轴 Rib将越来越短,而长轴Ria将越来越长.因此,整个椭圆将变得更加扁平.当画笔未受到外力作用时,可以得到Ria = Rib = Ri.随着施加在画笔上的外力逐渐增加,椭圆的形状不断变化,Ria可由下式得到:

式中:mi是控制节点pi处截面的弯曲力矩;dm和em是通过实际绘制实验得到的椭圆调整因子,以模拟在不同的绘制条件下最真实的画笔变形;pn是压力系数,它被定义为压力F(绘制纸平面上的反力)与力反馈设备最大输出力的比值.  这里,在我们的绘制系统中,所采用的力反馈设备Phantom Desktop所能提供的最大输出力为7.9 N,因此pn = F/7.9,其pn∈[0,1],假定轮廓控制面的面积在变形前后保持不变,于是短轴Rib可由下式计算得到:

2   三维物体表面的虚拟绘制

在我们的绘制系统中,采用一种局部映射方法来实时地将二维画笔笔触映射到三维物体外表面.进而,通过沿绘制方向叠加3D画笔笔触则可以得到3D画笔笔道. 然后,采用一种基于Kubelka-Munk的颜色光学算法对3D笔道进行实时渲染.

2.1   虚拟画笔二维笔触的形成

受Baxter及Chu等的启发,我们假定弯曲变形后的画笔笔头与虚拟绘制平面相交,将笔头穿透部分向绘制平面正向投影,则投影后的区域即为所形成的二维画笔笔触.该笔触轮廓可由经关键控制点插值后得到的两条对称的B-spline曲线所组成,如图8(b)所示. 在虚拟绘制过程中,可以通过控制笔触轮廓上关键点位置以及数量从而使二维笔触的形状与大小发生相应调整和变化.

基于几何学知识,线段Ni N′i为虚拟绘制平面与画笔骨架上第i个轮廓控制圆(圆心为Pi)相交得到.笔触轮廓控制点Md是变形的笔头的左侧轮廓线(图8 (a))与毛笔骨架在绘制平面上的投影相交而得到,接着可以计算得到笔尖点P0的坐标值,根据P0进一步求得画笔中心骨架上节点Pi的坐标,进而可求得笔触轮廓控制点Ni、N′i的坐标值,相关点的具体计算过程可参考文献[13].最后过以上关键轮廓控制点P0、Ni、N′i、Md,并采用B样条曲线插值法便可得到画笔的二维笔触轮廓,如图8(b)中所示.

2.2   虚拟画笔与虚拟油泥3D物体间的碰撞检测及接触力仿真

本文采用一种OBB(Oriented Bounding Box)包围盒算法[18-19],以实现虚拟画笔笔头与三维物体外表面之间的碰撞检测.为了确定画笔与三维物体(如虚拟油泥模型)之间的相对位置,引入了一个带有很小公差范围的参数-接触距离ddep. ddep被定义为画笔与虚拟油泥模型表面之间的距离.如果ddep处在给定的公差范围之内,系统将会产生一个很小的接触力(约0.1 N),并通过力反馈设备Phantom Desktop传递给用户,从而虚拟画笔与虚拟3D模型之间的接触可以快速地被用户所感知.

在系统中,虚拟画笔和虚拟三维模型的外表面被表示为三角网格,因此,ddep还可定义为笔尖P0与虚拟油泥3D模型表面上一系列若干三角网格顶点之间的加权的平均距离.这些三角网格顶点十分靠近笔尖P0点,且其个数本文中默认值通常被设定为Mn = 10. 因此,ddep可由下式定量计算得到:

式中:wi为加权系数;ni为三维物体外表面的法向量;xi为三维物体表面三角网格顶点的坐标矢量;x为笔尖节点P0的坐标矢量;di = xi - x;dmax为di的最大值.当ddep的值处在给定的容差范围内时,用户会感知到虚拟画笔与虚拟油泥3D模型间的接触或碰撞.然后,用户可按下力反馈设备Phantom Desktop上的触针按钮,可将接触力置为无效.然后,笔尖控制节点P0自动被系统约束到三维物体的表面,以便后续的触觉绘制仿真. 笔尖P0的坐标矢量被变换为:

2.3   投影平面的确定

在虚拟三维绘制过程中,其中一个重要的环节就是如何建立合适的虚拟投影平面,该平面用于将二维笔触通过特定算法实时映射到三维物体的表面,从而形成对应的三维绘制笔触.受Larsson等[9]关于最小边界包围球算法的启示,本文基于一种球扩展迭代操作建立笔头最小包围球.如图9所示,顶点A为受力变形后的虚拟画笔表任意一顶点,遍历整个虚拟画笔模型的表面顶点,搜索出距离顶点A最远的画笔模型表面顶点B,同理,再搜索出距离顶点B最远的画笔模型表面顶点C,以线段BC的长度作为直径(其半径记为r0),BC的中点D0作为球心,作球(D0,r0),并以此作为画笔笔头的初始边界包围球;顶点E为初始边界包围球(D0,r0)之外的画笔上的一个顶点,我们将线段D0 E的长度表示为l1.过D0  作D0 E的垂线并交包围球(D0,r0)于F、G两点.连接EF、EG、FG,则三角形FEG顯然是基底为2r0的等腰三角形,FG为包围球(D0,r0)的直径.然后在线段D0E上取一点D1,连接D1F,并将D0 D1的的长度记为ld1,将线段D1E的长度记为r1.然后以r1为新的半径,以D1为圆形作新的扩展球(D1,r1).新得到的扩展球(D1,r1)的半径r1为:

显然,基于几何学知识,很容易进一步计算得到扩展球(D1,r1)的中心坐标D1以及半径r1. 重复执行以上步骤,直到变形的画笔笔头模型的所有外表面顶点都被涵盖在某一扩展包围球中,我们把此扩展球作为画笔笔头的目标最小边界包围球(Df,rf).

基于球扩展操作,得到了绘制笔头模型的最小包围球,在绘制过程中画笔笔根处的节点Pm在虚拟三维物体表面的投影点设为Pm′(如图10所示),以最小包围球的球心Df为中心,搜索出距离点Df的长度小于等于rf的所有三维模型表面上的顶点,然后计算出这些顶点的各个法矢,我们取这些法矢的平均值作为待求的虚拟投影平面的法向量.同时又规定待求投影平面过点Pm′,经此操作,便确立了最终的虚拟投影平面位置.基于投影平面和画笔的弯曲变形,可以得到绘制过程中的二维画笔笔触,再将得到的二维笔触轮廓向三维模型表面反向投影,便可获得虚拟物体表面的三维笔触.

2.4   三维笔触水墨量及笔道的形成

在交互式的3D笔道仿真过程中,含于笔头中的水墨实时的从画笔传输到与三维物体表面相接触的部分,并将计算后的墨量及颜色填充至相接触的区域. 通常而言,在某一采样时刻3D笔触中的墨量值正比于施加于画笔笔杆的弯矩、画笔笔头内在对应采样时刻所剩余水墨量.将画笔笔头在蘸墨后的起始包含的墨量表示为Z,在第i个采样时刻对应的弯矩因子为Mei = Mi /(7.9 × LE),那么在最开始第一个采样时刻点对应的3D笔触中包含的水墨量值(Q1)可由下式计算得到:

式中:η表示不同画笔的水墨量计算因子,该系数通过多次模拟实验获得,用于调整和控制虚拟绘制过程中的3D笔触所包含的水墨量,真实再现3D物体外表面与画笔头间的水墨传输过程. 那么对应于第i个采样时刻点的3D笔触中所包含的水墨量可通过下式计算得到:

这里,i≥2,且i取值为正整数. 当画笔沿着某个笔划路径移动时,包含在画笔笔头中的墨水会被传输到三维模型的外表面. 利用颜色光学KM理论将油墨量转变为颜色强度值,于是在三维物体表面会形成带颜色的三维笔触. 具体的原理如图11所示.

在虚拟3D绘制过程中,通过沿采样点叠加3D画笔笔触可形成3D画笔笔道(如图12所示).

2.5   画笔笔头分叉建模

在利用真实的画笔去实现诸如书法、绘画等艺术品的创作时,画笔的笔头分叉是一种奇特的绘制过程(物理现象),也是最难模拟的部分. 基于实际绘制经验,观察得出笔头分叉与笔头所产生的弯曲变形量、画笔笔头的实时含墨量有关. 当画笔笔头所产生的局部弯曲变形量以及实时含墨量达到某种阈值时,笔头的笔尖处开始出现分叉现象.在分叉模型中,距离笔尖处的局部骨架将由一个骨架分化成3个子骨架,每个子骨架又被脊骨节点分成若干个小脊骨段,每个子骨架的力学模型类似于上文中讲述的基本画笔骨架建模原理,如图13所示. 为了减少计算量,我们规定需要实现分叉的笔尖处局部骨架的长度约占整个画笔骨架长度的1/3. 这里需要指出的是,画笔笔头的弯曲变形又和笔杆处所受到的弯矩M成正相关.画笔笔头开始出现分叉时的阈值可用SP表示,SP可由下式求得:

Mξ是分叉因子,由多次绘制实验获得.

3   仿真实验验证

采用所提出的触觉画笔模型及虚拟三维绘制方法,成功开发出基于实时力反馈技术的虚拟三维绘制系统.该系统开发使用的主要编程语言为C++,使用的集成开发环境为vs2008,界面库采用QT,三维图形渲染库采用美国的商用图形开发包openinventor,触觉反馈库采用Sensible公司的openhaptic开发包,数学运算库采用科学计算库gsl. 该三维绘制系统稳定运行于HP Xw8600工作站上,并通过串行接口集成一台6自由度的Phantom Desktop力反馈设备(图14).力反馈设备可以实时提供画笔笔杆的受力和位置等相关信息,以用于计算画笔的实时弯曲变形和水墨传输过程.交互式触觉三维绘制系统界面如图15所示.

第一个仿真实验内容是关于画笔受力变形问题,所采用的画笔参数如表2所示. 当对画笔施加不同的压力(Fre)时,所得到的相应画笔变形如图16所示.可见画笔受力越大,弯曲变形越明显,同时得到的笔道也越宽.

作为一个简单的例子,中国汉字“七上八下”被绘制在一个碗模型的内表面(图17).

图18显示了使用交互式触觉绘制系统在3D物体表面实施绘制的一个具体的实例(两只小鸭子被绘制在一个碗模型上).

在使用我们的画笔模型进行的另一组仿真实验中,画笔参数如表2所示. 中国汉字“漫步人生”被绘制在一个盘子模型的内表面(图19(a)). 相比于采用“Moxi” 二维绘制系统所得到的绘制结果(图19(b)),使用我们的系统可绘制出带有水墨扩散效果的三维笔道和字迹. 在图20中展示了仿真实验中得到画笔分叉效果.

4   结   论

基于实时力反馈交互技术,提出了一种新型的变刚度虚拟画笔模型及三维物体表面实时触觉装饰方法. 针对虚拟三维表面绘制问题,深入研究了带有变刚度弹塑性的虚拟3D画笔实时触觉行为. 通过引入弯曲弹簧振子模型以构建3D画笔力学模型,分析了画笔受力、姿态、含墨量与画笔变形之间的动态关系. 类似于但又不同于数据驱动建模技术,我们建立了一种二维查询表,可以实现受力与相应笔头变形的快速求解.该画笔模型可以模拟实际画笔的许多重要特征,如:更软的画笔笔尖、画笔分叉等. 实际上这些行为都是比较复杂的非线性物理现象,我们仅做了部分的有益探索.此外,为研究虚拟画笔与虚拟3D物体之间的碰撞检测问题,我们引入了一种基于“加权的平均距离”的碰撞检测算法. 再采用一種有效的包围球扩展操作获得画笔的最小包围球,并计算得到虚拟投影平面.通过将虚拟投影平面上形成的2D笔触实时的映射到3D物体外表面就可以到画笔的3D笔触. 使用课题组开发的三维表面绘制系统,并运用Phantom Desktop力反馈设备,较好的实现了三维产品外表面的触觉装饰,极大地增强了绘制过程的真实感,同时又能支持外观设计师创新灵感的发挥.

参考文献

[1]    ZHANG E,MISCHAIKOW K,TURK G. Feature-based surface parameterization and texture mapping [J]. ACM Transactions on Graphics,2005,24(1):1—27.

[2]    FOSKEY M,OTADUY M A,LIN M C. ArtNova:touch-enabled 3D model design[C]// Proceedings IEEE Virtual Reality 2002. Washington D C:IEEE Computer Society,2002:119—126.

[3]    GREGORY A D,EHMANN S A,LIN M C. Intouch:interactive multiresolution modeling and 3D painting with a haptic interface[C]// Proceedings IEEE Virtual Reality 2000. Washington D C:IEEE Computer Society,2000:45—52.

[4]    FU Y X,CHEN Y H. Haptic 3D mesh painting based on dynamic subdivision [J]. Computer-Aided Design and Applications,2008,5(1/4):131—141.

[5]    CHU N S H,TAI C L. An efficient brush model for physically-based 3D painting[C]// 10th Pacific Conference on Computer Graphics and Applications. Washington D C:IEEE Computer Society,2002:413—421.

[6]    KIM L,SUKHAMTME G S,DESBRUN M. A haptic-rendering technique based on hybrid surface representation [J]. IEEE Computer Graphics and Applications,2004,24(2):66—75.

[7]    KIM L,SUKHAMTME G S,DESBRUN M. Haptic editing of decoration and material properties[C]// 11th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems. Washington D C:IEEE Computer Society,2003:213—220.

[8]    BAXTER W V. Physically-based modeling techniques for interactive digital painting [D]. Chapel Hill,USA:University of North Carolina,2004:132—135.

[9]    LARSSON T,KALLBERG L. Fast and robust approximation of smallest enclosing balls in arbitrary dimensions[C]// Symposium on Geometry Processing. Delft,Netherlands:Eurographics Association,2013:93—101.

[10]  徐军. 基于力反馈技术的虚拟三维绘制关键技术研究[D]. 大连:大连理工大学机械工程学院,2017:30—36.

XU J. Research on key technologies of virtual 3D rendering based on force feedback technology [D]. Dalian:College of Mechanical Engineering,Dalian University of Technology,2017:30—36. (In Chinese)

[11]  PAN H B. Computer simulation and implementation in Chinese calligraphy dry brush [J]. Applied Mechanics & Materials,2014,543:1689—1693.

[12]  YAN F X,HOU Z X,ZHANG D H,et al. Virtual clay modeling system with 6-DOF haptic feedback [J]. Materials Science Forum,2009,628:155—160.

[13]  HUANG L,HOU Z X, GUO C,et al. Haptic decorating on the surface of virtual clay model [J]. Mathematical Problems in Engineering,2018,2018:1—12.

[14]  GUO C,HOU Z X,YANG G Q,et al. The simulation of the brush stroke based on force feedback technology [J]. Mathematical Problems in Engineering,2015,2015:1—10.

[15]  GUO C,HOU Z X,SHI Y Z,et al. A virtual 3D interactive painting method for Chinese calligraphy and painting based on real-time force feedback technology [J]. Frontiers of Information Technology & Electronic Engineering,2017,18(11):1843—1853.

[16]  HUO B Y,YI W J. The theoretical analysis of dynamic response on cantilever beam of variable stiffness [J]. Engineering Sciences,2014,54(2):93—96.

[17]  XIAO H,BRUHNS O T,MEYERS A. Elastoplasticity beyond small deformations [J]. Acta Mechanica,2006,182(1/2):31—111.

[18]  PENG F Y,SU Y C,ZOU X M,et al. Global interference and collision detection based on hierarchical OBBTree in the 5-axis machining of impeller [J]. China Mechanical Engineering,2007,18(3):304—307.

[19]  胡志剛,秦启飞. 基于凸包的最小体积有向包围盒生成算法[J]. 湖南大学学报(自然科学版),2019,46(2):105—111.

HU Z G,QIN Q F. Algorithm for finding minimum volume oriented bounding boxes based on convex hull [J]. Journal of Hunan University (Natural Sciences),2019,46(2):105—111. (In Chinese)

猜你喜欢
人机交互
某型柴油机虚拟维修系统研究
基于虚拟现实技术的九江城市交通事故模拟系统设计
人机交互课程创新实验
基于任务规划的家庭仿真服务机器人的研究
多点噪声远程自动采集系统设计
基于智能手机的盲人语言应用软件的设计与开发
基于Intel Realsense技术的感知展示系统的设计与开发
图像处理耦合模板定位的答题卡识别研究与应用
数字化控制系统人机交互的特征及预防人因失误策略
基于物联网家居安防系统的设计