一种基于三阶Bezier曲线的伪装迷彩自动生成方法

文档序号:9249718阅读:1273来源:国知局
一种基于三阶Bezier曲线的伪装迷彩自动生成方法
【技术领域】
[0001] 本发明设计算机图形学,特别是用=阶Bezier曲线模拟迷彩斑点,并用计算机实 现迷彩斑点的自动绘制。
【背景技术】
[0002] 迷彩伪装技术是现代军事中重要的伪装技术,经过后期的实际发展,迷彩与科技 融合后生成了变形迷彩和仿造迷彩。传统斑点图案生成主要是人工绘制(每幅迷彩图案少 则几十个斑点,多则上千个斑点),该种做法不仅生产效率低下,而且斑点形状W及颜色面 积比等各个方面很难达到实际要求,没有发挥计算机给生产带来的方便。本迷彩图案自动 生成系统的设计主要依托计算机技术,实现迷彩图案的自动绘制,不仅大大提高了设计效 率,而且利用数字图像处理技术对人眼不能识别的色差、曲率半径等进行处理,并且各种颜 色的面积比更加精确的符合迷彩图案设计要求,增强了伪装程度。迷彩的伪装技术建立在 排列无规则、大小不一、曲率半径适当的斑点之上,斑点颜色符合国军标或者特殊标准。斑 点大小需要满足画布比例要求,同时各个斑点衔接处要尽量自由圆滑、符合曲率半径要求, 整幅图案颜色要符合给定的颜色比例。
[0003] 由于战地场景的多变性,迷彩的设计随机性要求就比较高。为了能够完成达到要 求的斑点图案,工作人员需要手动去绘制完全无规则的曲线斑点、调节斑点曲率、设置斑点 颜色。往往一幅斑点图案需要随机上百个斑点,该给工作人员带来了很大的任务量。绘制 好的图形要不断调整,满足最佳状态,还需要借助计算机S维模型展示,并在AutoCAD图纸 中绘图,该是一个非常复杂的过程,因此本迷彩图案自动生成系统非常具有实际意义。

【发明内容】

