OpenGL实现Bezier曲线的方法示例

2020-11-05 10:21:38 浏览数 (2)

Bezier曲线的形状是通过一组多边折线(特征多边形)的各顶点唯一地定义出来的。在这组顶点中:

(1)只有第一个顶点和最后一个顶点在曲线上;

(2)其余的顶点则用于定义曲线的导数、阶次和形状;

(3)第一条边和最后一条边则表示了曲线在两端点处的切线方向。

代码语言:javascript复制
// BezierCurve.cpp : 定义控制台应用程序的入口点。
//
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* #include "stdafx.h"</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="4" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" #include <span class="hljs-tag" <<span class="hljs-name" gl</span /<span class="hljs-attr" glut.h</span  </span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="5" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" #include <span class="hljs-tag" <<span class="hljs-name" gl</span /<span class="hljs-attr" GL.h</span  </span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="6" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" #define DIMENSION 2//定义维度为2维</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="7" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" typedef GLfloat VECTOR [DIMENSION];</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="8" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" VECTOR points[4]= {{-1.0,-1.0},{0.0,2.0},{1.0,2.0},{2.0,1.0}};//四个控制点</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="9" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" GLint count =10000;//绘制10000个点</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="10" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" int ww,hh;</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="11" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" void display()</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="12" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" {</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="13" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  VECTOR c[4];//此矩阵是P和M的积,就是控制点阵和Bezier基矩阵的乘积</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="14" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  for (int i =0;i<span class="hljs-tag" <<span class="hljs-name" DIMENSION;i  )</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="15" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  {</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="16" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="17" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" c</span [<span class="hljs-attr" 3</span ][<span class="hljs-attr" i</span ] = <span class="hljs-string" (0-points[0][i]) 3*points[1][i]-3*points[2][i] points[3][i];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="18" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" c</span [<span class="hljs-attr" 2</span ][<span class="hljs-attr" i</span ] =       <span class="hljs-string" 3*points[0][i]-6*points[1][i] 3*points[2][i];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="19" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" c</span [<span class="hljs-attr" 1</span ][<span class="hljs-attr" i</span ] =               <span class="hljs-string" (0-3*points[0][i]) 3*points[1][i];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="20" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" c</span [<span class="hljs-attr" 0</span ][<span class="hljs-attr" i</span ] =                       <span class="hljs-string" points[0][i];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="21" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="22" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="23" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="24" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  }</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="25" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" GLfloat</span  <span class="hljs-attr" v</span [<span class="hljs-attr" DIMENSION</span ];</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="26" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" GLfloat</span  <span class="hljs-attr" newV</span [<span class="hljs-attr" DIMENSION</span ];</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="27" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" GLfloat</span  <span class="hljs-attr" deltat</span  = <span class="hljs-string" 1.0/count;</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="28" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" GLfloat</span  <span class="hljs-attr" t</span  = <span class="hljs-string" 0.0;</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="29" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="30" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="31" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glBegin</span (<span class="hljs-attr" GL_LINE_STRIP</span );//绘制控制曲线</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="32" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"   <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" points</span [<span class="hljs-attr" 0</span ]);</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="33" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"   <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" points</span [<span class="hljs-attr" 1</span ]);</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="34" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"   <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" points</span [<span class="hljs-attr" 2</span ]);</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="35" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"   <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" points</span [<span class="hljs-attr" 3</span ]);</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="36" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glEnd</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="37" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glFlush</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="38" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"   </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="39" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" v</span [<span class="hljs-attr" 0</span ] = <span class="hljs-string" points[0][0];v[1]</span  = <span class="hljs-string" points[0][1];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="40" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" for</span  (<span class="hljs-attr" int</span  <span class="hljs-attr" i</span  = <span class="hljs-string" 0;i</span <<span class="hljs-attr" count</span ;<span class="hljs-attr" i</span   )//绘制最终结果</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="41" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  {</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="42" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" t</span   = <span class="hljs-string" deltat;</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="43" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" newV</span [<span class="hljs-attr" 0</span ] = <span class="hljs-string" c[0][0]</span    <span class="hljs-attr" t</span *(<span class="hljs-attr" c</span [<span class="hljs-attr" 1</span ][<span class="hljs-attr" 0</span ]   <span class="hljs-attr" t</span *(<span class="hljs-attr" c</span [<span class="hljs-attr" 2</span ][<span class="hljs-attr" 0</span ]   <span class="hljs-attr" t</span *<span class="hljs-attr" c</span [<span class="hljs-attr" 3</span ][<span class="hljs-attr" 0</span ]));</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="44" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" newV</span [<span class="hljs-attr" 1</span ] = <span class="hljs-string" c[0][1]</span    <span class="hljs-attr" t</span *(<span class="hljs-attr" c</span [<span class="hljs-attr" 1</span ][<span class="hljs-attr" 1</span ]   <span class="hljs-attr" t</span *(<span class="hljs-attr" c</span [<span class="hljs-attr" 2</span ][<span class="hljs-attr" 1</span ]   <span class="hljs-attr" t</span *<span class="hljs-attr" c</span [<span class="hljs-attr" 3</span ][<span class="hljs-attr" 1</span ]));</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="45" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glColor3f</span (<span class="hljs-attr" 0.0</span ,<span class="hljs-attr" 0.0</span ,<span class="hljs-attr" 1.0</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="46" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glBegin</span (<span class="hljs-attr" GL_LINES</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="47" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" v</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="48" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glVertex2fv</span (<span class="hljs-attr" newV</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="49" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glEnd</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="50" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glFlush</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="51" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" v</span [<span class="hljs-attr" 0</span ] = <span class="hljs-string" newV[0];v[1]</span  = <span class="hljs-string" newV[1];</span </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="52" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="53" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="54" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  }</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="55" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="56" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" }</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="57" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" <span class="hljs-attr" void</span  <span class="hljs-attr" init</span ()</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="58" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" {</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="59" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="60" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glClearColor</span (<span class="hljs-attr" 0.0</span  , <span class="hljs-attr" 0.0</span  ,<span class="hljs-attr" 0.0</span  , <span class="hljs-attr" 0.0</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="61" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glColor3f</span (<span class="hljs-attr" 1.0</span  ,<span class="hljs-attr" 1.0</span  ,<span class="hljs-attr" 1.0</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="62" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="63" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glMatrixMode</span (<span class="hljs-attr" GL_PROJECTION</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="64" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glLoadIdentity</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="65" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" gluOrtho2D</span (<span class="hljs-attr" -4.0</span  ,<span class="hljs-attr" 4.0</span  ,<span class="hljs-attr" -4.0</span  ,<span class="hljs-attr" 4.0</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="66" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="67" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" }</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="68" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="69" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" <span class="hljs-attr" void</span  <span class="hljs-attr" main</span (<span class="hljs-attr" int</span  <span class="hljs-attr" argc</span ,<span class="hljs-attr" char</span  **<span class="hljs-attr" argv</span )</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="70" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" {</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="71" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutInit</span (&<span class="hljs-attr" argc</span ,<span class="hljs-attr" argv</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="72" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutInitDisplayMode</span (<span class="hljs-attr" GLUT_SINGLE</span |<span class="hljs-attr" GLUT_RGB</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="73" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutInitWindowSize</span (<span class="hljs-attr" 500</span ,<span class="hljs-attr" 500</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="74" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutInitWindowPosition</span (<span class="hljs-attr" 500</span ,<span class="hljs-attr" 200</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="75" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutCreateWindow</span ("<span class="hljs-attr" reshape</span ");</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="76" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  //<span class="hljs-attr" glutReshapeFunc</span (<span class="hljs-attr" myreshape</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="77" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutDisplayFunc</span (<span class="hljs-attr" display</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="78" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" init</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="79" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  //<span class="hljs-attr" glutIdleFunc</span (<span class="hljs-attr" myidle</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="80" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  //<span class="hljs-attr" glutKeyboardFunc</span (<span class="hljs-attr" mykeyboard</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="81" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  //<span class="hljs-attr" glutSpecialFunc</span (<span class="hljs-attr" myspecialkey</span );</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="82" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  </div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="83" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"  <span class="hljs-attr" glutMainLoop</span ();</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="84" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line" }</div </div </li <li <div class="hljs-ln-numbers" <div class="hljs-ln-line hljs-ln-n" data-line-number="85" </div </div <div class="hljs-ln-code" <div class="hljs-ln-line"
*/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

0 人点赞