// МК на .js для Вектора построения строк гимна

 var tip=1
 for ( ; tip <=1 ; tip += 1 ) {
 Vector.SetInvisibleAll()

        zz1 = "Нас нянчили волны, шторма пеленали"
        zz2 = "Крестил на восходе Андреевский флаг"
        zz3 = "Курсантами были, капитанами стали;"
        zz4 = "Ведет нас по курсу надежный маяк."
        zz5 = "Альма-матер я зову"
        zz6 = "Причал курсантский МГУ."
        zz7 = "И маяка надежней нет,"
        zz8 = "Чем морской университет"
        zz9 = "Мы гордое имя несем Невельского"
        zz10 = "В морях океанах во славу страны."
        zz11 = "И нет нерушимее братства морского,"
        zz12 = "Нет песни роднее Приморской волны."
        zz13 = "Несем от Гонконга до самой Аляски"
        zz14 = "Высокое званье российский моряк."
        zz15 = "Семь футов под килем, наш флагман моряцкий!"
        zz16 = "Пусть реет над мачтой зари юной стяг!"
 

 
 if (tip == 1)  var zz = zz1;
 if (tip == 2)  var zz = zz2;
 if (tip == 3)  var zz = zz3;
 if (tip == 4)  var zz = zz4;
 if (tip == 5)  var zz = zz1 + zz2 + zz3 + zz4;

 if (tip == 6)  var zz = zz5;
 if (tip == 7)  var zz = zz6;
 if (tip == 8)  var zz = zz7;
 if (tip == 9)  var zz = zz8;
 if (tip == 10)  var zz = zz5 + zz6 + zz7 + zz8;

 if (tip == 11)  var zz = zz9;
 if (tip == 12)  var zz = zz10;
 if (tip == 13)  var zz = zz11;
 if (tip == 14)  var zz = zz12;
 if (tip == 15)  var zz = zz9 + zz10 + zz11 + zz12;

 if (tip == 16)  var zz = zz13;
 if (tip == 17)  var zz = zz14;
 if (tip == 18)  var zz = zz15;
 if (tip == 19)  var zz = zz16;
 if (tip == 20)  var zz = zz13 + zz14 + zz15 + zz16;

 r=10  // окружность вокруг квадрата
 var rnd = Math.random();
  n11 = (""+rnd).substring(5,9)  % 256 ;
  n12 = (""+rnd).substring(7,11) % 256 ;
  n13 = (""+rnd).substring(9,13) % 256 ;

 Vector.Krug.ss(Vector.p(5, 5, 0), r ,Vector.p(0, 0, 1))
 Vector.SetFillColor (n11, n12, n13)
 
 r = Math.sqrt(5*5 + 5*5)
 var Mx = new Array (5-r, 5+r, 5+r, 5-r, 5-r )
 var My = new Array (5-r, 5-r, 5+r, 5+r, 5-r )

 // квадрат вокруг 8-гранника
 var rnd = Math.random();
  n11 = (""+rnd).substring(4,8)  % 256 ;
  n12 = (""+rnd).substring(6,12) % 256 ;
  n13 = (""+rnd).substring(6,10) % 256 ;

 var ngroup
 Vector.Polyline.Reset() // Обнулить
  for ( var k=0; k < 5 ; k++ ) {
  Vector.Polyline.AddP (Vector.p(Mx[k], My[k], 0))
 }
 Vector.Polyline.SaveInDoc ( ngroup )
 Vector.Polyline.Draw()
 Vector.SetFillColor (n11, n12, n13)

 // формируем полигон 8-гранник

 r = Math.sqrt(5*5 + 5*5)
 st = Math.PI/4
 var ngroup
 var rnd = Math.random();
  n11 = (""+rnd).substring(2,9)  % 256 ;
  n12 = (""+rnd).substring(7,14) % 256 ;
  n13 = (""+rnd).substring(5,11) % 256 ;
 Vector.Polyline.Reset() // Обнулить
  for ( var k=0; k < 9 ; k++ ) {
  ug = k*st
  var x = r1zn(5 + r*Math.cos(ug))
  var y = r1zn(5 + r*Math.sin(ug))
  Vector.Polyline.AddP (Vector.p(x, y, 0))
 }
 Vector.Polyline.SaveInDoc ( ngroup )
 Vector.Polyline.Draw()
 Vector.SetFillColor (n11, n12, n13)

      r = 5
 var Mx = new Array (5-r, 5+r, 5+r, 5-r, 5-r )
 var My = new Array (5-r, 5-r, 5+r, 5+r, 5-r )

 // квадрат внутри 8-гранника
 var ngroup
 var rnd = Math.random();
  n11 = (""+rnd).substring(5,9)  % 256 ;
  n12 = (""+rnd).substring(7,11) % 256 ;
  n13 = (""+rnd).substring(9,13) % 256 ;

 Vector.Polyline.Reset() // Обнулить
  for ( var k=0; k < 5 ; k++ ) {
  Vector.Polyline.AddP (Vector.p(Mx[k], My[k], 0))
 }
 Vector.Polyline.SaveInDoc ( ngroup )
 Vector.Polyline.Draw()
 Vector.SetFillColor (n11, n12, n13)

// отрезки - антенны

   var  kb = 0;
    ss = new Array() ;
      for ( ; kb < zz.length ; kb += 1 ) {
         ss[kb+1] =  KodBukv ( zz.substr(kb,1) );
     }

      var  kb = 0;   // количество цифр на вводе
      var  knc= 0;   // длина массива - количество ненулевых цифр
      var  k;
     for ( ; kb <=zz.length ; kb += 1 ) {
       var tc = ss[kb] ;
        if ( tc >= 1  &&  tc <= 9 ) {
              ss[knc] =  tc ;
              knc += 1;
        }
 }

    var m = 1
    var  kb = 0;
 var ngroup
 var rnd = Math.random();
  n11 = (""+rnd).substring(4,9)  % 256 ;
  n12 = (""+rnd).substring(6,11) % 256 ;
  n13 = (""+rnd).substring(8,13) % 256 ;

 Vector.Polyline.SetFillColor (n11, n12, n13)
 Vector.Polyline.Reset() // Обнулить
   for ( ; kb <= (knc+1) ; kb += 1 ) {
 var A = Otrezok (ss[kb],ss[0])
 var p1 = Vector.P(A.x, A.y, 0);
 Vector.Polyline.AddP (p1)
     }
 var A = Otrezok (ss[0],ss[0])
 var p1 = Vector.P(A.x, A.y, 0);
 Vector.Polyline.AddP (p1)
 Vector.Polyline.SaveInDoc ( ngroup )
 Vector.Polyline.Draw()
 n1 = Vector.LastNmb()
 n2 = Vector.LastNmb()
 Vector.MoveToGroup (n1, n2+1, "gr2")
 n10 = Vector.LastNmb()
 Vector.Width=1
 // Vector.SetFillColor (n11, n12, n13)
 

 r = Math.sqrt(5*5 + 5*5)
 rr=2
 Vector.Arc.ss (Vector.P(6*1+r*1+rr, 5, 0), rr, rr, 125, 235, Vector.p(0, 0, 1), 0)
 Vector.SetFillColor (255, 0, 0)

 Vector.Arc.ss (Vector.P(5*1-r*1-rr-1, 5, 0), rr, rr, 55, -55, Vector.p(0, 0, 1), 0)
 Vector.SetFillColor (255, 0,100)

 Vector.Arc.ss (Vector.P(5, 5-r-rr-1, 0), rr, rr, 35, 145, Vector.p(0, 0, 1), 0)
 Vector.SetFillColor (255, 0,100)
 Vector.Arc.ss (Vector.P(5, 5*1+r+rr+1, 0), rr, rr, -35, -145, Vector.p(0, 0, 1), 0)
 Vector.SetFillColor (255, 0,100)

 var p1 = Vector.P(5*1+r*1, 5, 0);
 var p2 = Vector.P(6*1+r*1, 5, 0);
 Vector.Otrezok.SS(p1,p2);

 var p1 = Vector.P(5-r, 5, 0);
 var p2 = Vector.P(5-r-1, 5, 0);
 Vector.Otrezok.SS(p1,p2);

 var p1 = Vector.P(5, 5*1+r*1, 0);
 var p2 = Vector.P(5, 6*1+r*1, 0);
 Vector.Otrezok.SS(p1,p2);

 var p1 = Vector.P(5, 5-r, 0);
 var p2 = Vector.P(5, 5-r-1, 0);
 Vector.Otrezok.SS(p1,p2);
 

 var n12=0
 var n13=0
// Vector.SetFillColor (255, n12, n13)
 Vector.obj.All = 1
 Vector.Obj.Translate (Vector.P(-5, -5, 0))
// Vector.obj.scale= 0.75
// Vector.CurrObjNmb = n10
// Vector.CurrObjStrNmb = n10 & ".0"
// Vector.CurrObjStrNmb = "7.0"

 Vector.RefreshImage();
 Vector.Delay (0.4)

}

 

