下载zip文件,解压得到html文件,用编辑器打开即可看到全部代码。
<code class="lang-js">var buffer = [] for(var i=0;i<128;i++){ buffer.push(.5*i); buffer init }< code></128;i++){></code>
<code class="lang-js"> //calculate force for(var i=0;i<buffer.length;i++) { if(i>0){ //not start of array. forcebuffer[i] += buffer[i-1]-buffer[i]; } if(i<buffer.length-1){ not end of array. forcebuffer[i] +="buffer[i+1]-buffer[i];" } } < code></buffer.length-1){></buffer.length;i++)></code>
<code class="lang-js"> //calculate vertical velocity for(var i=0;i<buffer.length;i++){ velocitybuffer[i] +="forcebuffer[i]" * .2; } < code></buffer.length;i++){></code>
<code class="lang-js"> //calculate vertical velocity for(var i=0;i<buffer.length;i++){ var f="0;" if(i>0&&i<buffer.length-1) { f="velocitybuffer[i+1]-velocitybuffer[i]" + velocitybuffer[i-1]-velocitybuffer[i] f*="0.2;" viscosity factor } forcebuffer[i] +="f;" velocitybuffer[i] * .2; } < code></buffer.length-1)></buffer.length;i++){></code>
<code class="lang-js"> for(var i=0;i<buffer.length;i++){ velocitybuffer[i] *=" 0.99;" damping } < code></buffer.length;i++){></code>
<code class="lang-js"> //calculate vertical height for(var i=0;i<buffer.length;i++){ buffer[i] +="velocitybuffer[i]*0.5;" } < code></buffer.length;i++){></code>
<code class="lang-js"> //update chart for(var i=0;i<buffer.length;i++){ mynewchart.datasets[0].points[i].value="buffer[i];" } mynewchart.update();< code></buffer.length;i++){></code>
<code class="lang-js">var timer = setInterval('step_on()',20)</code>
<code class="lang-js">function drop(){ //random drop on surface var m = Math.floor(Math.random()*10)+3; var i = Math.floor(Math.random()*(buffer.length-m)) var k = Math.random()*90; for(var n=i;n<i+m;n++){ buffer[n]="k+Math.random()*10;" } }< code></i+m;n++){></code>
[修改于 8年8个月前 - 2016/04/11 17:30:34]
引用 drzzm32:WebGL需要比较繁琐的初始化,以及图形编程,用现成控件省事一点。但我有时间一定会做一个WebGL的版本。
或许还可以试试用WebGL呈现下三维的情况。
js目前还是适合做一些轻量的应用,毕竟这玩意压缩后很适合网络传输。
比较繁重的运算任务扔给服务器。
引用 迪纳米斯:在这个程序中是无关的(假定水无限深)。
波速跟液体深度有关吗?
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。