有没有办法获得代表当前层状态的总仿射变换?

发布于 2024-08-04 15:48:56 字数 317 浏览 11 评论 0原文

我的意思是,如果我有一个对象并且我对其应用了 3 个变换,例如,假设我不知道每个变换在做什么,但我有矩阵。

所以,我有

对象 X >变换1>变换2>变换3>最终结果

是否有一种方法可以获得可以代表 3 个变换的仿射变换,这样我只需进行一个变换就可以获得相同的结果?例如

对象X>超级变换>最终结果

在哪里 超级变换=变换1>变换2> transform3

如何使用 CGAffineTransform 在 iphone sdk 上做到这一点?

感谢您的帮助。

I mean, if I have an object and I apply 3 transforms to it, for example, suppose I don't know what each transform is doing, but I have the matrices.

So, I have

Object X > transform1 > transform2 > transform3 > final result

is there a way to obtain an Affine Transform that can represent the 3 transforms, so I can obtain the same result just doing one transform? For example

Object X > super transform > final result

where
super transform = transform1 > transform2 > transform3

how do I do that on the iphone sdk using CGAffineTransform ?

thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我要还你自由 2024-08-11 15:48:56

看一下CGAffineTransformConcat()。您可以使用它来组合两个转换。如果您想将三种转换合并为一种,类似这样的操作应该可行:

// Assumes you have CGAffineTransform transform1, transform2, transform3

CGAffineTransform finalTransform = CGAffineTransformConcat(CGAffineTransformConcat(transform1, transform2), transform3);

Have a look at CGAffineTransformConcat(). You can use this to combine two transformations. If you want to combine three transformations into one, something like this should work:

// Assumes you have CGAffineTransform transform1, transform2, transform3

CGAffineTransform finalTransform = CGAffineTransformConcat(CGAffineTransformConcat(transform1, transform2), transform3);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文