1.程序中贝塞尔曲线的简单介绍,只介绍曲线部分。
程序中的贝塞尔曲线需要四个点:起始点(startPoint)

,控制点1(controlPoint1),控制点2(controlPoint2),结束点(endPoint)。起始点和结束点确定曲线端点,两个控制点确定曲线形状。
一般sdk中关于贝塞尔曲线api的参数一般有三个:控制点1(controlPoint1),控制点2(controlPoint2),结束点(endPoint)。若贝塞尔曲线作为路径的一部分,则起始点(startPoint)默认为上一段路径的结束点。若贝塞尔曲线作为单独一条路径,则需要为其设置起始点。

2.photoshop中钢笔工具分析。

如图1所示,钢笔工具的画线时点下的点实际包括三个点,

即上图中的锚点、控制点1、控制点2,控制点1和控制点2关于锚点对称。在画布中直接点击而不拖动,会只产生一个点(参看图2绘制直线),可将这一个点理解为上述三个点聚集在了一个点上。
 
 
如图2,绘制直线时,直接点下两点即可。
 
 
 
 
如图3,这是一段关于结束点1(起始点2)

中心对称的贝塞尔曲线。我们知道,程序中绘制贝塞尔曲线需要四个点,而上图中确实出现了四个点,那么是不是就是我们需要的那四个点呢?实验证明不是。直接使用上述四个点作为贝塞尔曲线的四个参数,绘制出的路径只有起始和结束的一小段是和图中路径吻合的。
分析图1时,我们知道,钢笔工具绘制的路径,其上的每一个点均有对应的锚点和控制点。从程序实现角度来看,上面这段曲线要分为两段贝塞尔曲线。第一段曲线的起始点1和控制点11重合,控制点12为“杠杆”的一端,结束点1为杠杆的锚点。
 
 
 
 
如图4,这段曲线由三段贝塞尔曲线组成,红线部分为手动添加,

意在标注第一段曲线的控制点2。

贝塞尔曲线的起始点、控制点与结束点的顺序与曲线形状无关,只是用于标注运动方向。

补充一点:上述的第一起始点和最后结束点,是直接在画布中点击产生的(即图1中的控制点和锚点重合),即图3和图4中的曲线是在图2的基础上增加锚点做成的。

 
 
 
本博客内容均为原创,转载请注明:http://blog.csdn.net/balitaimonk/article/details/9568599

关于photoshop钢笔工具中各点对应到“贝塞尔曲线”中的含义(cocos2d-x与iOS)的更多相关文章

  1. NGUI研究院之在Unity中使用贝塞尔曲线(六)[转]

    鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是 ...

  2. 在Unity中使用贝塞尔曲线(转)

    鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天因为工作的原因需要将贝塞尔曲线加在工程中,那么MOMO迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的任意角度的曲线,这两个点一个是 ...

  3. NGUI研究之在Unity中使用贝塞尔曲线

    鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...

  4. 【Unity3d游戏开发】游戏中的贝塞尔曲线以及其在Unity中的实现

    RT,马三最近在参与一款足球游戏的开发,其中涉及到足球的各种运动轨迹和路径,比如射门的轨迹,高吊球,香蕉球的轨迹.最早的版本中马三是使用物理引擎加力的方式实现的足球各种运动,后来的版本中使用了根据物理 ...

  5. 用Canvas实现Photoshop的钢笔工具(贝塞尔曲线)

    前两天在用Canvas实现一个绘制路径的小功能.做完之后发现加以完善可以“复刻”一下PS里面的钢笔工具. PS里的钢笔工具对我来说是PS中最好用的工具! 所以本文主要介绍如何用Canvas来实现Pho ...

  6. Canvas中绘制贝塞尔曲线

    ① 什么是贝塞尔曲线? 在数学的数值分析领域中,贝济埃曲线(英语:Bézier curve,亦作“贝塞尔”)是计算机图形学中相当重要的参数曲线.更高维度的广泛化贝济埃曲线就称作贝济埃曲面,其中贝济埃三 ...

  7. AI: 字体设计中的贝塞尔曲线

    http://www.xueui.cn/tutorials/illustrator-tutorials/designers-must-know-the-secret-of-the-bezier-cur ...

  8. Android中自定义样式与View的构造函数中的第三个参数defStyle的意义

    零.序 一.自定义Style 二.在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定 三.在运行时获取属性值 1. View的第三个构造函数的第 ...

  9. Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

    Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能 ...

随机推荐

  1. Nhibernate 多对多级联更新

    问题是这样的,有两个表:文章(Article)和分类(Lable),这两者之间的关系是多对多关联,如果你用Nhibernate来保存数据的话非常的好操作,新建Article,然后把Lable值赋值给A ...

  2. [JavaScript] js 判断闰年

    /** * 判断闰年函数 * @param {number} year 要判断的年份 * @return {bool} 返回布尔值 * * 其实只要满足下面几个条件即可. * 1.普通年能被4整除且不 ...

  3. PAT-乙级-1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...

  4. UnitOfWork机制的实现和注意事项

    UnitOfWork机制 /*一点牢骚: * UnitOfWork机制的蛋疼之处: *    UnitOfWork机制,决定了插入新的实体前,要预先设置数据库中的主键Id,尽管数据库自己生产主键. * ...

  5. firefly笔记一之http模块

    原地址:http://www.9miao.com/question-15-54380.html Firefly是免费开源的游戏服务器端框架,开发语言是python,基于twisted框架开发,作为一名 ...

  6. PHP 性能分析第三篇: 性能调优实战

    注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或  PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 ...

  7. 【leetcode】Palindrome Number (easy)

    Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...

  8. Object-C中emoji与json的问题

    遇到一个问题,要储存iOS键盘输出的emoji表情到MySQL,我知道用blob+utf8是可以存的.但是现在我的这张表已经太大了,不可能去改类型.所以就想把emoji表情匹配出来,替换掉,再存.但是 ...

  9. spring事物的传播行为

    1.spring事物的传播行为,主要是用来解决业务层拥有事物的方法,相互调用的问题. 2.声明事物, 在代码执行前,开启事务.代码执行完,提交事务 3.spring并没有提供事务具体的处理,而只是调用 ...

  10. VC++的文件格式详解

    .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度.资源辅助文件. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具( ...