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. 关于ax+by=c的解x,y的min(|x|+|y|)值问题

    首先我们移动一下项,并强行让a>b. 然后我们可以画出这样一个图像 我们发现,在线段l与x轴交点处的下方,x,y的绝度值是递增的,所以我们不考虑那个最小点在下端. 之后我们发现在点的上端,因为斜 ...

  2. linux下c++實現簡單的生產者消費者隊列模式

    引言 生產者消費者是一個經典的模式 利用生產者,消費者和緩衝區降低了生產者和消費者之間的的耦合度 便於對生產者和消費者的修改 下面記錄的是一個經典的單一生產者多消費者的模式 設計思路 以隊列做為緩衝區 ...

  3. 李洪强iOS开发本人集成环信的经验总结_03_注册

    李洪强iOS开发本人集成环信的经验总结_03_注册 环信一共提供了三种注册的方法:  01 同步注册:  02 异步注册:  03 - 使用代理回调进行注册,但是3.0没有了,3.0之前有  调用注册 ...

  4. 关于PHP写APP接口的安全问题探讨(一)

    在探讨这个问题之前,先要确认一点的是,作为一名互联网Coder,无论你是前端或者后端你都要对http请求要有一定的了解,知道http特性,要清楚的了解http里面的Request与Response是什 ...

  5. HeadFirst设计模式之RMI介绍

    一.使用步骤 1.generate stubs and skeletons:Run rmic on the remote implementation class 如:D:\Workspaces\My ...

  6. 7个鲜为人知却超实用的PHP函数

    PHP有许多内置函数,其中大多数函数都被程序员广泛使用.但也有一些函数隐藏在角落,本文将向大家介绍7个鲜为人知,但用处非常大的函数. 没用过的程序员不妨过来看看. 1.highlight_string ...

  7. MySQL复制应用中继日志解析

    前言:SQL线程应用中继日志,在binlog_format是row格式的时候,是居于主键更新,下面结合一张图来证明 1.从一个大神那边得到一张图片,SQL线程应用中继日志流程,下面就实验验证一下:(P ...

  8. Ubuntu 12.04搭建Andorid编译环境

    1.安装JDK,Android 5.0开始,开始使用OpenJDK 1.7,4.4等低版本是Oracke JDK1.6 install java environment // install open ...

  9. http_build_query函数(学习)

    http_build_query函数   http_build_query -- 生成 url-encoded 之后的请求字符串 描述 string http_build_query ( array ...

  10. 安装和使用screen

    安装和使用screen 安装screenyum可以在线安装screenyum install screen 使用screen1.创建screen会话;进入Xshell,运行以下:screen 2.离开 ...