贝赛尔(Bezier)曲线

贝赛尔(Bezier)曲线

介绍

贝塞尔曲线是一种通过控制点生成光滑曲线的经典数学参数曲线,由法国工程师皮埃尔·贝塞尔于1962年公开发表,是现代计算机图形学的核心基础工具之一。

!ratio\[\]720417_720417

!ratio\[\]720436_720436

核心基础特性

  1. 端点插值性:曲线一定会经过定义它的起点和终点,起点处的切线方向与前两个控制点连线方向一致,终点处的切线方向与最后两个控制点连线方向一致。
  2. 凸包性:整条曲线完全落在所有控制点围成的凸多边形内部,不会超出控制点的覆盖范围。
  3. 仿射不变性:对控制点做旋转、平移等仿射变换后,生成的曲线和直接对原曲线做变换的结果完全一致。

贝塞尔曲线核心公式

  1. 通用n阶公式对于n阶贝塞尔曲线,给定n+1个控制点 P 0 , P 1 , ... , P n P_0,P_1,\dots,P_n P0,P1,...,Pn,参数 t ∈ 0 , 1 t\in0,1 t∈0,1,曲线上任意点的坐标公式为: B ( t ) = ∑ i = 0 n ( n i ) P i ( 1 − t ) n − i t i B(t)=\sum_{i=0}^{n}\binom{n}{i}P_i(1-t)^{n-i}t^i B(t)=i=0∑n(in)Pi(1−t)n−iti 其中 ( n i ) = n ! i ! ( n − i ) ! \binom{n}{i}=\frac{n!}{i!(n-i)!} (in)=i!(n−i)!n!是二项式系数,也叫伯恩斯坦基多项式的系数。

  2. 常用低阶展开式

  • 一阶(2个控制点): B ( t ) = ( 1 − t ) P 0 + t P 1 B(t)=(1-t)P_0 + tP_1 B(t)=(1−t)P0+tP1,本质是直线段。
  • 二阶(3个控制点): B ( t ) = ( 1 − t ) 2 P 0 + 2 t ( 1 − t ) P 1 + t 2 P 2 B(t)=(1-t)^2P_0 + 2t(1-t)P_1 + t^2P_2 B(t)=(1−t)2P0+2t(1−t)P1+t2P2,为抛物线形态。
  • 三阶(4个控制点,工业最常用): B ( t ) = ( 1 − t ) 3 P 0 + 3 t ( 1 − t ) 2 P 1 + 3 t 2 ( 1 − t ) P 2 + t 3 P 3 B(t)=(1-t)^3P_0 + 3t(1-t)^2P_1 + 3t^2(1-t)P_2 + t^3P_3 B(t)=(1−t)3P0+3t(1−t)2P1+3t2(1−t)P2+t3P3,可实现S形等复杂平滑曲线。

常见阶数与应用

阶数 控制点数量 核心特点 典型应用
一阶 2个 两点之间的直线插值 简单直线连接
二阶 3个 可实现基础弯曲效果 TrueType字体轮廓定义
三阶 4个 能绘制S形等复杂曲线,灵活性最高 矢量绘图、动画路径、PostScript字体
n阶 n+1个 可实现更复杂的曲线形态,但阶数过高易出现抖动 特殊高精度造型场景

主流应用领域

  1. 设计软件:Photoshop、Illustrator的钢笔工具,SVG矢量图形路径,都以贝塞尔曲线为核心实现。
  2. 动画开发:After Effects关键帧过渡、CSS3动画缓动效果、游戏角色移动轨迹,都依靠贝塞尔曲线实现流畅的运动过渡。
  3. 工业设计:汽车、航空器的流线型外观设计,早期雷诺汽车的车身造型就是贝塞尔曲线的首个落地场景。
  4. 其他场景:医学图像处理中用于拟合器官轮廓,机器人视觉中用于重建弯曲形状。
相关推荐
铸人2 天前
再论勾股定理成立的条件-9
数学·几何学·数论·复数
patrickpdx1 个月前
2022年伊朗国家队选拔赛第4题
几何学
学究天人1 个月前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(卷6)
网络·算法·数学建模·动态规划·几何学·图论·拓扑学
AI科技星2 个月前
第六卷:量天尺传奇(几何学)
网络·人工智能·算法·概率论·学习方法·几何学·拓扑学
AI科技星2 个月前
数术工坊·第八卷 大道归一录・番外・下篇 零界封神・万法归元终章
网络·人工智能·算法·几何学·拓扑学
hai3152475432 个月前
一种通过空间几何转换进行软件编程计算的方式与现有计算的对比
人工智能·深度学习·数学建模·硬件架构·几何学·图论·拓扑学
做cv的小昊2 个月前
计算机图形学:【Games101】学习笔记06——几何(曲线和曲面、网格处理)、阴影图
c++·笔记·学习·游戏·图形渲染·几何学·光照贴图
happyness443 个月前
“印月智码”重磅更新,让几何编程变简单!
青少年编程·几何学
aichitang20243 个月前
椭圆的光学性质
html·html5·几何学