zoukankan      html  css  js  c++  java
  • 计算机图形学--贝塞尔曲线1

    (n+1)个控制点可以定义一条n次贝塞尔曲线

    如下图,P1、P2、P3三个点可以定义一条二次贝塞尔曲线。

    对于贝塞尔曲线的原理,我们先不去解释,先说明如何应用。

    常见的应用是:给出一系列的控制点,要求拟合出一条贝塞尔曲线。

    ==============================================================================================

    先给出公式

    一阶贝塞尔曲线(也就是直线)参数方程:

    二阶贝塞尔曲线参数方程:

    三阶贝塞尔曲线参数方程:

    一般参数:

    ===============================================================================================

    算例1:已知四个控制点P0(1,1)、P1(2,5)、P2(5,8)、P3(7,4),构造一条三阶贝塞尔曲线。

    将这四个点带入上面的三阶贝塞尔参数方程中:

    所以得到:

    下面在matlab中执行:

    %绘制特征多边形

     x=[1,2,5,7];
     y=[1,5,8,4];
     plot(x,y,'-*');
    hold on;

    %绘制贝塞尔曲线

    t=0:0.001:1;
    x=1-3*power(t,3)+6*power(t,2)+3*t;
    y=1-6*power(t,3)-3*power(t,2)+12*t;
    plot(x,y,'r');

    结果如下图:

  • 相关阅读:
    java学习day28-jQuery(常用)
    在博客园上添加bilibili视频
    参数传递 实参
    linux 下office软件推荐
    桥后总结 二
    go基础笔记-包
    Linux:Day24(上)
    Linux:Day23(下) vsftpd
    Linux:Day23(上) MariaDB SQL语句
    Linux:Day22(下) php及mysql使用基础
  • 原文地址:https://www.cnblogs.com/hosseini/p/9904941.html
Copyright © 2011-2022 走看看