var mainWidth, mainHeight, YOffset; var SVGDoc, SVGScene; function initSVG(oo, Y0){ SVGDoc = oo; mainWidth = 500; mainHeight = 350; YOffset = Y0 - mainHeight / 2; // смещение, устанавливающее координату пола Y=0 SVGScene = oo.getElementById("Scene"); SVGScene.Xmax = mainWidth / 2; SVGScene.Ymax = mainHeight / 2; } function Vector(vx, vy){ this.x = vx; this.y = vy; this.Add = function(va){ this.x += va.x; this.y += va.y; } this.Zoom = function(zf){ this.x *= zf; this.y *= zf; } this.Length = function(){ var l = this.x*this.x + this.y*this.y; return Math.sqrt(l); } } function DeleteScene(){ var ii, nn, ss; ss = this.Group; nn = this.Shapes.length; for (ii = nn-1; ii > -1; ii--) ss.removeChild(this.Shapes[ii]); this.Ranks.length = 0; this.Shapes.length = 0; this.Callback.length = 0; SVGScene.removeChild(ss); } function DrawAll(){ var ii, jj, ss = ""; var ll = 0; if(this.Objs) ll = this.Objs.length; if(this.Attributes) for(ii in this.Attributes) this.Group.setAttribute(ii, this.Attributes[ii]); var x = this.Parent.Xmax + this.Center.x - this.Xmax; var y = this.Parent.Ymax - this.Center.y - this.Ymax; this.ChTr('translate', x, y); for(ii in this.Transform) ss += ii + '(' + this.Transform[ii] + ') '; this.Group.setAttribute('transform', ss); if(ll>0) for(ii=0; ii