ある側から別の側に始まる色のグラデーションをレンダリングしたい。図でわかるように、色のグラデーションは最小境界ボックスから最大境界ボックスまで始まります。コードは以下です。
Point c = (VERTICES[i] - min) / (max - min);
p_COLOR[i].setRGB(c.red, c.green, c.blue);
ここでの問題は、色のグラデーションがどの方向にも続いていないことです (たとえば、下から上へ: 下側には赤と青みがかった紫の 2 色があります)。しかし、-x から x または -y から y または -z から z に始まるグラデーションを適用する必要があります。つまり、赤色が -y から始まる場合、赤色のみが -y 側の領域をカバーし、次にグラデーションを -y から y に移動します。 、青の後に赤、緑、黄色の順に色を増やします。下側に赤と青みがかった紫があってはなりません。赤だけが存在し、次に上に移動して青、緑などになります。
どうやってやるの ?方程式は何でしょうか?