当前位置: 首页 > news >正文

yy陪玩网站怎么做郑州惠济区建设局网站

yy陪玩网站怎么做,郑州惠济区建设局网站,虚拟主机建wordpress,网站域名被注册Bezier 曲线于 1962 年由法国雪铁龙汽车公司的工程师 Bezier 所发表#xff0c;主要应用于汽车的外形设计。虽然 Bezier 曲线早在 1959 年便由法国雷诺汽车公司的 De Casteljau 运用递推算法开发成功#xff0c;但是 Bezier 却给出了曲线的详细的曲线计算公式。所以#xff…Bezier 曲线于 1962 年由法国雪铁龙汽车公司的工程师 Bezier 所发表主要应用于汽车的外形设计。虽然 Bezier 曲线早在 1959 年便由法国雷诺汽车公司的 De Casteljau 运用递推算法开发成功但是 Bezier 却给出了曲线的详细的曲线计算公式。所以命名为 Bezier 曲线. Bezier 曲线由控制多边形唯一定义。 控制多边形的第一个顶点和最后一个顶点位于曲线上多边形的第一条边和最后一条边表示了曲线在起点和终点的切矢量方向其顶点则用于定义曲线的导数阶次和形状。曲线的形状趋近于控制多边形并位于多边形所构成的土包内改变控制多边形的顶点位置就会改变曲线的形状。 Bezier 曲线的直观交互性使得对设计对象的逼近达到了直接的集合化程度使得起来非常方便。 Bezier 曲线的定义 给定 n 1 n1 n1 个控制点 P i ( i 0 , 1 , 2 , ⋯ n ) P_i (i0, 1, 2, \cdots n) Pi​(i0,1,2,⋯n),则 n n n次Bezier 曲线的定义为 P ( t ) ∑ i 0 n P i B i , n ( t ) , t ∈ [ 0 , 1 ] P(t) \sum_{i0}{n}P_i B_{i, n}(t), t\in[0, 1] P(t)∑i0​nPi​Bi,n​(t),t∈[0,1] P i ( i 0 , 1 , 2 , ⋯ , n ) P_i(i0, 1, 2, \cdots, n) Pi​(i0,1,2,⋯,n) 是控制多边形的 n 1 n1 n1 个控制点. B i , n ( t ) B_{i, n}(t) Bi,n​(t)是 Bernstein 基函数其表达式为 B i , n ( t ) n ! i ! ( n − i ) ! t i ( 1 − t ) n − i C n i t i ( 1 − t ) n − i , i 0 , 1 , 2 , ⋯ n \begin{equation} B_{i, n}(t) \frac{n!}{i!(n-i)!}t^{i}(1-t)^{n-i} C_{n}^{i}t^{i}(1-t)^{n-i}, \quad i0, 1, 2, \cdots n \end{equation} Bi,n​(t)i!(n−i)!n!​ti(1−t)n−iCni​ti(1−t)n−i,i0,1,2,⋯n​​ Bezier 函数是控制点关于 Bernstein 基函数的加权和Bezier 曲线的次数为 n , 需要 n1 个顶点来定义。 在工程项目中最常见的是三次Bezier 曲线其次数是二次Bezier 曲线高次Bezier 曲线一般很少用 一次 Bezier 曲线, 当 n1 时Bezier 曲线的控制多边形有两个控制点 P 0 P_0 P0​ 和 P 1 P_1 P1​, Bezier 曲线是一次多项式称为一次 Bezier 曲线 P ( t ) ∑ i 0 1 P i B i , 1 ( t ) ( 1 − t ) P 0 t P 1 P(t) \sum_{i0}^{1}P_i B_{i, 1}(t) (1-t)P_0 tP_{1} P(t)i0∑1​Pi​Bi,1​(t)(1−t)P0​tP1​ 二次 Bezier 曲线当 n2 时Bezier 曲线的控制多边形有 3 个控制点 KaTeX parse error: Expected group after _ at position 2: P_̲$ 、 P 1 P_1 P1​和 P 2 P_2 P2​ Bezier 曲线是二次多项式称为二次 Bezier 曲线 P ( t ) ∑ i 0 2 P i B i , 2 ( t ) ( 1 − t ) 2 P 0 2 t ( 1 − t ) P 1 t 2 P 2 P(t) \sum_{i0}^{2}P_i B_{i, 2}(t) (1-t)^2P_0 2t(1-t)P_{1} t^2P_2 P(t)i0∑2​Pi​Bi,2​(t)(1−t)2P0​2t(1−t)P1​t2P2​ 三次 Bezier 曲线当 n3 时Bezier 曲线控制多边形有 4 个控制点 P 0 P_0 P0​ 、 P 1 P_1 P1​、 P 2 P_2 P2​ 和 P 3 P_3 P3​ Bezier 曲线是三次多项式称为三次 Bezier 曲线 P ( t ) ∑ i 0 3 P i B i , 3 ( t ) ( 1 − t ) 3 P 0 3 t ( 1 − t ) 2 P 1 3 t 2 ( 1 − t ) P 2 t 3 P 3 ( − t 3 3 t 2 − 3 t 1 ) P 0 3 t 3 − 6 t 2 3 t P 1 ( − 3 t 3 3 t 2 ) P 2 t 3 P 3 P(t) \sum_{i0}^{3}P_i B_{i, 3}(t) (1-t)^3 P_0 3t(1-t)^2P_{1} 3t^2(1-t)P_2 t^3P_3 (-t^3 3t^2 -3t1)P_0 3t^3 -6t^2 3tP_1 (-3t^33t^2)P_2 t^3P_3 P(t)i0∑3​Pi​Bi,3​(t)(1−t)3P0​3t(1−t)2P1​3t2(1−t)P2​t3P3​(−t33t2−3t1)P0​3t3−6t23tP1​(−3t33t2)P2​t3P3​ 写成矩阵的形式为 P ( t ) [ t 3 t 2 t 1 ] [ − 1 3 − 3 1 3 − 6 3 0 − 3 3 0 0 1 0 0 0 ] [ P 0 P 1 P 2 P 3 ] P(t) \begin{bmatrix} t^3 t^2 t 1 \end{bmatrix} \begin{bmatrix} -1 3 -3 1\\ 3 -6 3 0\\ -3 3 0 0\\ 1 0 0 0\\ \end{bmatrix} \begin{bmatrix} P_0 \\ P_1 \\ P_2 \\ P_3 \\ \end{bmatrix} P(t)[t3​t2​t​1​] ​−13−31​3−630​−3300​1000​ ​ ​P0​P1​P2​P3​​ ​ B 0 , 3 ( t ) ( 1 − t ) 3 B 1 , 3 ( t ) 3 t ( 1 − t ) 2 B 2 , 3 ( t ) 3 t 2 ( 1 − t ) B 3 , 3 ( t ) t 3 B_{0, 3}(t) (1-t)^3 \\ B_{1, 3}(t) 3t(1-t)^2 \\ B_{2, 3}(t) 3t^2(1-t) \\ B_{3, 3}(t) t^3 B0,3​(t)(1−t)3B1,3​(t)3t(1−t)2B2,3​(t)3t2(1−t)B3,3​(t)t3 下面给出 QT OPENGL 的二次的代码 #include QtWidgets #include QOpenGLWidget #include QOpenGLFunctionsclass BezierCurveWidget : public QOpenGLWidget, protected QOpenGLFunctions { public:BezierCurveWidget(QWidget* parent nullptr): QOpenGLWidget(parent) {}protected:void initializeGL() override {initializeOpenGLFunctions();glClearColor(1.0f, 1.0f, 1.0f, 1.0f);}void resizeGL(int w, int h) override {glViewport(0, 0, w, h);glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrtho(0, w, h, 0, -1, 1);glMatrixMode(GL_MODELVIEW);}void paintGL() override {glClear(GL_COLOR_BUFFER_BIT);// 控制点坐标QPoint p0(100, 300);QPoint p1(300, 100);QPoint p2(500, 300);// 设置线的颜色glColor3f(0.0f, 0.0f, 1.0f); // Blue color for lines// 绘制Bezier曲线glBegin(GL_LINE_STRIP);for (float t 0.0f; t 1.0f; t 0.01f) {QPoint p calculateBezierPoint(t, p0, p1, p2);glVertex2i(p.x(), p.y());}glEnd();// 绘制控制点glPointSize(5.0f);glColor3f(1.0f, 0.0f, 0.0f);glBegin(GL_POINTS);glVertex2i(p0.x(), p0.y());glVertex2i(p1.x(), p1.y());glVertex2i(p2.x(), p2.y());glEnd();// 绘制连接线glBegin(GL_LINES);glVertex2i(p0.x(), p0.y());glVertex2i(p1.x(), p1.y());glVertex2i(p1.x(), p1.y());glVertex2i(p2.x(), p2.y());glEnd();}QPoint calculateBezierPoint(float t, const QPoint p0, const QPoint p1, const QPoint p2) {float u 1 - t;float tt t * t;float uu u * u;float x uu * p0.x() 2 * u * t * p1.x() tt * p2.x();float y uu * p0.y() 2 * u * t * p1.y() tt * p2.y();return QPoint(x, y);} };int main(int argc, char *argv[]) {QApplication a(argc, argv);QMainWindow window;BezierCurveWidget* bezierWidget new BezierCurveWidget(window);window.setCentralWidget(bezierWidget);window.resize(600, 400);window.show();return a.exec(); } 这里只需要替换一次和三次的计算部分即可。
http://www.dnsts.com.cn/news/40030.html

