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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 中根据线条的角度不同随机产生颜色相关的知识,希望对你有一定的参考价值。

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

- (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;


}

 

以上是关于iOS 中根据线条的角度不同随机产生颜色的主要内容,如果未能解决你的问题,请参考以下文章

Opengl 3+用不同颜色绘制线条

原生JS代码实现随机产生一个16进制的颜色值

HTML5 画布 - 当 alpha < 1 时,相同的 RGBA 样式会产生不同的颜色

iOS 随机颜色和十六进制颜色转换

echart使用同一色系,深浅随机的颜色

验证码颜色字母数字线条圆点位置都随机,点击切换验证码