发明名称 模拟三维素描铅笔画的绘制方法
摘要 本发明公开一种模拟三维素描铅笔画的绘制方法,有三维图形输入模块、明暗色调抽取模块、绘制模式生成模块及绘制模块,根据素描铅笔画的特点定义了新的区域划分、采样及绘制模式,所采用的明暗色调抽取方法简单快速,同时所定义的三种笔触模型也简单易行,充分利用铅笔画近似的特性,加快了后续绘制过程速度,提高了绘制三维场景素描铅笔画的效率,利于在实际生产中普及。
申请公布号 CN103679794B 申请公布日期 2017.03.01
申请号 CN201310733180.X 申请日期 2013.12.27
申请人 辽宁师范大学 发明人 王相海;傅博;辛灵;毕晓昀
分类号 G06T15/02(2011.01)I 主分类号 G06T15/02(2011.01)I
代理机构 大连非凡专利事务所 21220 代理人 闪红霞
主权项 一种模拟三维素描铅笔画的绘制方法,其特征在于按如下步骤进行:a. 输入三维几何模型方程,获得三维几何图形;b. 对三维几何模型进行明暗色调及光亮度的抽取:b.1 在获取的三维几何图形表面选取等距离长度d的分点,将三维几何模型所在三维几何空间分为n个平面,每个平面分别记为归类层part<sup>1</sup>、part<sup>2</sup>、…part<sup>n</sup>;b.2 对各归类层part<sup>i</sup>分别进行光源遮挡判断,确定该归类层part<sup>i</sup>所在位置的明暗信息;b.3 计算一个归类层part<sup>i</sup>的中心点与上下归类层中心点的叉积,将该叉积存储为vector<sup>1</sup>,计算归类part<sup>i</sup>的中心点与其左右归类层中心点的叉积,并存储为vector<sup>2</sup>;b.4 对一个归类层part<sup>i</sup>,将其对应的vector<sup>1</sup>和vector<sup>2</sup>做为该平面的法向量,利用phong模型计算该平面中心点的反射光亮度,存储归类层part<sup>i</sup>的反射光亮度;c. 定义竖线笔触模型、横线笔触模型或弧线笔触模型,对三维模型均匀分点,建立绘制模式:c.1 定义竖线笔触模型、横线笔触模型、弧线笔触模型;约定:笔触的起点为A(x<sub>a</sub>,y<sub>a</sub>,z<sub>a</sub>), 笔触的终点为B(x<sub>b</sub>,y<sub>b</sub>,z<sub>b</sub>), 圆心坐标为O(x<sub>o</sub>,y<sub>b</sub>,z<sub>o</sub>);c.1.1竖线笔触模型是指以分点A(x<sub>a</sub>,y<sub>a</sub>,z<sub>a</sub>)为起点竖直向下一段长度的线段,竖线笔触模型取一定范围内的随机数<i>h</i> ,使所画的竖直笔触的长度为<i>h•d</i> ,由直线方程推出所绘制笔触的终点B(x<sub>b</sub>,y<sub>b</sub>,z<sub>b</sub>)坐标为(x<sub>a</sub>,y<sub>a</sub>‑<i>h• d,z</i><sub>a</sub>);c.1.2横线笔触模型是指以分点A(x<sub>a</sub>,y<sub>a</sub>,z<sub>a</sub>)为中点相切于三维几何模型表面的横线段,横线笔触模型设通过A点绘制随机长度为<img file="209611dest_path_image001.GIF" wi="38" he="21" />横线笔触,其中<img file="813593dest_path_image002.GIF" wi="15" he="17" />为一定范围内的随机数,设圆柱的中轴线垂直于<img file="512296dest_path_image003.GIF" wi="27" he="15" />平面,过A点与圆柱中轴线垂直的圆柱截面的圆心坐标为<img file="944415dest_path_image004.GIF" wi="107" he="28" />,则以A点为中点的横线的起点B(x<sub>b</sub>,y<sub>b</sub>,z<sub>b</sub>)和终点<img file="84278dest_path_image005.GIF" wi="86" he="21" />坐标分别为:<img file="130600dest_path_image006.GIF" wi="290" he="145" />;<img file="181514dest_path_image007.GIF" wi="265" he="135" />;c.1.3弧线笔触模型是指以分点A(x<sub>a</sub>,y<sub>a</sub>,z<sub>a</sub>)为起点,通过调节圆弧半径<img file="541957dest_path_image008.GIF" wi="17" he="16" />、水平分量<img file="801906dest_path_image009.GIF" wi="17" he="18" />和竖直分量<img file="161341dest_path_image010.GIF" wi="16" he="18" />向右下或左下方所绘制的弧线段,弧线笔触以A为起点在垂直于<img file="631375dest_path_image011.GIF" wi="9" he="18" />轴的平面<img file="779197dest_path_image012.GIF" wi="18" he="23" />内绘制一条弧线,然后计算圆柱上过A点切平面的法向量以及它与<img file="899512dest_path_image012.GIF" wi="18" he="23" />平面法向量的夹角<img file="225320dest_path_image013.GIF" wi="15" he="18" />,最后将弧线绕A点旋转<img file="120332dest_path_image013.GIF" wi="15" he="18" />角即可得到以A为起点的弧线笔触;c.2:对三维几何模型建立矩形包围盒,建立三维坐标系,模型中心为坐标系原点,对坐标系建立八个卦限为octant<sup>1</sup>、octant<sup>2</sup>、…octant<sup>8</sup>, 每个卦限选取两个点p,q,作为生成笔触的点;c.3:对于每个卦限上的点p,q,利用Phong模型计算它们在投影屏幕上的漫反射光亮度并予以保存;c.4:对三维几何模型,选取等距离长度d,对每一个固定的u,进行u向等距离d分点,并将分点保存到临时二维数组A中,再以临时二维数组A的点为参照点,沿着总体v向进行等距离d分点,u向、v向分得的点作为三维几何模型的分点m;d. 在三维几何模型上的分点m处,按照b.2步骤所确定的明暗信息、b.4步骤存储的反射光亮度及c.1 步骤定义的笔触模型绘制相应的线条笔触,绘制顺序是按照分点m在观察坐标系下的z坐标从小到大排序进行绘制;在三维几何模型上的点p,q,按照c.3步骤所保存的反射光亮度及c.1 步骤定义的笔触模型绘制相应的线条笔触。
地址 116029 辽宁省大连市沙河口区黄河路850号