Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
0fe354f
Merge branch 'dev' of https://github.com/SPC-project/InvOpps into gh-…
Nov 25, 2015
b061bf4
Eng ver of the website
Nov 25, 2015
86d63b6
Eng ver of the page 'Matrices'
Nov 25, 2015
1cf3464
Eng ver of the page 'RB-tree'
Nov 25, 2015
200012b
Eng ver of the page 'MNA'
Nov 25, 2015
788081a
Rebuilt design features 'Matrices'
Nov 25, 2015
471192b
Improved design. Page Sorts
Nov 26, 2015
9ce0355
tranlated int-chart
Nov 29, 2015
dc08ae3
add new file
Dec 8, 2015
d1d544a
add css language
Dec 8, 2015
0ab6335
add js language
Dec 8, 2015
2a45263
add images
Dec 8, 2015
7d6d439
integral add
Dec 8, 2015
f597d7b
language for mna
Dec 14, 2015
1bba84f
update integral
Dec 14, 2015
e94c0e9
Add new photo
Dec 14, 2015
3340bd3
unknown changes
Dec 14, 2015
1ff04ef
Hot fix - sor
Dec 14, 2015
c713fbd
Matrix chages: descr
Dec 15, 2015
0780428
fix bad marge
Dec 15, 2015
040c7ff
Describe matrix
Dec 15, 2015
e1ab918
Fixed matrix errors
Dec 15, 2015
8a679e2
update
Dec 15, 2015
87d32fd
update
Dec 15, 2015
4f04c59
update
Dec 15, 2015
b3ad4b8
Refreshed file.
SKarachevcev Dec 15, 2015
f2aec42
Refreshed.
SKarachevcev Dec 15, 2015
c1861f0
Refreshed file.
SKarachevcev Dec 15, 2015
044b2b6
update
Dec 15, 2015
7b4ab55
Refreshed.
SKarachevcev Dec 15, 2015
a4dc66d
update
Dec 15, 2015
7511846
update
Dec 15, 2015
35e4554
About method.
SKarachevcev Dec 16, 2015
d380617
About method.
SKarachevcev Dec 16, 2015
4a1ad77
About method.
SKarachevcev Dec 16, 2015
cae284e
About method.
SKarachevcev Dec 16, 2015
fd1e521
About method.
SKarachevcev Dec 16, 2015
207facb
About method.
SKarachevcev Dec 16, 2015
19299aa
About method.
SKarachevcev Dec 16, 2015
3fa4fba
About method.
SKarachevcev Dec 16, 2015
ed447c7
About method.
SKarachevcev Dec 16, 2015
61a70a4
About method.
SKarachevcev Dec 16, 2015
0990cff
About method.
SKarachevcev Dec 16, 2015
007ae6a
About method.
SKarachevcev Dec 16, 2015
f1d086f
About method.
SKarachevcev Dec 16, 2015
5157099
About method.
SKarachevcev Dec 16, 2015
de0d017
About method.
SKarachevcev Dec 16, 2015
cd5db1d
Refreshed file.
SKarachevcev Dec 16, 2015
c61b3b5
About method.
SKarachevcev Dec 16, 2015
80ac9c0
About method.
SKarachevcev Dec 16, 2015
2757eaa
About method.
SKarachevcev Dec 16, 2015
8e03ab0
update
Dec 16, 2015
5e9d490
Anna
SaloDmytro Jan 4, 2016
df79aba
Anna
SaloDmytro Jan 4, 2016
3c0041b
Anna
SaloDmytro Jan 4, 2016
360cff0
Anna
SaloDmytro Jan 4, 2016
1d227d7
Anna
SaloDmytro Jan 4, 2016
fc7ff11
Changes: del
Feb 1, 2016
9a2df93
issue #13 (spelling)
MKonovalow Mar 5, 2016
4cdd158
issu
MKonovalow Mar 5, 2016
15b1c1d
issue #13 (spelling)
MKonovalow Mar 5, 2016
bf08330
issue #13 (spelling)
MKonovalow Mar 5, 2016
d56fccb
issue #13 (spelling)
MKonovalow Mar 5, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions css/lang.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

