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