国庆节后上班第二天了,我还想继续把这教程给写下去,不然又得花一天时间酝酿情绪,太不划算了,还不如一气呵成。正好异形砖切割水刀拼花(不知道水刀拼花是什么的可以看连载十五)的需求也要用到这里的东西。

跟圆锥曲线相比,贝塞尔曲线在计算机绘图领域应用得更为广泛,所以对于我们来说,研究贝塞尔曲线比圆锥曲线要有意义多了。然而为什么我还要花这么大篇幅讲解圆锥曲线这么一个没卵用的东西呢?这是因为圆锥曲线是贝塞尔曲线的基础,而且圆在计算机工程设计中也经常被用到。

贝塞尔曲线的典型特点是“皮筋效应”,其强烈的物理性使得它的视觉冲击力强于圆锥曲线,所以它的方程设计也比圆锥曲线要特别得多,形状都由一个叫控制点的东西来决定。方程的形式为参数方程。

我不打算给大家讲解贝塞尔曲线的通用公式,在这问题上,我会点到即止,只把一次和二次的拿出来说一下。

贝塞尔曲线一次方程不包含控制点,只有起点和端点,方程如下:

其中t为参数,P0,P1为两个端点的坐标(x或y),B(t)为最终算出来的曲线上的点坐标。

看不习惯用点P表示的形式可以拆成x和y两条式子,不过它的形式最大的好处是可以轻松扩展到三维或以上。

拆分的写法如下:

当t=0时,x=x0,y=y0,当t=1时,x=x1,y=y1,所以(x0, y0)和(x1, y1)分别为一次贝塞尔曲线的两个端点。t从0到1变化的过程中,点(x, y)由(x0, y0)逐渐移动到(x1, y1)。这个规律在次数更高的贝塞尔曲线中仍然符合。

二次贝塞尔曲线的方程如下,不过端点是P0,P2而非P0,P1。

很多人看到这方程之后,直接就说它是抛物线,因为形式上真的就是,展开一下t的话就更像了。

由于P0,P1和P2都是给定点,所以可以用字母A,B,C来表示由这3个P常量所算出来的系数。

这样一看,它跟抛物线方程

真的没什么两样,只是变量的字母不一样而已,然而这个字母的不同,引起的差异可大了。贝塞尔曲线中,B(t)表示坐标(包含x和y),而t则为参数,它跟坐标值没有直接关系。但抛物线方程的y和x均为坐标值,所以说它们只是形式上相同,但变量的意义却相距甚远。

然后还有的人说,多项式一次函数是直线,二次函数是抛物线,然后贝塞尔曲线一次为直线,二次就该类推为抛物线了。类推倒是没错,但那只是个猜测,不能作为判断依据。

再者,二次贝塞尔曲线跟一次一样,本质都是拆成x和y的,如下所示

这样的话,哪怕展开t也跟抛物线完全不一样了。

所以,我们要消去t,化成仅包含x和y的方程才能跟抛物线作比较,然而这个去掉的过程过于繁琐,加上消元过程会产生根号,并且产生xy项,再加上某些二次贝塞尔曲线的样子我很难想象得到它是抛物线,以前还没接触矩阵的我,自然就直接否定了这一结论。

前面说过,包含xy项的二元二次方程可能是抛物线旋转的结果,那这样看来,二次贝塞尔曲线还真有可能可以通过旋转变成标准的抛物线。然后再看下上面的图,旋转一下没准就是一条抛物线。

有了理论支持,幻觉开始产生了,形状似乎还真是这么回事。

虽然现在观察到二次贝塞尔曲线有可能是抛物线,但心里仍然不踏实,两个无特殊化简方式的二元二次方程,消元需要开方,其过程不是一般的蛋疼。很长一段时间我缺乏演算它的动力,现在看表面现象虽然有点心动了,但行动起来还是差了那么一点点勇气,所以我一开始不用一般式,而是先拿个数字简单的来试试水,看下抛物线和二次贝塞尔曲线能否吻合,不能的话就说明存在反例,没必要再算下去了。

我们拿最简单的抛物线y=x^2来测试,然后取(-1,1)和(1,1)作为端点,接着过这两点作切线,其交点就是“控制点”。

如上图,“控制点”的坐标等于(0, -1)(这个值是怎么得出来的?请大家自己思考),然后3个点都取齐了,不过它是从抛物线上取出来的,我们要拿这3个点构建一条二次贝塞尔曲线,看最终结果是否刚好为y=x^2。

前面说到,二次贝塞尔曲线的方程如下:

在这个案例中,x0=-1,y0=1,x1=0,y1=-1,x2=1,y2=1,我们代入看看。

x部分为一次方程,可以从中解出t并代入到y部分。

卧槽,还真的是诶,如此惊人的吻合,让我瞬间有动力去演算一般的通式了。

PS:对数字敏感或者读书时候刷题刷多了的童鞋可能一眼就能对y部分进行因式分解得到

虽然说有动力推导一般式了,但这是个很痛苦的过程,就还是开一篇新的来写吧。这篇就到这里,我们下一篇再见!