.en .ru,
.ru .en {
display: none;
}
.lang-switcher {
border-bottom: 1px dashed;
cursor: pointer;
}
.lang-switcher:hover {
color: #b33;
}
.en .lang-switcher--en,
.ru .lang-switcher--ru {
color: #000;
border-bottom: none;
font-weight: bold;
cursor: default;
}
body {
font-family: Verdana, Arial, sans-serif;
font-size: 13px;
line-height: 16px;
}
3 changes: 2 additions & 1 deletion css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -547,4 +547,5 @@ display: inline-block;
position: relative;
height: 1px;
width: 1px;
}
}
textarea#numbs, textarea#ars{resize: none;}
Binary file removed images/1.jpg
Binary file not shown.
Binary file modified images/9.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Dijkstra_Animation.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/euler.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/pryam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/runge-kutta.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/simp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/trap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
131 changes: 94 additions & 37 deletions index.html

Large diffs are not rendered by default.

66 changes: 58 additions & 8 deletions js/integral.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,69 @@ s = 0;
d = (b - a)/n;
xb = a;
t = f;
f= "with (Math) {" + f + "}";
f = "with (Math) {" + f + "}";
for(i = 0; i < n; i++){
xe = xb + d;
x = (xb + xe)/2;
s = s + d*eval(f);
xb = xe;

}
document.getElementById("output1").value = s.toFixed(2);
};//function integral
window.onload = function(){
document.getElementById("calcBtn").onclick = function(){
integral();
}
}
document.getElementById("output1").value = s.toFixed(6);
};
function integral_Simpson() {
var a_s, b_s, n_s, f_s;
a_s = parseInt(document.getElementById("inputa_sim").value);//Schiti a
b_s = parseInt(document.getElementById("inputb_sim").value);//Schitali b
n_s = parseInt(document.getElementById("inputn_sim").value);//Schitali n
f_s = document.getElementById("inputf_sim").value;//Schitali n
var s_s, i_s, x0_s, x1_s, x, h_s;
var tmp1, tmp2, tmp3, tmp4, tmp5, k;
h_s = (b_s - a_s)/n_s;
f_s = "with (Math) {" + f_s + "}";
x = a_s;
tmp1 = eval(f_s);
x = b_s;
tmp2 = eval(f_s);
x = (a_s + h_s / 2);
tmp3 = eval(f_s);
s_s = ((tmp1 + tmp2)/2) + 2 * tmp3;
x = a_s;
for(i_s = 0; i_s < n_s - 1; i_s++)
{
x = x + h_s;
x1_s = x;
tmp4 = eval(f_s);
x = x + h_s / 2;
tmp5 = eval(f_s);
x = x1_s;
s_s = s_s + (2 * tmp5 + tmp4);

}
var result = s_s * (h_s / 3);
document.getElementById("output1_sim").value = result.toFixed(6);
};
function trap() {
var at, bt, nt, ft;
at = parseInt(document.getElementById("inputa_trap").value);//Schitali a
bt = parseInt(document.getElementById("inputb_trap").value);//Schitali b
nt = parseInt(document.getElementById("inputn_trap").value);//Schitali n
ft = document.getElementById("inputf_trap").value;//Schitali n
var st, ht, x;
var tmp1t, tmp2t;

ht = (bt - at)/nt;
ft = "with (Math) {" + ft + "}";
x = at;
tmp1t = eval(ft);
x = bt;
tmp2t = eval(ft);
st = (tmp1t + tmp2t)/2;
for(x = at + ht; x < bt; x = x + ht)
{
st = st + eval(ft);
}
var result_trap = st * ht;
document.getElementById("output1_trap").value = result_trap.toFixed(6);
};