function Otrezok (s1,s2)
{
if (s1 == 1) { x1=0; y1=10;}
if (s1 == 2) { x1=5; y1=10;}
if (s1 == 3) { x1=10; y1=10;}
if (s1 == 4) { x1=0; y1=5;}
if (s1 == 5) { x1=5; y1=5;}
if (s1 == 6) { x1=10; y1=5;}
if (s1 == 7) { x1=0; y1=0;}
if (s1 == 8) { x1=5; y1=0;}
if (s1 == 9) { x1=10; y1=0;}

if (s2 == 1) { x2=0; y2=10;}
if (s2 == 2) { x2=5; y2=10;}
if (s2 == 3) { x2=10; y2=10;}
if (s2 == 4) { x2=0; y2=5;}
if (s2 == 5) { x2=5; y2=5;}
if (s2 == 6) { x2=10; y2=5;}
if (s2 == 7) { x2=0; y2=0;}
if (s2 == 8) { x2=5; y2=0;}
if (s2 == 9) { x2=10; y2=0;}

var p99 = {};
p99.x = x1;
p99.y = y1;
p99.z = x2;
p99.t = y2;
return (p99);
}
 

function  KodBukv( word ) {
  var kod=0;
  for ( ; ( word.length > 0 ) ; ) {
    var  ltr = word.substr(0,1);
    word = word.substr(1);
    if ( ltr == "1"  ) { kod += 1 }
    if ( ltr == "2"  ) { kod += 2 }
    if ( ltr == "3"  ) { kod += 3 }
    if ( ltr == "4"  ) { kod += 4 }
    if ( ltr == "5"  ) { kod += 5 }
    if ( ltr == "6"  ) { kod += 6 }
    if ( ltr == "7"  ) { kod += 7 }
    if ( ltr == "8"  ) { kod += 8 }
    if ( ltr == "9"  ) { kod += 9 }

    if ( ltr == "А"  ||  ltr == "а" ) { kod += 1 }
    if ( ltr == "Б"  ||  ltr == "б" ) { kod += 2 }
    if ( ltr == "В"  ||  ltr == "в" ) { kod += 3 }
    if ( ltr == "Г"  ||  ltr == "г" ) { kod += 4 }
    if ( ltr == "Д"  ||  ltr == "д" ) { kod += 5 }
    if ( ltr == "Е"  ||  ltr == "е" ) { kod += 6 }
    if ( ltr == "Ё"  ||  ltr == "ё" ) { kod += 7 }
    if ( ltr == "Ж"  ||  ltr == "ж" ) { kod += 8 }
    if ( ltr == "З"  ||  ltr == "з" ) { kod += 9 }

    if ( ltr == "И"  ||  ltr == "и" ) { kod += 1 }
    if ( ltr == "Й"  ||  ltr == "й" ) { kod += 2 }
    if ( ltr == "К"  ||  ltr == "к" ) { kod += 3 }
    if ( ltr == "Л"  ||  ltr == "л" ) { kod += 4 }
    if ( ltr == "М"  ||  ltr == "м" ) { kod += 5 }
    if ( ltr == "Н"  ||  ltr == "н" ) { kod += 6 }
    if ( ltr == "О"  ||  ltr == "о" ) { kod += 7 }
    if ( ltr == "П"  ||  ltr == "п" ) { kod += 8 }
    if ( ltr == "Р"  ||  ltr == "р" ) { kod += 9 }

    if ( ltr == "С"  ||  ltr == "с" ) { kod += 1 }
    if ( ltr == "Т"  ||  ltr == "т" ) { kod += 2 }
    if ( ltr == "У"  ||  ltr == "у" ) { kod += 3 }
    if ( ltr == "Ф"  ||  ltr == "ф" ) { kod += 4 }
    if ( ltr == "Х"  ||  ltr == "х" ) { kod += 5 }
    if ( ltr == "Ц"  ||  ltr == "ц" ) { kod += 6 }
    if ( ltr == "Ч"  ||  ltr == "ч" ) { kod += 7 }
    if ( ltr == "Ш"  ||  ltr == "ш" ) { kod += 8 }
    if ( ltr == "Щ"  ||  ltr == "щ" ) { kod += 9 }

    if ( ltr == "Ъ"  ||  ltr == "ъ" ) { kod += 1 }
    if ( ltr == "Ы"  ||  ltr == "ы" ) { kod += 2 }
    if ( ltr == "Ь"  ||  ltr == "ь" ) { kod += 3 }
    if ( ltr == "Э"  ||  ltr == "э" ) { kod += 4 }
    if ( ltr == "Ю"  ||  ltr == "ю" ) { kod += 5 }
    if ( ltr == "Я"  ||  ltr == "я" ) { kod += 6 }

 
    if ( ltr == "." ) { kod += 1 }
    if ( ltr == "," ) { kod += 2 }
    if ( ltr == "!" ) { kod += 3 }
    if ( ltr == "?" ) { kod += 4 }
    if ( ltr == ";" ) { kod += 5 }
    if ( ltr == "~" ) { kod += 6 }
    if ( ltr == "*" ) { kod += 8 }
    if ( ltr == "/" ) { kod += 9 }

  }
  return kod ;
}

function r1zn ( vv ) {
   return ( Math.round ( vv * 10 ) ) / 10 ;
}
 

function  KodPlanet( cifra ) {
  var planeta=0;
    if ( cifra == 1  ) { planeta = "Солнце" }
    if ( cifra == 2  ) { planeta = "Луна" }
    if ( cifra == 3  ) { planeta = "Марс" }
    if ( cifra == 4  ) { planeta = "Меркурий" }
    if ( cifra == 5  ) { planeta = "Юпитер" }
    if ( cifra == 6  ) { planeta = "Венера" }
    if ( cifra == 7  ) { planeta = "Сатурн" }
    if ( cifra == 8  ) { planeta = "Уран" }
    if ( cifra == 9  ) { planeta = "Нептун" }
  return planeta ;
}