模型 波纹效应

系列文章 分享 模型,了解更多👉 模型_思维模型目录。重在提升认知。小变化,大影响。


1 波纹效应的应用

1.1 波纹效应在市场中的应用

2008 年,美国金融危机爆发,导致全球经济陷入衰退。这场危机的起因是美国房地产市场的崩溃,这导致了银行和金融机构的巨额亏损和倒闭。这一事件引发了一系列连锁反应,包括股市下跌、货币贬值、失业率上升等,对全球经济产生了深远的影响。

这场金融危机的波纹效应非常明显。首先,房地产市场的崩溃导致了银行和金融机构的巨额亏损和倒闭,这直接影响了全球金融市场的稳定。其次,股市下跌和货币贬值导致了全球投资者的恐慌和资金出逃,进一步加剧了金融市场的动荡。最后,失业率上升和经济衰退导致了全球消费者信心下降,进一步加剧了经济危机的程度。

这场金融危机的波纹效应持续了数年之久,对全球经济产生了深远的影响。它不仅导致了全球经济的衰退,还导致了政治和社会的动荡,引发了全球范围内的政治和社会变革。

总的来说,这场金融危机的波纹效应非常明显,它提醒我们在市场中要时刻关注各种变化和风险,及时采取措施应对各种挑战,以避免波纹效应的发生。

1.2 波纹效应在组织行为学中的应用

@1 银行的士气

20 世纪 80 年代,美国一家大型银行的某分行行长发现该分行的员工士气低落,工作效率低下。他决定采取一些措施来改善这种情况。他首先与员工进行了沟通,了解他们的需求和想法。然后࿰

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现模型波纹效果,可以使用three.js中的ShaderMaterial和RenderTarget实现。具体步骤如下: 1. 创建两个RenderTarget,一个用于存储模型的深度信息,另一个用于存储波纹效果的纹理信息。 ```javascript var depthRenderTarget = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter } ); var rippleRenderTarget = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter } ); ``` 2. 创建一个ShaderMaterial,该材质需要使用深度RenderTarget和波纹RenderTarget中的信息来计算出波纹效果的纹理。 ```javascript var rippleMaterial = new THREE.ShaderMaterial( { uniforms: { depthTexture: { value: depthRenderTarget.texture }, rippleTexture: { value: rippleRenderTarget.texture }, time: { value: 0 }, resolution: { value: new THREE.Vector2( window.innerWidth, window.innerHeight ) } }, vertexShader: document.getElementById( 'rippleVertexShader' ).textContent, fragmentShader: document.getElementById( 'rippleFragmentShader' ).textContent } ); ``` 3. 将该ShaderMaterial应用到模型上,并将模型渲染到深度RenderTarget中。 ```javascript var model = ...; // 创建模型 var scene = new THREE.Scene(); scene.add( model ); var camera = ...; // 创建相机 var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); renderer.setRenderTarget( depthRenderTarget ); renderer.render( scene, camera ); ``` 4. 创建一个平面,使用上面创建的ShaderMaterial来渲染该平面,并将该平面渲染到波纹RenderTarget中。 ```javascript var ripplePlaneMaterial = new THREE.MeshBasicMaterial( { map: rippleRenderTarget.texture } ); var ripplePlaneGeometry = new THREE.PlaneGeometry( window.innerWidth, window.innerHeight ); var ripplePlane = new THREE.Mesh( ripplePlaneGeometry, ripplePlaneMaterial ); scene.add( ripplePlane ); var rippleCamera = ...; // 创建相机 var rippleRenderer = new THREE.WebGLRenderer(); rippleRenderer.setSize( window.innerWidth, window.innerHeight ); rippleRenderer.setRenderTarget( rippleRenderTarget ); rippleRenderer.render( rippleScene, rippleCamera ); ``` 5. 在循环渲染中更新ShaderMaterial的uniform变量,并重新渲染波纹RenderTarget。 ```javascript function animate() { requestAnimationFrame( animate ); rippleMaterial.uniforms.time.value += 0.1; rippleRenderer.setRenderTarget( rippleRenderTarget ); rippleRenderer.render( rippleScene, rippleCamera ); rippleRenderer.setRenderTarget( null ); renderer.render( scene, camera ); } ``` 6. 在ShaderMaterial的vertexShader和fragmentShader中实现波纹效果的计算。 vertexShader: ```glsl uniform float time; varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); // 计算波纹效果 float frequency = 10.0; float amplitude = 0.2; float speed = 1.0; vec3 pos = position; pos.z += sin( pos.x * frequency + time * speed ) * amplitude; pos.z += sin( pos.y * frequency + time * speed ) * amplitude; gl_Position = projectionMatrix * modelViewMatrix * vec4( pos, 1.0 ); } ``` fragmentShader: ```glsl uniform sampler2D depthTexture; uniform sampler2D rippleTexture; uniform vec2 resolution; varying vec2 vUv; void main() { // 获取深度信息 float depth = texture2D( depthTexture, vUv ).r; // 获取波纹信息 float ripple = texture2D( rippleTexture, vUv ).g; // 根据深度和波纹信息计算出颜色 vec3 color = vec3( depth * ripple ); gl_FragColor = vec4( color, 1.0 ); } ``` 这样就可以在模型上实现波纹效果了。具体实现可以参考以下示例代码: https://codepen.io/wanbo/pen/XWpXzjV
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图王大胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值