CCPointExtension注释

ccp(x, y);
// 以坐标x,y创建一个向量这个大家都知道。

ccpFromSize(s); // 以size s的width为x,height为y创建一个向量


ccpAdd(v1, v2);
// 等价 ccp(v1.x+v2.x, v1.y+v2.y);

ccpSub(v1, v2);
// 等价 ccp(v1.x-v2.x, v1.y-v2.y);

ccpNeg(v)
// 等价 ccp(-v.x, -v.y);

ccpMult(v, s); //等价 ccp(v.x * s, v.y * s); s是个浮点数嘛


ccpMidpoint(v1, v2); // 等价 ccp( (v1.x + v2.x)/2, (v1.y + v2.y)/2 );


ccpDot(v1, v2);
// 等价 v1.x * v2.x + v1.y * v2.y;

ccpCross(v1, v2);
// 等价 v1.x * v2.y - v1.y * v2.x;

ccpProject(v1, v2)
// 返回的是向量v1在向量v2上的投影向量

ccpLength(v)
// 返回向量v的长度,即点v到原点的距离

ccpLengthSQ(v)
// 返回向量v的长度的平方,即点v到原点的距离的平方

ccpDistance(v1, v2)
// 返回点v1到点v2的距离

ccpDistanceSQ(v1, v2)
// 返回点v1到点v2的距离的平方

ccpNormalize(v)
// 返回v的标准化向量,就是长度为1


ccpRotate(v1, v2);
// 向量v1旋转过向量v2的角度并且乘上向量v2的长度。当v2是一个长度为1的标准向量时就是正常的旋转了,可以配套地用ccpForAngle

ccpPerp(v);
// 等价于 ccp(-v.y, v.x); (因为opengl坐标系是左下角为原点,所以向量v是逆时针旋转90度)

ccpRPerp(v);
// 等价于 ccp(v.y, -v.x); 顺时针旋转90度

ccpForAngle(a);
// 返回一个角度为弧度a的标准向量

ccpToAngle(v);
// 返回向量v的弧度

ccpAngle(a, b);
// 返回a,b向量指示角度的差的弧度值

ccpRotateByAngle(v, pivot, angle) // 返回向量v以pivot为旋转轴点,按逆时针方向旋转angle弧度


ccpLineIntersect(p1, p2, p3, p4, &s, &t);
// 返回p1为起点p2为终点线段1所在直线和p3为起点p4为终点线段2所在的直线是否相交,如果相交,参数s和t将返回交点在线段1、线段2上的比例

// 得到s和t可以通过 p1 + s * (p2 - p1) 或 p3 + t * (p4 - p3) 求得交点。

ccpSegmentIntersect(A, B C, D)
// 返回线段A-B和线段C-D是否相交

ccpIntersectPoint(A, B, C, D) // 返回线段A-B和线段C-D的交点



时间: 2024-08-05 20:19:02

CCPointExtension注释的相关文章

Python_01_变量_注释_input_if_缩进

个人笔记,仅作学习记录,如有错误烦请指正 变量命名规则: 1:变量名必须以英文字母.下划线.数字组成的组合2:变量名开头不能是数字3:变量名不能是Python中的关键字4:变量名不能是中文5:Python中的变量名如有多个单词建议下划线连接(其他语言常用驼峰法)6:Python中无法定义常量:在python里面所有的变量都是可变的,所以用全大写的变量名来表示常量 变量赋值:name1 = "laowang"name2 = name1name1 = "xiaozhang&quo

Java-认识变量、注释并能及时发现错误

package com;//变量的演示public class VarDemo { public static void main(String[] args) { /* * 1)题目不用抄 2)注释不用写 3)有错必须改 * * 练习: * 1)声明一个整型的变量,名为a * 声明两个整型的变量,名为b,c * 2)声明整型变量d并赋值为56 * 声明整型变量e, * 给变量e赋值为56 * 3)声明整型变量f并赋值为5, * 声明整型变量g并赋值为f+20,输出g * 声明整型变量h并赋值为

HTML5 <ruby>注释标签

今天学了HTML5的ruby标签,觉得挺有趣的,来记录一下. ruby可以作注释标签,内部有rp和rt标签. <ruby>  标记定义注释或音标. <rp>    告诉那些不支持ruby元素的浏览器该如何显示. <rt>      标记定义对ruby注释的内容文本. 学完这个标签的第一反应就是,我有方法给那些不会读的日语单词做假名注释啦!!! 代码如下,来给一句日语做个小注释: <!DOCTYPE html> <html lang="en&q

IE条件注释

条件注释是IE专门提供的一种语法,其他浏览器会将其作为注释而忽略这些语句. 作用:根据不同的IE版本加载对应的CSS或者JS文件,甚至css代码和html代码. 重要提示 自IE10起,标准模式不再支持条件注释.而是采用特征检测给浏览器不支持的功能来提供备用策略.有关标准模式的详细信息,请参阅定义文档兼容性. 术语 熟悉下列术语有助于你学习文档兼容性. 名词 描述 expression 由运算符.特征和(或)值组合形成一个条件语句 downlevel browser 任何浏览器除了IE5+,其他

Java注释

注释(commentary )是程序中用于说明和解释的一段文字对程序运行不起作用.程序 中添加注释的目的是增强程序的可读性. Java提供3种注释方式:. 单行注释:// 多行注释/**/ 文档注释: /** *文档注释用于从源代码自动生成文档执行javadoc *命名根据源代码中的内容生成网页 *@XXX <-- 可以加入javadoc参数产生相应的文档 */ 不同格式的注释可以嵌套. // Welcome1.java. Text-printing program. /*计信学院09软件工程2

Eclipse注释模板设置详解

设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素.本文现就每一个元素逐一给大家介绍一下. 文件(Files)注释标签: 1 2 3 4 5 6 7 8 /** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo}(用一句话描述该文件做什么) * @author $

delphi 属性 参数 新注释

delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </summary> name:string; /// <summary> /// 性别 /// </summary> sex:string; end; var aclass: Tmyclass; begin aclass.name; aclass.sex; 鼠标放上去的时候提示 写

vi/vim多行注释和取消注释

多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来 2. 按大写字母I,再插入注释符,例如// 3. 按esc键就会全部注释了 取消多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列 2. 按字母j,或者k选中注释符号 3. 按d键就可全部取消注释 对单行注释:CTRL_C对多行注释: 先”V”,进入块选择模式.选择一段代

Qt的语法高亮类(注释方式)

1 //语法高亮---QSyntaxHighlighter 2 //highlighter.h 3 class Highlighter : public QSyntaxHighlighter //定义一个类继承自QSyntaxHightliaghter 4 { 5 Q_OBJECT //Qt宏定义,使用Qt元编程 6 7 public: 8 Highlighter(QTextDocument *parent = 0); //构造函数,传递一个QTextDocument对象给其父类 9 10 pr