【发布时间】:2013-02-20 09:27:40
【问题描述】:
图 1: 我在 2d (CoreGraphics) 的图层上绘制贝塞尔曲线,我有 A 点和 B 点。
图2: 我可以将图层旋转大约 70 度。
图 3: 我想通过将图像从 3D 压缩回 2D 来了解 A 和 B 现在的点。
理想情况下我想做的是这样的函数:
-(CGPoint)calculateNewPointFrom:(CGPoint)p withAngle:(float)angle
{
//Rotate point by angle in 3d space
//Return new point in 2d space
}
欢迎大家帮忙。谢谢
【问题讨论】:
-
我对CoreGraphics一无所知,但这只是一个几何问题。您需要应用两个矩阵变换的结果;首先是旋转,然后是投影。您可以将这两个矩阵相乘以获得单个变换。
-
为什么不实际旋转 3D 图层?
-
@DavidRönnqvist - 当我这样做时,图层将没有真正的深度并且看起来很平坦。我只想要坐标。
标签: objective-c macos core-graphics