floor ceil fract 函数的区别
程序员文章站
2022-06-03 08:32:00
...
floor ceil fract 各种函数的区别
- Floor : 向下取整。既数轴上最接近目标值的左边值。可以理解为“地板”。floor(0.8) =1,floor(-0.8)=-1
void TestCase(out vec4 fragColor, in vec2 fragCoord)
{
vec2 st = fragCoord/iResolution.xy;
float y=floor(st.x*10.0)/10.0;
float pct = plot(st,y);
vec3 color =pct * vec3(0,0,1) ;
fragColor = vec4(color,0);
}
上述代码将st.x 扩展为10的阶梯。
- Ceil
向上取整. ~天花板 。 ceil(0.8) =1
void TestCaseCeil(out vec4 fragColor, in vec2 fragCoord)
{
vec2 st = fragCoord/iResolution.xy;
float y=ceil(st.x*10.0)/10.0;
float pct = plot(st,y);
vec3 color =pct * vec3(0,0,1) ;
fragColor = vec4(color,0);
}
与上图,第一个台阶的起点不同哦。
- Fract :总体而言,这个函数就比较的 坑。
解释为返回此数的小数部分。按字面理解fract(0.1) = 0.1, fract(-0.1) = -0.1。
然而实际上并非如此,首先,fract的值域为 0~1.
正确的定义为:fract(x) = x - floor(x)
所以对于负数而言: fract(-0.1) = -0.1 -(-1) = 0.9
void TestCaseFract(out vec4 fragColor, in vec2 fragCoord)
{
vec2 st = fragCoord/iResolution.xy;
float y=fract(st.x*10.0)/10.0;
float pct = plot(st,y);
vec3 color =pct * vec3(0,0,1) ;
fragColor = vec4(color,0);
}
上一篇: 没有男人配得上我
推荐阅读
-
谈谈sqlserver自定义函数与存储过程的区别
-
详解PHP中strlen和mb_strlen函数的区别
-
C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
-
PHP函数addslashes和mysql_real_escape_string的区别
-
javascript构造函数和原型(js构造函数和普通函数的区别)
-
JQuery中window.onload函数与$(document).ready()的区别实例讲解
-
javascript构造函数和原型(js构造函数和普通函数的区别)
-
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
-
Javascript 普通函数和构造函数的区别
-
python通过floor函数舍弃小数位的方法