问题标签 [catransform3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2255 浏览

iphone - 尝试在核心动画中使用透视变换失败

我正在尝试创建一个简单的 iPhone 应用程序,该应用程序显示下面有反射的图片,并且我想使用 Core Animation 围绕 X 轴旋转图片。

我首先使用“基于视图的应用程序”模板创建了一个新的 iPhone 应用程序。我添加了一个“Picture.jpg”图像文件,然后将其添加到视图控制器:

几乎可以工作。问题是主画面和反射的旋转并不完全同步。它非常接近完美,但图片底部和反射顶部的边缘相距几个像素。它们似乎相差几度。

在屏幕左侧,倒影似乎在画面“前面”,而在右侧,倒影在画面后面。换句话说,看起来顶部图像的底角被推向屏幕,而反射的顶角被拉向观看者。在图像旋转时查看图像的正面和背面都是如此。

如果我增加zDistance,效果就不那么明显了。transform.m34如果我通过将两层都保留为零来完全消除透视变换,那么图片和反射看起来完全同步。所以我不认为这个问题与时间同步问题有关。

我怀疑我的视角转换遗漏了一些东西,但我不确定如何确定出了什么问题。我想我基本上是在做这个相关的 Stack Overflow question中描述的相同的转换。

有人可以帮忙吗?

0 投票
1 回答
5802 浏览

iphone - 如何在 UIView 上使用 CATransform3D 添加特定类型的透视图?

我已经创建 iPhone 应用程序一段时间了,使用基本的转换(旋转、缩放等),但现在我想做一些更复杂的事情。

数学确实不是我的强项……但我想知道如何将“透视”添加到 UIView(见下图)。我使用 Photoshop 中的倾斜选项快速模拟了屏幕截图

我查看了stackoverflow的解决方案,我发现如何将透视变换应用于UIView?效果很好-但这并不是我真正想要的,因为最左边的边缘的高度大于最右边的边缘

有谁知道我如何去做这个 CATransform3D 但没有这些不同的高度?

替代文字 http://img594.imageshack.us/img594/4354/perspectivel.png

0 投票
1 回答
488 浏览

iphone - 防止缩放到某个限制

在我基于 ipad openGL 的应用程序中,我正在绘制一个 2D 和 3D 对象并根据用户的手指运动旋转它......在捏住屏幕时,用户可以缩放这些对象......但我想要的是防止缩放对象在某个限制,比如超过对象大小的 2 倍用户不能放大,用户不能缩小超过对象的原始大小

我在“CATransform3DScale”的帮助下缩放对象

任何提示请......

在此先感谢并感谢您的帮助。

0 投票
2 回答
6387 浏览

iphone - iPhoneSDK 从 CATransform3D 计算旋转角度

如何通过将 CATransform3D 结构作为输入来计算围绕 Z 轴的弧度旋转?

基本上我需要的是相反的CATransform3DMakeRotation.

0 投票
3 回答
20692 浏览

iphone - 如何使 CATransform3dMakeRotation 以另一种方式旋转?并连在一起

我第一次使用一些核心动画,在实现可以翻转的扑克牌的过程中,我决定使用 aCALayer来显示内容(不知道我将如何获得两个面,但这是另一个问题)我需要能够将其翻转、移动等...

我使用CATransaction成功了 - 在下面的片段中,卡片从左下角移动到左上角并翻转。问题是我不希望它向相反的方向翻转,但不知道如何告诉它,“嘿,你走错路了!”



第二个问题是:我怎样才能让它同时进行两次转换?我试过嵌套两个CATransactions,但第二个只是覆盖第一个。我还尝试将旋转的矢量更改为 2D,比如说围绕 x 和 y 轴旋转,但这并不等同于仅通过 pi 围绕两个单独的轴翻转它。这是嵌套代码。



这里是UIView里面的动画块...我添加了角度滑块,x、y、z 用于旋转矢量,t 用于时间。平移发生在时间 = 2t 中,并且每次旋转应该只花费 t。


这就是我现在所处的位置:除了一个例外,这一切都有效。当卡片到达 pi/2 和 3*pi/2 时,y 旋转反转(开始向相反方向旋转)。它还在这些点处围绕 x 轴翻转。但是 x 和 z 工作得很好。很近!

0 投票
3 回答
11276 浏览

perspective - CATransform3D 的 m34 的含义

结构CATransform3D的m34是什么意思,我只知道可以改变视角,但是-0.001和0.001的值是什么意思呢?

0 投票
1 回答
460 浏览

iphone - 旋转Objective c时坐标不会改变

我正在旋转一个轮子,其中包含各种子视图(UIImageViews 和 UIButtons)但是当我要求它显示每个子视图的每个中心时,它每次都给我相同的值。

有人可以告诉我为什么即使在旋转并放置在不同的位置之后,这些值总是相同的?

谢谢!

0 投票
2 回答
867 浏览

ios - CATransform3DMakeRotation and shadow

I'm creating the flip animation library.

In two words, I create the CALayer and rotate it using CoreAnimation's CATransform3DMakeRotation.

The question is – is there a way to add a shadow to that scene? Without rewriting the whole code with OpenGL :)

0 投票
3 回答
5242 浏览

iphone - 从 CATransform3D 获取“比例”

我正在创建一个 iPad 应用程序,并希望使用当前视图大小来更新用户。我曾经通过计算 CGAffineTransform 的比例并将 xScale 乘以(相关视图的)宽度和 yScale 乘以高度来做到这一点。我想继续这样做,但我不再进行 2d 转换,而且我不确定使用什么方程从 CATransform3D 中提取比例信息。

你能帮我吗?

0 投票
3 回答
19831 浏览

ios - CATransform3DMakeRotation 是如何使用的?

我不知道如何使用CATransform3DMakeRotation(). 有人可以告诉我如何使用它吗?

我认为第一个参数是角度,对吧?但是其他三个是什么?