20 changes: 20 additions & 0 deletions js/lang.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
(function(){
var body = document.getElementsByTagName('body')[0];

var switcherRU = document.getElementById('switcher-ru');
var switcherEN = document.getElementById('switcher-en');
var expires = new Date();
expires.setDate(expires.getDate() + 366);
expires.toUTCString();


var switchLang = function() {
var lang = this.id
lang = lang.replace('switcher-', '');
body.className = lang;
$$c.set('lang', lang, 'expires', 10);
document.title = title[lang];
}
switcherRU.onclick = switchLang;
switcherEN.onclick = switchLang;
})();
51 changes: 51 additions & 0 deletions js/num_method.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@


function euler (){

x1 = parseInt(document.getElementById("x_O").value);
x2 = parseInt(document.getElementById("x_N").value);
y1 = parseInt(document.getElementById("y_Euler").value);
h = parseFloat(document.getElementById("h_Euler").value);
f = document.getElementById("inputf").value;

console.log("\tX\t|\tY\t");
console.log("------------------------------------");


var x = x1, y = y1 ;


//while ((x<x2 && x1<x2) ||(x>x2 && x1>x2) )
for (var t = x; t < x2; t += h){


f = "with (Math) {" + f + "}";
console.log("\t" + f + "\t\t" );
console.log("\t" + x + "\t\t" + y);

y = y+ h*eval(f) ;
py = y + h/2 * eval(f);


x = ((x * 10) + (h * 10)) / 10;


/*y += h *eval(f) ;
py = y + h/2 * eval(f);*/

//x += h ;

document.getElementById("elem").innerHTML += " X( " +t.toPrecision(2)+ ") :\t\t y \t\t" + py.toPrecision(5) + "\n<br>" ;
// document.write (x + " : " + y.toFixed(6) + "<br>"+"<hr align = 'left' width = '250' >");
}
return y;
}




function clr() {
document.getElementById('elem').innerHTML = '';
}


139 changes: 98 additions & 41 deletions js/rb-tree.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var tree_depth = 0;

