初窥 CATransform3D 文档解读
来源:互联网 发布:剑三帅气成女捏脸数据 编辑:程序博客网 时间:2024/05/22 16:05
初窥 CATransform3D 文档解读
struct CATransform3D {CGFloat m11, m12, m13, m14;CGFloat m21, m22, m23, m24; CGFloat m31, m32, m33, m34; CGFloat m41, m42, m43, m44; };
{
CGFloat m11(x缩放), m12(y切变), m13(), m14();
CGFloat m21(x切变), m22(y缩放), m23(), m24();
CGFloat m31(), m32(), m33(), m34(透视效果,要操作的这个对象要有旋转的角度,否则没有效果。当然,z方向上得有变化才会有透视效果);
CGFloat m41(x平移), m42(y平移), m43(z平移), m44();
};
typedef struct CATransform3D CATransform3D;CA_EXTERN_C_BEGIN
CATransform3DIdentity
The identity transform: [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1].
单位矩阵CA_EXTERN const CATransform3D CATransform3DIdentity__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DIsIdentity
Returns true if ‘t’ is the identity transform.
返回布尔值 判断是否是单位矩阵CA_EXTERN bool CATransform3DIsIdentity (CATransform3D t)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DEqualToTransform
Returns true if ‘a’ is exactly equal to ‘b’.
返回布尔值 判断两个 CATransform3D 变量是否相等CA_EXTERN bool CATransform3DEqualToTransform (CATransform3D a, CATransform3D b)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DMakeTranslation
Returns a transform that translates by ‘(tx, ty, tz)’:
t’ = [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1].
传入 (x,y,z) 向量,转换成 CATransform3D 变量CA_EXTERN CATransform3D CATransform3DMakeTranslation (CGFloat tx,CGFloat ty, CGFloat tz)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DMakeScale
Returns a transform that scales by `(sx, sy, sz)’:
‘t’ = [sx 0 0 0; 0 sy 0 0; 0 0 sz 0; 0 0 0 1].
对 X,Y,Z 三个变量进行缩放,传入参数其实是个比率CA_EXTERN CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy,CGFloat sz)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DMakeRotation
**Returns a transform that rotates by ‘angle’ radians about the vector
‘(x, y, z)’. If the vector has length zero the identity transform is
returned.**
在某个方向上旋转某个角度。返回一个 相对于某个矢量的旋转角度 的3D变换CA_EXTERN CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x,CGFloat y, CGFloat z)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DTranslate
**Translate ‘t’ by ‘(tx, ty, tz)’ and return the result:
‘t’ = translate(tx, ty, tz) * t.**
在某个矢量基础上 进行另一个矢量运算。返回一个 相对于某个矢量的矢量运算的 的3D变换CA_EXTERN CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx,CGFloat ty, CGFloat tz)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DScale
Scale ‘t’ by ‘(sx, sy, sz)’ and return the result:
‘t’ = scale(sx, sy, sz) * t.
在某个矢量基础上 进行另一个矢量放缩。返回一个 相对于某个矢量的矢量放缩 的3D变换CA_EXTERN CATransform3D CATransform3DScale (CATransform3D t, CGFloat sx,CGFloat sy, CGFloat sz)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DRotate
**Rotate ‘t’ by ‘angle’ radians about the vector ‘(x, y, z)’ and return
the result. If the vector has zero length the behavior is undefined:
‘t’ = rotation(angle, x, y, z) * t.**
在某个矢量基础上 进行某个矢量方向上的旋转一定角度CA_EXTERN CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle,CGFloat x, CGFloat y, CGFloat z)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DConcat
Concatenate ‘b’ to ‘a’ and return the result: t’ = a * b.
把两个向量变换 combine 到一起。相当于是 两个向量进行向量运算。CA_EXTERN CATransform3D CATransform3DConcat (CATransform3D a, CATransform3D b)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DInvert
**Invert ‘t’ and return the result. Returns the original matrix if ‘t’
has no inverse.**
返回一个逆向量CA_EXTERN CATransform3D CATransform3DInvert (CATransform3D t)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DMakeAffineTransform
Return a transform with the same effect as affine transform ‘m’.
返回一个相同效果的向量 相当于 copyCA_EXTERN CATransform3D CATransform3DMakeAffineTransform (CGAffineTransform m)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DIsAffine
Returns true if ‘t’ can be represented exactly by an affine transform.
判断放射变换是否可以被精确表示CA_EXTERN bool CATransform3DIsAffine (CATransform3D t)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CATransform3DGetAffineTransform
**Returns the affine transform represented by ‘t’. If ‘t’ can not be
represented exactly by an affine transform the returned value is
undefined.**
返回以“T”为代表的 放射变换。如果不能进行放射变换 则 返回 未定义。CA_EXTERN CGAffineTransform CATransform3DGetAffineTransform (CATransform3D t)__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
- 初窥 CATransform3D 文档解读
- 初窥 CATransform3D 文档解读
- 初窥 CGAffineTransform 文档解读
- 初窥 CGAffineTransform 文档解读
- CATransform3D
- CATransform3D
- CATransform3D
- CATransform3D
- CATransform3D
- 蓝牙官方文档解读
- monolog文档解读
- XML文档解读
- redux文档解读
- vuex官方文档解读
- XML文档 标签解读
- [iOS]CATransform3D
- CATransform3D-Cube
- CATransform3D解释
- 参加ThoughtWorks实训——学习经验技巧的小分享(二)
- 配置java环境
- EventBus3
- [LeetCode] 128. Longest Consecutive Sequence
- Java中方法参数的传递
- 初窥 CATransform3D 文档解读
- 射线Physics.Raycast
- mac下安装webpack
- 初窥 CGAffineTransform 文档解读
- jquery.js文件报错missing semicolon
- iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案
- Android之Fragment实现界面切换学习笔记
- 版本控制工具SVN的安装
- 全排列