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