function makeNode(value){
return {
pos: {horizontal: -1, vertical: -1, layer_width: -1},
pos: {row: -1, level: -1,},
data: value,
left: null,
right: null,
Expand Down Expand Up @@ -207,33 +207,42 @@ function zap(){
/////////////////////////////////////////////////
///////////////// Interface /////////////////////
/////////////////////////////////////////////////
function depth_update(node, lvl){
if(node == null){
if(tree_depth < lvl)
tree_depth = lvl;
return
}

depth_update(node.left, lvl+1);
depth_update(node.right, lvl+1);
}

function pack_node(arr, node, row_pos, lvl, offset){
if( node == null ){
if( lvl > tree_depth )
tree_depth = lvl;
return
}

node.pos.row = row_pos;
node.pos.level = lvl;

var new_offset = offset/2
pack_node( arr, node.left, row_pos - new_offset, lvl+1, new_offset );
arr.push( node );
pack_node( arr, node.right, row_pos + new_offset, lvl+1, new_offset );
}

function pack_tree(){
if( tree == null )
tree_depth = 0;
if( tree == null ){
return [];

var arr = [ tree ];
var curr_level = [tree];
var lvl = 0

while( curr_level.length > 0 ) {
var next_level = [];
for( var i = 0, L = curr_level.length; i < L; i++ ){
var node = curr_level[i];
node.pos.vertical = lvl;
node.pos.horizontal = i;
node.pos.layer_width = L;
arr.push(node);

if( node.left != null )
next_level.push( node.left )
if( node.right != null )
next_level.push( node.right )
}
curr_level = next_level;
lvl++;
}
tree_depth = lvl;
depth_update(tree, 0);
var arr = [];
pack_node(arr, tree, 0, 0, Math.pow(2, tree_depth) );

return arr;
}

Expand All @@ -245,7 +254,7 @@ function add_rnd_node(){

function add_this_node(value){
var value = document.getElementById("value").value;
if( Number(value) != Number.Nan )
if( !isNaN(Number(value)) )
value = Number(value)
insert(value)
draw_tree()
Expand Down Expand Up @@ -276,26 +285,61 @@ function value_keydown(e){
}
}

function get_from_svg(svg, what) {
var param = svg.style(what);
param = param.substring(0, param.length-2); // e.g. 2px
return Number(param);
}

function draw_connections_between_nodes(data, radius, x_center, between_nodes, groups){
for (var i = 0, l = data.length; i < l; i++) {
var node = data[i];
if( node.left != null ){
console.log(Math.floor( radius + x_center + between_nodes*node.pos.row ), Math.floor( 44 * node.pos.level + 30), Math.floor( radius + x_center + between_nodes*node.left.pos.row ), Math.floor( 44 * node.left.pos.level + 30 ))
groups.append("line")
.attr("x1", Math.floor( radius + x_center + between_nodes*node.pos.row ))
.attr("y1", Math.floor( 44 * node.pos.level + 30 ))
.attr("x2", Math.floor( 2*radius + x_center + between_nodes*node.left.pos.row ))
.attr("y2", Math.floor( 44 * node.left.pos.level + 30 - radius))
.attr("stroke-width", 2)
.attr("stroke", "black");
}
if( node.right != null ){
groups.append("line")
.attr("x1", Math.floor( 3*radius + x_center + between_nodes*node.pos.row ))
.attr("y1", Math.floor( 44 * node.pos.level + 30 ))
.attr("x2", Math.floor( 2*radius + x_center + between_nodes*node.right.pos.row ))
.attr("y2", Math.floor( 44 * node.right.pos.level + 30 -radius))
.attr("stroke-width", 2)
.attr("stroke", "black");
}
}
}

function draw_tree(){
// element 'svg' initialized in .html
svg.selectAll("*").remove();
var svg_height = svg.style("height");
svg_height = svg_height.substring(0, svg_height.length-2);
svg_height = Number(svg_height);
if( svg_height < 52*tree_depth + 30 )
svg.style("height", 30 + 52*tree_depth )

var radius = 18;
var svg_height = get_from_svg(svg, "height");
var svg_width = get_from_svg(svg, "width") - 4*radius;
var x_center = svg_width/2;
var data = pack_tree();
var between_nodes = x_center / Math.pow(2, tree_depth);
var groups = svg.selectAll("g")
.data( pack_tree() )
.data( data )
.enter()
.append("g");

if( svg_height < 52*tree_depth + 30 )
svg.style("height", 30 + 52*tree_depth )

groups.attr("transform", function(d, i) {
var x = 360 + (d.pos.horizontal+1)*Math.floor(360/Math.pow(2, d.pos.vertical));
var y = 44 * d.pos.vertical + 30;
return "translate(" + [x,y] + ")";
var x = Math.floor( 2*radius + x_center + between_nodes*d.pos.row );
var y = Math.floor( 44 * d.pos.level + 30 );
return "translate(" + [x, y] + ")";
})


var circles = groups.append("circle")
.attr({
cx: function(d,i){
Expand All @@ -304,24 +348,37 @@ function draw_tree(){
cy: function(d,i){
return 0;
},
r: 18,
r: radius,
fill: "white",
stroke: "#2F3550",
"stroke-width": 2.4192
})

draw_connections_between_nodes(data, radius, x_center, between_nodes, svg);
var label = groups.append("text")
.text(function(d){
return d.data;
})
.attr({
.text(function(d){
return d.data;
})
.attr({
"alignment-baseline": "middle",
"text-anchor": "middle",
"font-style": function(d){
if( isNaN(Number(d.data)) )
return "italic"
else
return "normal"
},
"fill": function(d){
if( d.isRed)
return "red"
else
return "black"
}
})
});

svg.selectAll("*").on("click", function(d,i){
document.getElementById("value").value = d.data;
});
}

window.onresize = draw_tree;
Loading