ios - 为什么 Apple 翻转了 UIBezierPath 的单位圆?

标签 ios core-graphics trigonometry uibezierpath

enter image description here

左图是典型的单位圆的样子。右边的那个来自文档。我还没有看到更深入的解释为什么它在网上的任何地方被翻转。为什么会这样?

最佳答案

圆的绘图通常由 x = center.x + r * cos(φ)y = center.y + r * sin(φ) 表示> 随着 φ0 进展到 2π。 使用标准笛卡尔坐标系,原点在左下角,这导致绘制的圆圈,从 3 点钟方向开始并逆时针方向进行。请参见下方左图。

但 iOS 坐标系的 y 轴从标准笛卡尔坐标系翻转而来,原点位于左上角,y 随着您向下移动屏幕而增加。见下右图:

enter image description here

(这改编自 Quartz 2D 编程指南中的 Coordinate SystemsApple 文档中的原始图表仅说明坐标系如何翻转,但我已将箭头更改为更准确地表示这如何影响从 0 到 π/2 的圆弧的绘制。)

结果是,当使用 iOS 坐标系时,它将从 3 点钟开始,然后顺时针方向。

关于ios - 为什么 Apple 翻转了 UIBezierPath 的单位圆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41644590/

相关文章:

iphone - Uicolor 255背后的逻辑

objective-c - ios 解码图像的一部分

iphone - 从变换后的 ImageView 绘制图像

cocoa - 如何迭代 UIImage 的所有像素?

java - 辛泰勒级数递归逼近

ios - 安全更新 NSManagedObjects 的键值

iphone - 在开发时确定 iOS .app 包大小的最简单方法是什么?

iOS 应用程序在后台崩溃,因为设置->隐私->联系人我的应用程序开/关

将弧度转换为度、分和秒

java - GTGE 的 Java 数学问题