一个笑脸

本文介绍了如何使用Shadertoy中的`smoothstep`函数创建圆的抗锯齿效果,通过调整透明度通道实现图层融合,展示了如何通过`mix`操作控制不同圆层的叠加。代码实例详细演示了颜色渐变和透明度控制在实时图形处理中的应用。

没什么可说的,很简单通过拼凑出一个笑脸。

 

通过smoothstep抗锯齿,在圆的边界a值有一个平滑的过渡,而不是0-1的尖锐变化;

控制vec4 fragColor.a来表现透明通道,圆的区域和其他区域唯一的区别就是a值不同;

通过mix来实现图层融合,第二个参数为上层的图层,原理是mix(a,b,t)的返回值是 a(1-t)+bt , 在此处t=a , 将导致b图层有图像的地方(圆的绘制区域a为1)将会覆盖a图层中该范围的颜色信息;

vec4 Circle(vec2 uv,float radius,vec2 orign,float blur,vec3 color)
{
    float d = length( uv - orign );
    float c = smoothstep( radius,radius - blur,d );
    vec4 fragcolor = vec4(color,c);
    return fragcolor;
    
}


void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    vec2 uv = fragCoord/iResolution.xy;
    uv -=0.5;
    uv.x *= iResolution.x/iResolution.y;

    vec4 layer1 = Circle(uv , 0.25 , vec2(0,0) , 0.01 , vec3(1.,1.,0.));
    vec4 layer2 = Circle(uv , 0.2 , vec2(0.,-0.001) , 0.01, vec3(0.,0.,0.));
    vec4 layer3 = Circle(uv , 0.22 , vec2(0,0.03) , 0.01 , vec3(1.,1.,0.));
    vec4 layer4 = Circle(uv , 0.05 , vec2(0.1,0.1) , 0.01, vec3(0.,0.,0.));
    vec4 layer5 = Circle(uv , 0.05 , vec2(-0.1,0.1) , 0.01, vec3(0.,0.,0.));
    
    
    fragColor = mix(fragColor,layer1,layer1.a);
    fragColor = mix(fragColor,layer2,layer2.a);
    fragColor = mix(fragColor,layer3,layer3.a);
    fragColor = mix(fragColor,layer4,layer4.a);
    fragColor = mix(fragColor,layer5,layer5.a);
    
}

链接在此: https://www.shadertoy.com/view/fssGWj

内容概要:本文介绍了一个基于Matlab的综合能源系统优化调度仿真资源,重点实现了含光热电站、有机朗肯循环(ORC)和电含光热电站、有机有机朗肯循环、P2G的综合能源优化调度(Matlab代码实现)转气(P2G)技术的冷、热、电多能互补系统的优化调度模型。该模型充分考虑多种能源形式的协同转换与利用,通过Matlab代码构建系统架构、设定约束条件并求解优化目标,旨在提升综合能源系统的运行效率与经济性,同时兼顾灵活性供需不确定性下的储能优化配置问题。文中还提到了相关仿真技术支持,如YALMIP工具包的应用,适用于复杂能源系统的建模与求解。; 适合人群:具备一定Matlab编程基础和能源系统背景知识的科研人员、研究生及工程技术人员,尤其适合从事综合能源系统、可再生能源利用、电力系统优化等方向的研究者。; 使用场景及目标:①研究含光热、ORC和P2G的多能系统协调调度机制;②开展考虑不确定性的储能优化配置与经济调度仿真;③学习Matlab在能源系统优化中的建模与求解方法,复现高水平论文(如EI期刊)中的算法案例。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码和案例文件,按照目录顺序逐步学习,重点关注模型构建逻辑、约束设置与求解器调用方式,并通过修改参数进行仿真实验,加深对综合能源系统优化调度的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值