GLKVector4参考

PDFCompanion文件

下一个

GLKVector4参考
骨架

GLKit / GLKMath.h

宣称

GLKMathTypes.h 
GLKVector4.h

概观

GLKVector4类型定义了一个组件4浮点向量以及通常用于操纵向量的许多数学运算。图形编程广泛使用向量来表示位置,法线,颜色和其他数据结构。

操作GLKVector4结构的函数将输入视为不可变的,而返回一个代表操作结果的新向量。

功能按任务

创建向量

  • GLKVector4Make

  • GLKVector4MakeWithArray

  • GLKVector4MakeWithVector3

检索关于矢量的信息

  • GLKVector4Length

  • GLKVector4Distance

向量执行的数学操作

  • GLKVector4Negate

  • GLKVector4Normalize

  • GLKVector4AddScalar

  • GLKVector4SubtractScalar

  • GLKVector4MultiplyScalar

  • GLKVector4DivideScalar

  • GLKVector4Add

  • GLKVector4Subtract

  • GLKVector4Multiply

  • GLKVector4Divide

  • GLKVector4DotProduct

  • GLKVector4CrossProduct

  • GLKVector4Lerp

  • GLKVector4Project

  • GLKVector4Maximum

  • GLKVector4Minimum

比较操作

  • GLKVector4AllEqualToScalar

  • GLKVector4AllEqualToVector4

  • GLKVector4AllGreaterThanOrEqualToScalar

  • GLKVector4AllGreaterThanOrEqualToVector4

  • GLKVector4AllGreaterThanScalar

  • GLKVector4AllGreaterThanVector4

功能

GLKVector4Add

返回两个向量的和。

