相关疑难解决方法(0)

在UIView矩形上找到CGPoint,该矩形与从中心点以给定角度的直线相交

在iOS中,我试图确定一个矩形上的点,该矩形与从预定角度的中心点到矩形周边的虚线相交.

假设我知道中心点,矩形的大小和角度(从东向0度开始,向北逆时针旋转90度,西向180度,南向270度至东经360度).我需要知道交叉点的坐标.

在给定角度的矩形查找点时,有些令人困惑的(对我来说)数学但可能是准确的答案导致我尝试以下代码,但它无法正常工作.这个问题类似于那个问题,但我正在寻找一个更正的Objective-C/iOS方法而不是一般的数学响应.

我认为代码问题的一部分与使用单个0到360度角(弧度,不可能有负数)输入有关,但可能还有其他问题.下面的代码主要使用belisarius答案中定义符号,包括我尝试计算那里定义的四个区域中每个区域的交叉点.

这段代码在我的UIImageView子类中:

- (CGPoint) startingPointGivenAngleInDegrees:(double)angle {
    double angleInRads = angle/180.0*M_PI;
    float height = self.frame.size.height;
    float width = self.frame.size.width;
    float x0 = self.center.x;
    float y0 = self.center.y;
    // region 1 
    if (angleInRads >= -atan2(height, width) && angleInRads <= atan2(height, width)) {
        return CGPointMake(x0 + width/2, y0 + width/2 * tan(angleInRads));
    }
    // region 2
    if (angleInRads >= atan2(height, width) && angleInRads <= M_PI - atan2(height, width)) {
        return CGPointMake(x0 + height …
Run Code Online (Sandbox Code Playgroud)

iphone math graphics geometry ios

10
推荐指数
2
解决办法
3135
查看次数

标签 统计

geometry ×1

graphics ×1

ios ×1

iphone ×1

math ×1