【原创】《矩阵的史诗级玩法》连载十七:用矩阵研究二次贝塞尔曲线和抛物线的关系(上)相关推荐

  1. 【原创】《矩阵的史诗级玩法》连载十六:二元二次方程一般式和圆锥曲线的关系(下)

    这篇我们试着通过一般式来逆推回标准式.考虑到上篇估计让大家看晕.那本篇的前面我们先做个简单的事情,让xy项等于0,看看如何反推. 去掉xy项了,那我们只需要想办法去掉一次项.然后就跟标准方程没啥两样了 ...

  2. 【原创】《矩阵的史诗级玩法》连载三十二:用矩阵法解二元二次方程组的一般式

    现在我们给出一个方程组,然后尝试用矩阵来求解. 在连载十六中,我们给出了曲线类型的判断法则: Δ<0时,方程为椭圆(包括正圆) Δ>0时,方程为双曲线 Δ=0时,方程为抛物线 其中Δ=B^ ...

  3. CUDA加速计算矩阵乘法进阶玩法(共享内存)

    CUDA加速计算矩阵乘法&进阶玩法~共享内存 一.基础版矩阵乘法 二.为什么可以利用共享内存加速矩阵乘法 1.CUDA内存读写速度比较 2.申请共享内存 三.改进版矩阵乘法(利用共享内存) 一 ...

  4. 抖音矩阵有哪些玩法?

    互联网的迅速发展以及5G技术的普及,推动了移动短视频的发展.许多创业者想在短视频领域分一杯羹,因此入驻短视频平台.特别是短视频发展的越来越成熟,但由于单个账号的发展具有局限性,加入短视频平台的商家要想 ...

  5. 壁纸号的玩法,拿出来收费未免也太坑人了,所以,直接上教程。

    网上关于斗音变现的攻略写得比较少,可以理解为目前仍是风口,都在闷声发大财,虽然我也做知识付费,但是这壁纸号的玩法,拿出来收费未免也太坑人了-- 所以,直接上教程-- 一.准备斗音号 这一块不用多说,每 ...

  6. [原创]TenJi Game-线下玩法技巧

    简介: 之前有介绍过TenJi Game的规则 但看着规则的文章,可能大家会觉得那规则好像是按照线上游玩时的感觉写的.在线下应该怎么玩起来,所以就有了这篇文章. 目录 道具 实际操作 祝大家游戏愉快! ...

  7. 【Microsoft Azure 的1024种玩法】二十七. Azure Virtual Desktop虚拟桌面之快速创建配置(一)

    [简介] Azure 虚拟桌面是在云中运行的桌面和应用虚拟化服务,我们可以通过Azure 的虚拟桌面设置多会话 Windows 11 或 Windows 10操作系统的 部署,使整个 Windows ...

  8. 百度排名批量查询_一篇讲透百度霸屏引流细节思路与操作玩法

    废话不多说,我们今天来聊聊百度霸屏引流这件事: 现在外面所讲的百度霸屏就这几个操作步骤,当然也就这几个步骤,再多也没什么了,简单看下哈: 第一点:选择高权重平台并注册 第二点:挖掘大量长尾词 第三点: ...

  9. 百度排名批量查询_一篇文章讲透百度霸屏引流细节思路与极其简单的操作玩法...

    点评:百度霸屏引流现在常规的操作套路大部分都是挖掘关键词铺文章,核心就是拼文章内容,文章数量和平台,平台有了,文章有了,内容不行,上首页也很难转化,还是要在内容上多下功夫. 废话不多说,我们今天来聊聊 ...

  10. 百度排名批量查询_黄岛主:不限字数给你讲透百度霸屏引流细节思路与操作玩法...

    大家好,我是黄岛主! 听说最近百度霸屏引流深得大家喜欢,很多人都跑去学习百度霸屏引流了,然后开始苦逼的去铺百度文章...... 岛主我今天来讲讲百度霸屏引流这块,看看能不能对大家有所帮助,万一你正准备 ...

最新文章

  1. RDKit:化合物亚结构(Substructure)搜索(基于Python3)
  2. 选项卡 都是显示在页面底部
  3. 2-spark学习笔记-spark发展概述
  4. 通过共现矩阵和余弦相似度实现机器对单词的认知、python实现
  5. ehcache 实现缓存共享
  6. java json字符串转成 Map或List
  7. 【TcaplusDB知识库】快速上手TDR表的增删查改操作
  8. 阿里面试:设计一个电商平台积分兑换系统!
  9. LPSTR/LPCSTR/LPWSTR/LPCWSTR/LPTSTR/LPCTSTR字符串指针
  10. 融合软泥怪 (优先队列)
  11. STM32F0 USB VCP数据发送丢包错位问题
  12. 基于Android平台的监控端和被监控端系统
  13. 怎么让在线视频播放html,HTML5网页视频强制变速倍速播放
  14. 交通·未来第3期:基于实时WiFi-蓝牙检测数据的交通目标定位及出行模式甄别技术...
  15. jQuery练习_QQ音乐播放器
  16. 公交车 自动报站功能
  17. 我的英语学习计划(初搞)
  18. miniui图片附件上传回显
  19. 【总结】斜率优化DP
  20. MySQL数据库导入BIN格式定长文件

热门文章

  1. puts()函数详解
  2. c语言中puts的作用是,C语言的字符串输出puts()函数
  3. Unity3D 《拥挤城市》3D房子建筑透视效果实
  4. 女主学霸男主学神小说计算机系的,5本双学霸校园甜文:忠犬学神男主VS低情商学霸女主,全程高甜!...
  5. 说说如果meta标签没有写charset属性,将会如何?
  6. 【论文阅读】【三维目标检测】Pseudo-LiDAR from Visual Depth Estimation
  7. 软件测试,2019.2.15中移物联网面试心路历程。
  8. Spark数据分析及处理
  9. cocos creator快速上手《摘星星》官方教程续|星月爸爸
  10. 网站打开速度优化-前端篇