27 августа 2019

Алгоритм построения пучка прямых



global Boot,a, n1,t0,t


--global L21,L22,L23,L24,L25,NNx2,NNy2



on beginsprite me
 
  my = sprite(me.spriteNum).member
 
  my.resetWorld()
 
  Boot =0
 
  a=0
 
  t0=0
  t =0
  n1 =0
  ---------------
 
 
 
  my.newTexture("backdrop", #fromCastmember, member("sky"))
 
  my.camera(1).insertBackdrop(1,my.texture("backdrop"), point(0,0), 0)
  ------------------------------------------------------------------------
  set the url of member "Trousers"="Trousers.swa"
  ------------------------------------------------------------------------
  ----------------------------------------------------------------
  ----------------------------------------------------------------
  ---1 шаг
  --Устанавливаем систему отсчета
 
  --put member("my").model("Sphere01").transform.position
  ---- vector( 0.0000, 0.0000, 0.0000 )
  member("my").model("Sphere01"). transform.identity()
  ----------------------------------------------------------------
  ---2 шаг 2.Устанавливаем начальные условия
  -- Задаем(устанавливаем) положение начальной точки относительно выбронной системы отсчета.
  --Определяем числовой отрезок {40<=x<=100}
  member("my").model("Sphere01").transform.translate(100,100,0)
  --put member("my").model("Sphere01").transform.position.x
  -- 40.0000
  ----------------------------------------------------------------
  -- 1.Шаг
  --создания исходных данных
 
  myCicl
 
  ----------------------------------------------------------------
  ----------------------------------------------------------------
end



on exitFrame me
 
 
  if (a=1) then
    --музыка
    myButton
   
    --myobrabotka
    --  2.Шаг устанавливаем в заданную точку(узел) SphereS
    ---------------------------------------
    myobrabotka1
   
   
    -- myobrabotka5
   
   myobrabotkav1
   
   
   
   
    ---------------------------------------
    Round
    ---------------------------------------
    --Шаг за шагом
   
   
   
   
   
  end if
 
 
 
 
 
  go the frame
 
 
 
end


-- создания обработки данных

--Button
on  myButton
  if  Boot=0 then
   
    --set the url of member "Trousers"="Trousers.swa"
    play (member "Trousers")
   
    Boot=1
  end if
 
end  --myButton
----


on  Round
 
 
 
 
 
 
  member("my").model("Sphere01").rotate(5,5,5)
end  -- Round




--создания исходных данных

on myCicl
  --1.шаг
  --Создаем некоторое количество элементов
  --Количество шаров n-целая часть
 
  repeat with N = 1 to 30
   
    S777 = string(N)
   
    member("my").model("Sphere01").clone("Sphere"&S777)
   
  end repeat
 
end







--2.шаг
--Перемещаем созданные элементы заданную координату
--устанавливаем в заданную точку(узел) SphereS



on myobrabotka1
 
 if  member("my").model("Sphere"&30).transform.position <=vector( 175.0903, 111.7231, 0.0000 )   then

   
    repeat with N = 1 to 30
     
     
     
    
     
      member("my").model("Sphere"&N).translate(-2*sin(N),2*cos(N),0,#world)
     
      --  end if
     
    end repeat
  end if
  --3.шаг
  -- Выравнивания элементов
 
end --myobrabotka1
--Выравнивание элеменов
on myobrabotkav1
  if  member("my").model("Sphere"&30).transform.position >= vector( 175.0903, 111.7231, 0.0000 ) then
    repeat with N = 1 to 30
      member("my").model("Sphere"&N).transform.position.x=100+60*cos(N)
      member("my").model("Sphere"&N).transform.position.y=100+60*sin(N)
    end repeat
  end if
end --myobrabotkav1








--Перемещаем созданные элементы заданные  координаты
on myobrabotka6
 
  x0 = 0
 
  R=8
 
 
  if  member("my").model.count = 33 + 10 + 10   then
    -- if  member("my").model("Spher1e10").transform.position >= vector( 29.0397, 120.9909, 0.0000 )  then
   if  member("my").model("Spher1e10").transform.position <= vector( 169.0425, 120.4236, 0.0000 )  then
   
    --if member("my").model.count >=43  then
   
    repeat with N = 1 to 10
      S777 = string(N)
     
      -- x1= (x0 +2*1*R*n)-200
     
      if  member("my").model("Spher1e"&S777).transform.position.z <= (x0 +2*1*R*N)-15 then
       
       
       
        -- if  member("my").model("Sphere"&d).transform.position.x <= (x0 +2*1*R*d)-0 then
       
        -- member("my").model("Sphere"&n).transform.position.x=(x0 +2*1*R*n)-200
       
        -- member("my").model("Sphere"&30).transform.position.x = 282.0000
       
        member("my").model("Spher1e"&S777).translate(0,0,4,#world)
       
       
       
      end if
     
    end repeat
   
   
   
    -- member("my").mode("Spher1e10").translate(0,0,4)
   
  end if
end if
end --myobrabotka6