October 29, 2010
Blend Color
色を混ぜて遊ぶのはとても楽しいのですが、変化率に一次関数しか使ったことないな、とはずっと思っていたのです。
Line1 は1次関数。Line2 は3次関数。Line3 は10次関数での変化率になっています。次数を上げるほど色が変わり始めるのが遅くなり、変わり方が急激になります。ちょこっと計算してはいますが、最後はちゃんと RGB に入るように Round() で integer にしてあります。
仕事で役に立つのでしょうか... 知りません知りません。
'blend color with polynomial function
'---------------------------------------
Dim aR, aG, aB 'factor for polynomial function
Dim dbl_xR_step, dbl_xG_step, dbl_xB_step
Dim t 'function
t = 3
dbl_xR_step = (gR-sR)/((UBound(arr_str_tangent)))
dbl_xG_step = (gG-sG)/((UBound(arr_str_tangent)))
dbl_xB_step = (gB-sB)/((UBound(arr_str_tangent)))
aR = (gR-sR)/ (UBound(arr_str_tangent))^t
aG = (gG-sG)/ (UBound(arr_str_tangent))^t
aB = (gB-sB)/ (UBound(arr_str_tangent))^t
'with quadratic
R = sR + Round(aR * k^t)
G = sG + Round(aG * k^t)
B = sB + Round(aB * k^t)
Call Rhino.ObjectColor( str_tangent, RGB(R,G,B) )
Call Rhino.EnableRedraw( True )
'---------------------------------------
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment