Автор Тема: Точечная модель твёрдого тела в компьютерной симуляции  (Прочитано 231 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
////// loadpoint
function f_loadpoint(d_str,d_index,d_limit,d_point)
{
var d_char,d_numstr,d_num;
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
if(d_num < d_xmin) d_num = d_xmin;
else
{
if(d_num > d_xmax) d_num = d_xmax;
}
d_point.d_sx = Number(d_num);//?Number
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
if(d_num < d_ymin) d_num = d_ymin;
else
{
if(d_num > d_ymax) d_num = d_ymax;
}
d_point.d_sy = Number(d_num);//?Number
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
if(d_num < d_zmin) d_num = d_zmin;
else
{
if(d_num > d_zmax) d_num = d_zmax;
}
d_point.d_sz = Number(d_num);//?Number
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
d_point.d_vx = Number(d_num);//?Number
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
d_point.d_vy = Number(d_num);//?Number
for(;;)
{
d_index++;
if(d_index >= d_limit)
return 0;
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) == 0)
break;
}
d_numstr = String(d_char);//?String
for(;;)
{//1
d_index++;
if(d_index >= d_limit)
{
d_index--;
break;
}
d_char = d_str.charAt(d_index);
if(f_testwsc(d_char) != 0)
break;
d_numstr += d_char;
}//1
d_num = Number(d_numstr);
if(Number.isFinite(d_num) == 0)
return 0;
d_point.d_vz = Number(d_num);//?Number
return d_index;
}

Большой Форум

Загрузка...

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
////// load
function f_load()
{
var d_div;
var d_object,d_prevobject;
var d_point,d_prevpoint,d_pointindex;
var d_char;
var d_type;
var d_area = document.getElementById("d_modelarea");
var d_str = d_area.value;
if(d_str.length < 1)
return;
f_cleanfield();
var d_charindex = 0;
var d_charlimit = d_str.length;
var d_error = 0;
for(;d_charindex < d_charlimit;d_charindex++)
{//1
d_char = d_str.charAt(d_charindex);
if(f_testwsc(d_char) != 0)
continue;
d_error = 1;
if(d_char == '6') d_type = 6;
else
{
if(d_char != '8')
break;
d_type = 8;
}
d_charindex++;
if(d_charindex >= d_charlimit)
break;
d_char = d_str.charAt(d_charindex);
if(f_testwsc(d_char) == 0)
break;
d_object = new Object();//?
d_object.d_nextobject = null;
if(p_objects == null) p_objects = d_object;
else d_prevobject.d_nextobject = d_object;
d_prevobject = d_object;
d_object.p_points = null;
d_object.d_type = d_type;
delete d_object;//?
d_pointindex = 0;
for(;;)
{//2
d_point = new Object();//?
d_point.d_nextpoint = null;
if(d_object.p_points == null) d_object.p_points = d_point;
else d_prevpoint.d_nextpoint = d_point;
d_prevpoint = d_point;
delete d_point;//?
d_charindex = f_loadpoint(d_str,d_charindex,d_charlimit,d_point);
if(d_charindex == 0)
break;
d_div = document.createElement("div");
d_field.appendChild(d_div);
d_div.style.width = d_pointsize + "px";
d_div.style.height = d_pointsize + "px";
d_div.style.position = "absolute";
if(d_type == 6)
{
d_div.style.backgroundColor = "red";
d_point.d_mass = d_octmass;
}
else
{
d_div.style.backgroundColor = "blue";
d_point.d_mass = d_cubemass;
}
d_pointindex++;
if(d_pointindex < d_type)
continue;
d_error = 0;
break;
}//2
if(d_error != 0)
break;
}//1
if(d_error == 0)
{
f_showfield();
return;
}
f_cleanfield();
return;
}
////// save
function f_save()
{
var d_point;
if(p_objects == null)
return;
var d_str = "";
var d_object = p_objects;
var d_error = 1;
for(;;)
{//1
if(d_object.d_type == 6) d_str += "6 ";
else
{
if(d_object.d_type != 8)
break;
d_str += "8 ";
}
d_point = d_object.p_points;
for(;;)
{
d_str += d_point.d_sx + " " + d_point.d_sy + " " + d_point.d_sz + "\r\n  ";
d_str += d_point.d_vx + " " + d_point.d_vy + " " + d_point.d_vz + "\r\n";
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object != null)
continue;
d_error = 0;
break;
}//1
if(d_error != 0) d_str = "error";
var d_area = document.getElementById("d_modelarea");
d_area.value = d_str;
return;
}

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
////// zeroimp
function f_zeroimp()
{
var d_point,d_pointmass;
if(p_objects == null)
return;
var d_mass = 0;
var d_mvx = 0;
var d_mvy = 0;
var d_mvz = 0;
var d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_pointmass = d_point.d_mass;
d_mass += d_pointmass;
d_mvx += d_point.d_vx * d_pointmass;
d_mvy += d_point.d_vy * d_pointmass;
d_mvz += d_point.d_vz * d_pointmass;
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
d_mvx /= d_mass;
d_mvy /= d_mass;
d_mvz /= d_mass;
d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_point.d_vx -= d_mvx;
d_point.d_vy -= d_mvy;
d_point.d_vz -= d_mvz;
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
return;
}
////// mulekin
function f_mulekin()
{
var d_point;
if(p_objects == null)
return;
var d_rootmul = Math.sqrt(d_kinmul);
var d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_point.d_vx *= d_rootmul;
d_point.d_vy *= d_rootmul;
d_point.d_vz *= d_rootmul;
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
return;
}
////// getekin
function f_getekin()
{
var d_point;
if(p_objects == null)
return 0;
var d_newekin = 0;
var d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_newekin += (d_point.d_mass / 2) * ((d_point.d_vx * d_point.d_vx) + ((d_point.d_vy * d_point.d_vy) + (d_point.d_vz * d_point.d_vz)));
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
var d_area = document.getElementById("d_ekinarea");
if(Number.isFinite(d_newekin) != 0)
{
d_area.value = d_newekin;
return d_newekin;
}
d_area.value = "infinity";
return 0;
}
////// setekin
function f_setekin()
{
var d_point;
if(p_objects == null)
return;
var d_area = document.getElementById("d_ekinarea");
var d_newekin = Number(d_area.value);
if(Number.isFinite(d_newekin) == 0)
return;
if(d_newekin < 0)
return;
var d_oldekin = 0;
var d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_oldekin += (d_point.d_mass / 2) * ((d_point.d_vx * d_point.d_vx) + ((d_point.d_vy * d_point.d_vy) + (d_point.d_vz * d_point.d_vz)));
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
if(Number.isFinite(d_oldekin) == 0)
return;
if(d_oldekin < d_minpos)
return;
var d_rootmul = Math.sqrt(d_newekin / d_oldekin);
if(Number.isFinite(d_rootmul) == 0)
return;
d_object = p_objects;
for(;;)
{//1
d_point = d_object.p_points;
for(;;)
{
d_point.d_vx *= d_rootmul;
d_point.d_vy *= d_rootmul;
d_point.d_vz *= d_rootmul;
d_point = d_point.d_nextpoint;
if(d_point == null)
break;
}
d_object = d_object.d_nextobject;
if(d_object == null)
break;
}//1
return;
}

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
////// getepot
function f_getepot()
{
var d_object2;
var d_point1,d_point2,d_point3,d_point4,d_point5,d_point6,d_point7,d_point8;
var d_sx,d_sy,d_sz;
var d_dx,d_dy,d_dz,d_dist;
var d_dist0,d_diag;
var d_area = document.getElementById("d_epotarea");
if(p_objects == null)
{
d_area.value = 0;
return 0;
}
var d_upot = 0;
var d_object1 = p_objects;
for(;;)
{//1
d_point1 = d_object1.p_points;
d_point2 = d_point1.d_nextpoint;
d_point3 = d_point2.d_nextpoint;
d_point4 = d_point3.d_nextpoint;
d_point5 = d_point4.d_nextpoint;
d_point6 = d_point5.d_nextpoint;
d_sx = d_point1.d_sx;
d_sy = d_point1.d_sy;
d_sz = d_point1.d_sz;
if(d_object1.d_type == 6)
{
d_dist0 = d_octsize / Math.sqrt(2);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point2,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point3,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point4,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point6,d_octsize);
d_sx = d_point6.d_sx;
d_sy = d_point6.d_sy;
d_sz = d_point6.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point2,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point3,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point4,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_dist0);
d_sx = d_point2.d_sx;
d_sy = d_point2.d_sy;
d_sz = d_point2.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point3,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point4,d_octsize);
d_sx = d_point4.d_sx;
d_sy = d_point4.d_sy;
d_sz = d_point4.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point3,d_dist0);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_dist0);
d_upot += f_addownupot(d_point3.d_sx,d_point3.d_sy,d_point3.d_sz,d_point5,d_octsize);
}
else
{
d_point7 = d_point6.d_nextpoint;
d_point8 = d_point7.d_nextpoint;
d_diag = d_cubesize * Math.sqrt(3);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point2,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point7,d_diag);
d_sx = d_point2.d_sx;
d_sy = d_point2.d_sy;
d_sz = d_point2.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point3,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point6,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point8,d_diag);
d_sx = d_point3.d_sx;
d_sy = d_point3.d_sy;
d_sz = d_point3.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point4,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point7,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point5,d_diag);
d_sx = d_point4.d_sx;
d_sy = d_point4.d_sy;
d_sz = d_point4.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point1,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point8,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point6,d_diag);
d_sx = d_point5.d_sx;
d_sy = d_point5.d_sy;
d_sz = d_point5.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point6,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point8,d_cubesize);
d_sx = d_point7.d_sx;
d_sy = d_point7.d_sy;
d_sz = d_point7.d_sz;
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point6,d_cubesize);
d_upot += f_addownupot(d_sx,d_sy,d_sz,d_point8,d_cubesize);
}
d_object1 = d_object1.d_nextobject;
if(d_object1 == null)
break;
}//1
d_object1 = p_objects;
for(;;)
{//1
for(d_object2 = d_object1.d_nextobject;d_object2 != null;d_object2 = d_object2.d_nextobject)
{//2
d_point1 = d_object1.p_points;
for(;;)
{//3
d_sx = d_point1.d_sx;
d_sy = d_point1.d_sy;
d_sz = d_point1.d_sz;
d_point2 = d_object2.p_points;
for(;;)
{
d_dx = d_point2.d_sx - d_sx;
d_dy = d_point2.d_sy - d_sy;
d_dz = d_point2.d_sz - d_sz;
d_dist = Math.sqrt((d_dx * d_dx) + ((d_dy * d_dy) + (d_dz * d_dz)));
if(d_dist < d_minpos) d_dist = d_minpos;
d_upot += f_outupot(d_dist);
d_point2 = d_point2.d_nextpoint;
if(d_point2 == null)
break;
}
d_point1 = d_point1.d_nextpoint;
if(d_point1 == null)
break;
}//3
}//2
d_object1 = d_object1.d_nextobject;
if(d_object1 == null)
break;
}//1
if(Number.isFinite(d_upot) != 0)
{
d_area.value = d_upot;
return d_upot;
}
d_area.value = "undefined";
return 0;
}
////// getenergy
function f_getenergy()
{
var d_ukin = f_getekin();
var d_upot = f_getepot();
var d_area = document.getElementById("d_energyarea");
d_area.value = d_ukin + d_upot;
return;
}

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
////// create
function f_create()
{
var d_area;
var d_left,d_top;
d_field = document.createElement("div");
d_field.style.left = 0 + "px";
d_field.style.top = 0 + "px";
d_field.style.width = d_width + "px";
d_field.style.height = d_height + "px";
d_field.style.position = "absolute";
d_field.style.backgroundColor = "white";
d_field.style.color = "black";
document.body.appendChild(d_field);
d_panel = document.createElement("div");
d_panel.style.left = d_width + "px";
d_panel.style.top = 0 + "px";
d_panel.style.width = (d_xspace + d_xsize + d_xspace + d_xsize + d_xspace + 20) + "px";
d_panel.style.height = 600 + "px";
d_panel.style.position = "absolute";
d_panel.style.backgroundColor = "whiteSmoke";
d_panel.style.color = "black";
document.body.appendChild(d_panel);
d_top = d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_widthlabel","width",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_widtharea",d_width,d_left,d_top).onchange = f_width;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_heightlabel","height",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_heightarea",d_height,d_left,d_top).onchange = f_height;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_xminlabel","x minimum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_xminarea",d_xmin,d_left,d_top).onchange = f_xmin;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_xmaxlabel","x maximum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_xmaxarea",d_xmax,d_left,d_top).onchange = f_xmax;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_yminlabel","y minimum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_yminarea",d_ymin,d_left,d_top).onchange = f_ymin;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_ymaxlabel","y maximum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_ymaxarea",d_ymax,d_left,d_top).onchange = f_ymax;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_zminlabel","z minimum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_zminarea",d_zmin,d_left,d_top).onchange = f_zmin;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_zmaxlabel","z maximum",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_zmaxarea",d_zmax,d_left,d_top).onchange = f_zmax;

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_label(d_panel,"d_viewdirlabel","view along x,y,z",d_left,d_top);
d_left += d_xsize + d_xspace;
f_radio(d_panel,"d_xviewdirradio","d_viewdir",0,d_viewdir,d_left,d_top).onclick = f_viewdir;//?onchange
d_left += d_ysize + d_xspace;
f_radio(d_panel,"d_yviewdirradio","d_viewdir",1,d_viewdir,d_left,d_top).onclick = f_viewdir;//?onchange
d_left += d_ysize + d_xspace;
f_radio(d_panel,"d_zviewdirradio","d_viewdir",2,d_viewdir,d_left,d_top).onclick = f_viewdir;//?onchange
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_minposlabel","min positive",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_minposarea",d_minpos,d_left,d_top).onchange = f_minpos;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_mindistlabel","min distance",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_mindistarea",d_mindist,d_left,d_top).onchange = f_mindist;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_velmullabel","velocity mul",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_velmularea",d_velmul,d_left,d_top).onchange = f_velmul;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_kinmullabel","kinetic mul",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_kinmularea",d_kinmul,d_left,d_top).onchange = f_kinmul;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_octsizelabel","octahedron size",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_octsizearea",d_octsize,d_left,d_top).onchange = f_octsize;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_cubesizelabel","cube size",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_cubesizearea",d_cubesize,d_left,d_top).onchange = f_cubesize;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_ownrigidlabel","own rigidity",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_ownrigidarea",d_ownrigid,d_left,d_top).onchange = f_ownrigid;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_outrigidlabel","out rigidity",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_outrigidarea",d_outrigid,d_left,d_top).onchange = f_outrigid;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_xforcelabel","force along x",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_xforcearea",d_xforce,d_left,d_top).onchange = f_xforce;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_yforcelabel","force along y",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_yforcearea",d_yforce,d_left,d_top).onchange = f_yforce;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_zforcelabel","force along z",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_zforcearea",d_zforce,d_left,d_top).onchange = f_zforce;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_pointsizelabel","point size",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_pointsizearea",d_pointsize,d_left,d_top).onchange = f_pointsize;

Оффлайн computAI

  • Прирождённый оратор
  • ***
  • Сообщений: 179
  • Страна: ua
  • Рейтинг: +3/-0
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_octslabel","octahedrons",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_octsarea",d_octs,d_left,d_top).onchange = f_octs;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_cubeslabel","cubes",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_cubesarea",d_cubes,d_left,d_top).onchange = f_cubes;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_octmasslabel","oct point mass",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_octmassarea",d_octmass,d_left,d_top).onchange = f_octmass;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_cubemasslabel","cub point mass",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_cubemassarea",d_cubemass,d_left,d_top).onchange = f_cubemass;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halflabel(d_panel,"d_msecslabel","msecs",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_msecsarea",d_msecs,d_left,d_top).onchange = f_msecs;
d_left += (d_xsize / 2) + d_xspace;
f_halflabel(d_panel,"d_timesteplabel","time step",d_left,d_top);
d_left += (d_xsize / 2) + d_xspace;
f_halfarea(d_panel,"d_timesteparea",d_timestep,d_left,d_top).onchange = f_timestep;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halfbutton(d_panel,"d_stepbutton","one step",d_left,d_top).onclick = f_step;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_runbutton","run model",d_left,d_top).onclick = f_run;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_pausebutton","pause",d_left,d_top).onclick = f_pause;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_createbutton","create",d_left,d_top).onclick = f_createobjects;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halfbutton(d_panel,"d_loadbutton","load",d_left,d_top).onclick = f_load;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_savebutton","save",d_left,d_top).onclick = f_save;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_zeroimpbutton","0 impulse",d_left,d_top).onclick = f_zeroimp;
d_left += (d_xsize / 2) + d_xspace;
f_halfbutton(d_panel,"d_mulekinbutton","mul Ekin",d_left,d_top).onclick = f_mulekin;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halfbutton(d_panel,"d_getekinbutton","get Ekin",d_left,d_top).onclick = f_getekin;
d_left += (d_xsize / 2) + d_xspace;
f_area(d_panel,"d_ekinarea",0,d_left,d_top);
d_left += d_xsize + d_xspace;
f_halfbutton(d_panel,"d_setekinbutton","set Ekin",d_left,d_top).onclick = f_setekin;
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halfbutton(d_panel,"d_getepotbutton","get Epot",d_left,d_top).onclick = f_getepot;
d_left += (d_xsize / 2) + d_xspace;
f_area(d_panel,"d_epotarea",0,d_left,d_top);
d_top += d_ysize + d_yspace;
d_left = d_xspace;
f_halfbutton(d_panel,"d_getenergybutton","get energy",d_left,d_top).onclick = f_getenergy;
d_left += (d_xsize / 2) + d_xspace;
f_area(d_panel,"d_energyarea",0,d_left,d_top);
d_top += d_ysize + d_yspace;
d_left = d_xspace;
d_area = document.createElement("textarea");
d_area.id = "d_modelarea";
d_area.value = "";
d_area.style.left = d_xspace + "px";
d_area.style.top = d_top + "px";
d_area.style.width = (d_xsize * 2) + "px";
d_area.style.height = (d_ysize * 6) + "px";
d_area.style.position = "absolute";
d_area.style.backgroundColor = "white";
d_area.style.color = "black";
d_area.style.FontSize = 16;
d_area.style.textAlign = "left";
d_panel.appendChild(d_area);
return;
}

Большой Форум