与えられた:
点P、円1と円2の位置と半径
とは:
Tの式、色1と2の間の「混合レベル」(0から1の間の値)
多くの放射状勾配方程式は、同心円または位置を共有する円にのみ適用されます。Quartz(Core Graphics)を使用して作成された、以下の画像に一致するものを探しています。GLSLシェーダーを作成していますが、最初に数学を理解する必要があります。
これが2Dの場合、ポイントが置かれている円のパラメータを次のように記述できます。
x3=T*x1+(1-T)*x2
y3=T*y1+(1-T)*y2
r3=T*r1+(1-T)*r2
編集:もちろん、その円は次のように表すことができます:
(x3-xP)^2+(y3-yP)^2=r3^2
最初の3つの方程式を最後の方程式に置き換えることができ((xP、yP)がポイントであることを忘れないでください)、Tの2次変数としてTのみを含む1つの方程式を取得できるため、Tを簡単に解くことができます。私たちに与える:
T=(-r2*(r1-r2)+(x1-x2)*(x2-xP)+(y1-y2)(y2-yP)
{+-}sqrt(r2^2*((x1-xP)^2+(y1-yP)^2)-2*r1*r2*((x1-xP)*(x2-xP)
+(y1-yP)*(y2-yP))+r1^2*((x2-xP)^2+(y2-yP)^2)
-(x2*y1-xP*y1-x1*y2+xP*y2+x1*yP-x2*yP)^2))
/((r1-r2)^2-(x1-x2)^2-(y1-y2)^2)
それは少し読みにくいことは知っていますが、数学的にはそれほど悪くはありません。それはただの足し算、掛け算、そして二乗です(これは本当にただの掛け算です)。