iOS 中根据线条的角度不同随机产生颜色

记录下过程其中主要是反正切函数的使用,两点斜率决定线条角度不同。
反正切函数值域范围是不一样的
atan:(-π/2,+π/2),atan2f:(-π,+π)

  • (UIColor )lineColor
    {
    CGFloat xDs = self.end.x - self.begin.x;
    CGFloat yDs = self.end.y - self.begin.y;
    CGFloat angle = atan2f(xDs,yDs);
    //atan的范围是(-M_PI/2,+M_PI/2)
    //atan2f的值域为(-M_PI,+M_PI),经过先加M_PI 再除M_PI
    2 得到范围
    //(0,1)进而符合colorWithHue的范围,
    CGFloat cValue = (angle +M_PI )/(M_PI * 2);
    UIColor *color = [UIColor colorWithHue:cValue saturation:1.0 brightness:1.0 alpha:1.0];
    return color;
    }

关于弧度维基百科的解释


屏幕快照 2016-06-28 上午10.58.06.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容