Difference between revisions of "HSV color (日本語)"
(Created page with "[https://secure.wikimedia.org/wikipedia/en/wiki/HSL_and_HSV HSV 色彩空間]は人間の色の知覚方法に基づいたものであり、そして同様に、審美的な...") |
m |
||
Line 57: | Line 57: | ||
[[Category:Snippets (日本語)]] | [[Category:Snippets (日本語)]] | ||
+ | {{#set:LOVE Version=any}} | ||
+ | {{#set:Description=審美的な心地よさによる色彩変換を考慮に入れた代替色彩空間です。}} | ||
== そのほかの言語 == | == そのほかの言語 == | ||
{{i18n|HSV color}} | {{i18n|HSV color}} |
Latest revision as of 00:23, 15 November 2016
HSV 色彩空間は人間の色の知覚方法に基づいたものであり、そして同様に、審美的な心地よさによる色彩変換を非常に簡単にします。
- Hue (色相) は、どの色領域であるかを記述します。色相の拡大において、色は以下の順に遷移します:赤色、橙色、黄色、緑色、青緑色、青色、スミレ色、紫色、マゼンタ色、赤色。
- Saturation (彩度) は色の鮮やかさを意味します。範囲は灰色から紫色までです。
- Value (明度) は各色の量にて、画像の明るさどのくらいにするかを意味します。
この関数は HSV 値を RGB へ変換します:
-- HSV から RGB へ変換 (入力および出力の範囲: 0 - 255)
function HSV(h, s, v)
if s <= 0 then return v,v,v end
h, s, v = h/256*6, s/255, v/255
local c = v*s
local x = (1-math.abs((h%2)-1))*c
local m,r,g,b = (v-c), 0,0,0
if h < 1 then r,g,b = c,x,0
elseif h < 2 then r,g,b = x,c,0
elseif h < 3 then r,g,b = 0,c,x
elseif h < 4 then r,g,b = 0,x,c
elseif h < 5 then r,g,b = x,0,c
else r,g,b = c,0,x
end return (r+m)*255,(g+m)*255,(b+m)*255
end
また、それが必要であれば、 GLSL 実装による同一関数があります:
vec3 HSV(float h, float s, float v)
{
if (s <= 0 ) { return vec3 (v); }
h = h * 6;
float c = v*s;
float x = (1-abs((mod(h,2)-1)))*c;
float m = v-c;
float r = 0.0;
float g = 0.0;
float b = 0.0;
if (h < 1) { r = c; g = x;b = 0.0;}
else if (h < 2) { r = x; g = c; b = 0.0; }
else if (h < 3) { r = 0.0; g = c; b = x; }
else if (h < 4) { r = 0.0; g = x; b = c; }
else if (h < 5) { r = x; g = 0.0; b = c; }
else { r = c; g = 0.0; b = x; }
return vec3(r+m,g+m,b+m);
}
または空き領域を節約したい方々向けに(そして GPU にとって分岐条件は非常に効果であり、より良い性能を達成するために)、こちらに一行野郎があります:
vec3 hsv(float h,float s,float v) { return mix(vec3(1.),clamp((abs(fract(h+vec3(3.,2.,1.)/3.)*6.-3.)-1.),0.,1.),s)*v; }
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info