我试图用一个2.5维图形引擎(核心动画层)绘制一个三维椭圆,它只允许我用必须通过旋转和平移移动到位的线段组成椭圆我操作顺序有问题,不能把它画好有什么图形专家或游戏程序员可以帮我吗?
下面是一张描述我当前方法的图片:
对于椭圆多边形中的每个线段,我首先创建一个长度正确的线段,然后将其转换为点p1,然后按pi/2+theta旋转该点,但这显然不起作用。
我上大学上图形课已经10年了,有人能帮我回忆一下我做错了什么吗?

最佳答案

我不小心发现了解决办法,而清理我的代码张贴在这里!
正确的步骤是:

CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DTranslate(transform, -size.width/2.0, 0, 0);
transform = CATransform3DTranslate(transform, point.x, 0, point.y);
transform = CATransform3DRotate(transform, M_PI_2+angle, 0, 1, 0);
transform = CATransform3DTranslate(transform, -size.width/2.0, 0, 0);

关于ios - 椭圆绘图算法中的2D变换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25611129/

10-12 12:19
查看更多