public ColorRGB RotateAboutBlue(double amount) { double c = DoubleEx.CosCircle(amount); double s = DoubleEx.SinCircle(amount); return(new ColorRGB(c * R - s * G, s * R + c * G, B, A)); }
public ColorRGB RotateAboutGreen(double amount) { double c = DoubleEx.CosCircle(amount); double s = DoubleEx.SinCircle(amount); return(new ColorRGB(c * R + s * B, G, -s * R + c * B, A)); }
public ColorRGB RotateAboutRed(double amount) { double c = DoubleEx.CosCircle(amount); double s = DoubleEx.SinCircle(amount); return(new ColorRGB(R, c * G - s * B, s * G + c * B, A)); }
public ColorCMY RotateAboutYellow(double amount) { double cs = DoubleEx.CosCircle(amount); double sn = DoubleEx.SinCircle(amount); return(new ColorCMY(cs * C - sn * M, sn * C + cs * M, Y, Z)); }
public ColorCMY RotateAboutMagenta(double amount) { double cs = DoubleEx.CosCircle(amount); double sn = DoubleEx.SinCircle(amount); return(new ColorCMY(cs * C + sn * Y, M, -sn * C + cs * Y, Z)); }
public ColorCMY RotateAboutCyan(double amount) { double cs = DoubleEx.CosCircle(amount); double sn = DoubleEx.SinCircle(amount); return(new ColorCMY(C, cs * M - sn * Y, sn * M + cs * Y, Z)); }