相关文章:

  • 邯郸建站公司专业团队文案
  • 国外的包装设计网站首页网址
  • 做壁纸网站好智慧团建登录官网手机版
  • win2003 建设网站做外贸的网站哪些是最好的
  • 网站如何建设流程图免费的html模版下载
  • 一级A做爰片秋欲浓网站湖南人文科技学院招聘
  • 怎么判断一个网站做的好不好东莞市常平东部中心医院
  • 网站套餐到期什么意思wordpress导航设置
  • 网站服务器建设费用百度地图导航网页版
  • pc网站如何做移动网站seo优化博客
  • 长春百度网站快速优化怎么做自己的淘宝客推广网站
  • 做网站 页面自适应用什么做网站简单
  • 整屏幕滑动的网站申请域名费用和服务费用
  • 邢台哪有学做网站的wordpress新浪jquery
  • 自己如何做棋牌网站公司做网站怎么赚钱吗
  • 济南网站建设外包公司轻云服务器 wordpress
  • 网站建设属于什么税种福州+网站开发
  • 容桂品牌网站建设优惠南宁网
  • 门窗网站建设做网站需要学习什么
  • 重庆网站建设 制作 设计 优惠价腾讯广告推广平台
  • 设计网站推荐大百度网站免费电话
  • 免费网站电视剧全免费的app买域名必须买服务器吗
  • 网站形式的具体例子seo广告优化多少钱
  • 集团网站建设成都怎么做区块链媒体网站
  • 如何用wordpress做企站电子商务网站的开发流程
  • 手表网站排名186信息网学校门户网站建设
  • 相亲网站建设策划书范文网站建设dw实训总结
  • WordPress一键开启全站SSL专题页网站怎么做
  • 教你如何建网站成都网站外包优化
  • 湖南做网站 联系磐石网络做网站的公司 苏迪