[0004] 迷彩图案自动化生成系统的开发旨在提供高效、便捷的迷彩设计方式。本设计的 核屯、是自动化生产,最终成果必须具备快速自动设计符合要求斑点图案的功能。因此,本方 法具有按照给定模型尺寸、颜色比、斑点曲率半径,快速自动化生成符合上述要求的迷彩斑 点、并在AutoCAD中自动绘图等几个主要方面的功能。
[0005] 本发明的特征在于含有W下步骤:
[0006] 步骤(1),斑点曲线建模:用S阶Bezier曲线作为迷彩斑点曲线,用闭合的S阶 Bezier曲线模拟迷彩斑点。S阶Bezier曲线定义如下;
[0007] 定义给定空间n+1个点的位置矢量Pi(i= 0, 1,2,......,n),则迷彩斑点参数曲 线上各点坐标的插值公式是:
[000引
[0009] 其中,Pi构成该迷彩斑点曲线的特征多边开多,Bi,D(t)是n次Bernstein基函数;
[0010]
[0011] 其中:
[0012] n为基本曲线的次数。
[0013] C为组合数公式。
[0014]t表示曲线上点的位置,t的取值为[(U],0代表曲线的开始点位置,1代表曲线 的末端点位置。
[0015] i的取值是从0到n
[0016]其中规定;〇°= 1,〇! = 1
[0017] 迷彩斑点的曲线性质:
[0031] 5)迷彩斑点曲线在t = t。处的坐标计算式为:
[0032]p(t〇) = (l-t〇)3p〇+3t〇(l-t〇)2pi+3t〇2(l-t〇)P2
[0033] 步骤(2),手动绘制单个迷彩斑点:用户在软件绘图界面左键点击屏幕来确立一 系列关键点,记录用户点击过的关键点坐标(并将用户点击过的关键点在屏幕上标识出 来)。当用户点击的某个点和点击的第一个点重合的时候(用户所点击的点的总个数大于 二个),将用户点击过的点,按照先后顺序,用S阶Bezier曲线的曲线拼接技术,把用户点 击过的该一系列点连接起来(同时保留S阶Bezier曲线各点处的坐标,方便计算曲线各点 处的曲率半径),W此绘制出一个迷彩斑点。
[0034] 步骤(3),检测单个斑点各处的曲率半径,并绘制出符合曲率半径要求的斑点:
[0035] 依据=阶Bezier曲线在各点处的曲率半径计算公式,结合步骤(1)中生成的=阶 Bezier曲线各点处的坐标,计算出=阶Bezier曲线各点处的曲率半径值,然后结合所要求 的曲率半径的值,来检测并标记出不符合曲率要求的曲线,再通过人手动的方式,对点击过 的关键点的手动调节,将不符合曲率半径要求的点调节为符合曲率半径要求的点,即;绘制 的曲线各点的曲率半径必须比大于等于所给出的曲率半径的值。最终绘制出一个符合曲率 半径要求的迷彩斑点。
[0036] 步骤(4),建立符合曲率半径要求的迷彩斑点库:
[0037] 保存步骤(3)中符合要求的迷彩斑点的坐标到文件(例如一种实现方式;每一个 迷彩斑点保存为一个.spot文件,并W数字命名所保存的文件,1.spot, 2.spot……),并W 单个斑点所含关键的个数为划分依据,分别建立含有多个关键点的大型斑点库和包含较多 斑点的中型斑点库W及包含较少斑点的小型斑点库。
[003引步骤巧),将车辆的模型简化为一个长方体,建立了与车辆模型相匹配的五面画 布,该画布为平面结构,其包括矩形A、矩形B、矩形C、矩形D、矩形E,其中矩形E为该五视图 画布的中屯、面,矩形E的四条边分别为边a、边b、边C、边d;所述矩形A、矩形B、矩形C、矩 形DW矩形E为中屯、,矩形A与矩形E公共边为边a,矩形B与矩形E公共边为边b,矩形C 与矩形E公共边为边C,矩形D与矩形E公共边为边d。该五视图画布的矩形A、矩形B、矩 形C、矩形D分别W边a、边b、边C、边d为中屯、,沿平面内竖直方向90°旋转,矩形A、矩形 B、矩形C、矩形D、矩形E即组成无盖的六面体结构,该六面体结构与待绘制的车辆模型相对 应,其中矩形E为待绘制的车辆模型的顶面,矩形A、矩形B、矩形C、矩形D为待绘制的车辆 模型四个侧面,如图2。
[0039] 步骤化),随机生成一幅包含多个迷彩斑点(各个迷彩斑点之间没有交集)的迷彩 图案:
[0040] 步骤化1)首先建立一个序列list,用来保存斑点,初始时存储序列为空,每次在 画布上添加一个斑点,就把所添加的斑点加入到存储序列中。
[004U步骤化2)将画布纹理映射到车辆时,画布上的矩形A、矩形B、矩形C、矩形D会分 别覆盖到车辆的四个侧面,此时矩形A与矩形B、矩形B与矩形C、矩形C与矩形D、矩形D与 矩形A会产生四条公共边,记为:油、be、cd、da。油由画布上的矩形A的边al与画布上的 矩形B的边bl合并而来,be由画布上的矩形B的边b2与画布上的矩形C的边cl合并而 来,cd由画布上的矩形C的边c2与画布上的矩形D的边dl合并而来,da由画布上的矩形 D的边d2与画布上的矩形A的边a2合并而来。油、be、cd、da与车辆竖直方向的四条侧棱 相对应。为实现车辆上跨越该四条侧棱的斑点为同一个斑点,需要对五视图画布上的斑点 做如下所示处理(图3):
[00创 步骤化2. 1)将矩形A、矩形B、矩形C、矩形D的八条边;al、a2、bl、b2、cl、c2、 dl、d2划为四组,al、bl划为第一组,b2、cl划为第二组,c2、dl划为第S组,d2、al划为第 四组。记边al、bl的交点坐标为(xCenter,yCenter)。
[004引步骤化2. 2)从小型斑点库随机一个斑点spot,并让其跨越边al,记斑点spot中 屯、坐标为(x,y),并将其加入到序列list中。
[0044] 步骤化2.如将斑点spot的中屯、坐标(X,y)Wal、bl的交点坐标(xCenter, yCenter)为旋转中屯、顺时针旋转90度,此时斑点跨越边bl。
[0045] 步骤化2. 4)将旋转90度过后的斑点spot加入到序列list中。
[0046] 步骤化2. 6)其余S组边做同样处理。
[0047] 步骤化3)在画布主干区域布大斑点。按照一定的间隔,从主干区域起始位置到 主干区域终点位置,遍历主干区域。然后从大型斑点库取一个斑点,用当前位置坐标作为大 型斑点的中屯、位置。根据当前大型斑点的缩放比例,旋转角度,计算出大型斑点的每个关键 点在画布上的实际位置。
[0048] 遍历存储
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1