主权项 |
一种新型的镂空3D灯罩设计方法,其特征在于包括如下步骤:1)构建基础3D灯罩模型,构建方法如下:1.1)选取有厚度的2D规则平面,设置平面底部横向坐标为[x<sub>0</sub>,x<sub>1</sub>],纵向坐标为[y<sub>0</sub>,y<sub>1</sub>],垂直于屏幕为z轴;1.2)将2D规则平面拼接成光滑圆柱体,即基础3D灯罩模型,光滑圆柱体顶端和底端不封闭,拼接方法是将2D规则平面的2D坐标(x<sub>i</sub>,y<sub>i</sub>)转换至3D坐标(x<sub>i</sub>',y<sub>i</sub>',z<sub>i</sub>'),转换公式如下:<maths num="0001"><math><![CDATA[<mfenced open = "{" close = ""><mtable><mtr><mtd><msup><mi>x</mi><mo>′</mo></msup><mo>=</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo>(</mo><mfrac><mi>x</mi><mrow><mi>w</mi><mi>i</mi><mi>d</mi><mi>t</mi><mi>h</mi></mrow></mfrac><mo>·</mo><mn>2</mn><mi>π</mi><mo>)</mo><mo>·</mo><mo>[</mo><mi>R</mi><mo>-</mo><mi>U</mi><mi>n</mi><mi>i</mi><mi>t</mi><mi>V</mi><mo>(</mo><mfrac><mi>z</mi><mrow><mi>R</mi><mo>-</mo><mi>r</mi></mrow></mfrac><mo>)</mo><mo>·</mo><mo>(</mo><mi>R</mi><mo>-</mo><mi>r</mi><mo>)</mo><mo>]</mo></mtd></mtr><mtr><mtd><msup><mi>y</mi><mo>′</mo></msup><mo>=</mo><mi>y</mi></mtd></mtr><mtr><mtd><msup><mi>z</mi><mo>′</mo></msup><mo>=</mo><mi>R</mi><mo>-</mo><mi>U</mi><mi>n</mi><mi>i</mi><mi>t</mi><mi>V</mi><mo>(</mo><mfrac><mi>z</mi><mrow><mi>R</mi><mo>-</mo><mi>r</mi></mrow></mfrac><mo>)</mo><mo>·</mo><mo>(</mo><mi>R</mi><mo>-</mo><mi>r</mi><mo>)</mo></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001117566250000011.GIF" wi="965" he="303" /></maths>其中,UnitV()是标准化计算,R和r是卷曲后的内外圆的半径差值,with为底边长;2)在基础3D灯罩模型上添加镂空体元素,包括如下步骤:2.1)在基本模型库中选取基本镂空体元素;2.2)灯罩的镂空体元素采用选择性网格连接,即在镂空体元素的中心镂空部分删除相连的网格单元;2.3)将灯罩的镂空体元素绑定至圆柱体的控制网格中,即将整个圆柱体按需要设置n个控制网格,镂空体元素被迭代绑定至每个控制网格中;3)对基础3D灯罩模型进行简单形变,简单形变包括高度形变和简单半径形变;4)对基础3D灯罩模型进行复杂形变,即将半径曲线等比绑定圆柱体,在半径曲线上设置多个控制点,通过拖动控制点控制3D灯罩模型的复杂形变,实现圆柱的局部半径发生变化;其中,非控制点之间的映射点采用线性插值,映射点的线性插值半径计算方法如下:<maths num="0002"><math><![CDATA[<mrow><msup><mi>D</mi><mo>′</mo></msup><mo>=</mo><mi>D</mi><mo>+</mo><msub><mi>d</mi><mrow><mi>a</mi><mi>d</mi><mi>d</mi></mrow></msub><mo>-</mo><mfrac><mrow><msub><mi>d</mi><mrow><mi>a</mi><mi>d</mi><mi>d</mi></mrow></msub><mo>+</mo><msub><mi>d</mi><mrow><mi>d</mi><mi>e</mi><mi>c</mi></mrow></msub></mrow><msub><mi>d</mi><mrow><mi>w</mi><mi>i</mi><mi>t</mi><mi>h</mi></mrow></msub></mfrac><mo>·</mo><mi>d</mi></mrow>]]></math><img file="FDA0001117566250000012.GIF" wi="550" he="119" /></maths>式中,D'为需要求解的当前该圈段的半径值,即映射点的线性插值半径;D为未调整基线时的圆柱半径,d<sub>with</sub>为圆柱体两映射点间的距离长度,d为圆柱上两映射点间的某一点相距左边映射点的距离值,d<sub>add</sub>为一个映射点半径变化量,另一个映射点使半径减少d<sub>dec</sub>为另一个映射点半径变化量。 |