GLKVector4 GLKVector4Add(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

一个新向量,其分量各自表示在两个源向量的相同位置中发现的两个分量之和。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AddScalar

返回通过向向量的每个组件添加标量值创建的新向量。

GLKVector4 GLKVector4AddScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量值。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllEqualToScalar

返回一个布尔值,指示源向量的所有组件是否等于标量值。

bool GLKVector4AllEqualToScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量

回报值

YES如果所有矢量的分量都等于值,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllEqualToVector4

返回一个布尔值,指示第一个向量的每个分量是否等于第二个向量的相应分量。

bool GLKVector4AllEqualToVector4(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

YES如果所有的矢量组件相同,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllGreaterThanOrEqualToScalar

返回一个布尔值,指示源向量的所有组件是否大于或等于标量值。

bool GLKVector4AllGreaterThanOrEqualToScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量

回报值

YES如果所有矢量的分量都大于或等于标量值,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllGreaterThanOrEqualToVector4

返回一个布尔值,指示第一个向量的每个分量是否大于或等于第二个向量的相应分量。

bool GLKVector4AllGreaterThanOrEqualToVector4(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

YES如果第一向量中的每个分量大于或等于第二向量的相应分量,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllGreaterThanScalar

返回一个布尔值,指示源向量的所有组件是否大于标量值。

bool GLKVector4AllGreaterThanScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量

回报值

YES如果所有矢量的分量都大于标量值,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4AllGreaterThanVector4

返回一个布尔值,指示第一个向量的每个分量是否大于第二个向量的相应分量。

bool GLKVector4AllGreaterThanVector4(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

YES如果第一矢量中的每个分量大于第二矢量的相应分量,NO否则。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4CrossProduct

返回两个向量的交叉乘积。

GLKVector4 GLKVector4CrossProduct(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

一个新的矢量。

讨论

通过获取[x,y,z]两个源向量的分量并计算这两个向量的交叉乘积来执行计算。w结果向量的分量是0.0

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Distance

返回两点之间的距离。

float GLKVector4Distance(GLKVector4 vectorStart,GLKVector4 vectorEnd);
参数
  • vectorStart

  • 提供起点坐标的向量。

  • vectorEnd

  • 提供终点坐标的向量。

回报值

两点之间的距离。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Divide

返回通过将一个向量除以另一个矢量创建的新向量。

GLKVector4 GLKVector4Divide(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 股息

回报值

通过将在第一矢量的相同位置中找到的分量除以在第二矢量的相同位置中找到的分量,分别计算其分量的新向量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4DivideScalar

返回通过将向量的每个分量除以标量值创建的新向量。

GLKVector4 GLKVector4DivideScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量值。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4DotProduct

返回两个向量的点积。

float GLKVector4DotProduct(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

两个向量的点积。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Length

返回向量的长度。

float GLKVector4Length(GLKVector4 vector);
参数
  • 向量

  • 一个矢量。

回报值

矢量的长度。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Lerp

返回通过两个向量之间的线性解释创建的新向量。

GLKVector4 GLKVector4Lerp(GLKVector4 vectorStart,GLKVector4 vectorEnd,float t);
参数
  • vectorStart

  • 起始矢量。

  • vectorEnd

  • 结束向量。

  • 内插常数。

回报值

一个新的矢量。

讨论

的值吨通常应该之间0.01.0。的值0.0返回初始向量和的值1.0返回结束矢量。t的任何其他值导致两点之间的线性插值。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Make

返回从各个组件值创建的新的四分量向量。

GLKVector4 GLKVector4Make(float x,float y,float z,float w);
参数
  • X

  • 第一个组件。

  • 第二个组件。

  • 第三部分。

  • w ^

  • 第四个组成部分。

回报值

初始化矢量。

可用性
  • 适用于iOS 5.0及更高版本。

相关示例代码
  • GLAirplay

声明在

GLKVector4.h

GLKVector4MakeWithArray

返回从组件数组创建的新的四分量向量。

GLKVector4 GLKVector4MakeWithArray(float values [4]);
参数
  • 数组包含组件值。

回报值

数组

讨论

初始化矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4MakeWithVector3

返回通过组合三分量向量与标量值创建的新的四分量向量。

GLKVector4 GLKVector4MakeWithVector3(GLKVector3 vector,float w);
参数
  • 向量

  • 一个矢量。

  • w ^

  • 第四个组成部分。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Maximum

返回一个新向量,其中每个位置的分量值是源向量中相同位置处的最大分量值。

GLKVector4 GLKVector4Maximum(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Minimum

返回一个新向量,其中每个位置的分量值是源向量中相同位置处的最小分量值。

GLKVector4 GLKVector4Minimum(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Multiply

返回两个向量的乘积。

GLKVector4 GLKVector4Multiply(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 第一个矢量。

  • vectorRight

  • 第二个矢量。

回报值

一个新向量,其分量各自表示在两个源向量的相同位置中发现的分量的乘积。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4MultiplyScalar

返回通过将向量的每个分量乘以标量值创建的新向量。

GLKVector4 GLKVector4MultiplyScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量值。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Negate

返回通过否定另一个向量的组件值创建的新向量。

GLKVector4 GLKVector4Negate(GLKVector4 vector);
参数
  • 向量

  • 一个矢量。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Normalize

返回通过将输入向量归一化为一个长度创建的新向量1.0

GLKVector4 GLKVector4Normalize(GLKVector4 vector);
参数
  • 向量

  • 一个矢量。

回报值

一个新的矢量。

讨论

所得到的向量指向与输入向量相同的方向,但具有长度1.0

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Project

返回通过将向量投影到另一个向量上创建的新向量。

GLKVector4 GLKVector4Project(GLKVector4 vectorToProject,GLKVector4 projectionVector);
参数
  • vectorToProject

  • 正在投影的矢量。

  • projectionVector

  • 投影向量。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4Subtract

返回两个向量之间的差异。

GLKVector4 GLKVector4Subtract(GLKVector4 vectorLeft,GLKVector4 vectorRight);
参数
  • vectorLeft

  • 起始矢量。

  • vectorRight

  • 向量减去。

回报值

一个新向量,其分量各自表示在两个源向量的相同位置中发现的分量之间的差异。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

GLKVector4SubtractScalar

返回通过从矢量的每个分量中减去标量值创建的新向量。

GLKVector4 GLKVector4SubtractScalar(GLKVector4 vector,float value);
参数
  • 向量

  • 一个矢量。

  • 标量值。

回报值

一个新的矢量。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKVector4.h

数据类型

GLKVector4

4分量矢量的表示。

union _GLKVector4 {struct {float x,y,z,w; }; struct {float r,g,b,a; }; struct {float s,t,p,q; }; float v [4];} typedef union _GLKVector4 GLKVector4;
字段
  • x

  • 矢量中的第一个组件。通常在矢量指的是位置或正常时使用。

  • y

  • 向量中的第二个组件。通常在矢量指的是位置或正常时使用。

  • z

  • 向量中的第三个组件。通常在矢量指的是位置或正常时使用。

  • w

  • 向量中的第四个组件。通常在矢量指的是位置时使用。

  • r

  • 矢量中的第一个组件。通常在矢量指的是颜色值时使用。

  • g

  • 向量中的第二个组件。通常在矢量指的是颜色值时使用。

  • b

  • 向量中的第三个组件。通常在矢量指的是颜色值时使用。

  • a

  • 向量中的第四个组件。通常在矢量指的是颜色值时使用。

  • s

  • 矢量中的第一个组件。通常在矢量指纹理坐标时使用。

  • t

  • 向量中的第二个组件。通常在矢量指纹理坐标时使用。

  • p

  • 向量中的第三个组件。通常在矢量指纹理坐标时使用。

  • q

  • 向量中的第四个组件。通常在矢量指纹理坐标时使用。

  • v

  • 向量的元素表示为数组。

可用性
  • 适用于iOS 5.0及更高版本。

声明在

GLKMathTypes.h