Математика

Физика

Химия

Биология

Техника и    технологии

 

Программа эффекта

Загрузить исходник

Параллейный перенос(Сдвиг)

1.периодическая

Математическое определение периодической величины:

Если f(t) есть периодическая функция t с периодом T , То при любом t
f(t+T)= f(t).
Вместе  c T  периодами являются и числа вида  Tn =n*T(n-любое целое число).
Поэтому обычно периодам называют наименьшее положительное число T ,которое удовлетворяет условию f(t+T)= f(t).

В данном случии получаем
Xo=t и Tn=n*T где T=2R

2.Сложная функция

Свойство суперпозиции
Если функция F отображает множество A  на множество B
x=F(n)
где
n A
 x B,
и функция f отображает множество B на множество на множество C 
y=f(x)
где
x B
y C
то функцию  y=f(F(n)) называют функцией от функции (или сложной функцией или суперпозицией) f и F.
 Она определена на множестве
A и отображает A на C

В данном случии
 x=F(n)= Xo+n*T где T=2R
y=0

--member(whichCastmember).model(whichModel).clone(cloneName)

--Description

--3D command; creates a copy of the model, group, light, or camera and all of its children. The clone shares the parent of the model, group, light, or camera from which it was cloned.

 

--A clone of a model uses the same model resource and is assigned the same shaderList as the original model.

 

--If you do not specify the cloneName, or if you specify "", the clone will not be counted by the count method, but it will appear in the scene.

 

--Parameters

--cloneName Required. Specifies the name of the new clone.

 

--Example

--This statement creates a clone named Teapot2 from the model named Teapot, and returns a reference to the new model.

 

 

--teapotCopy = member("3D World").model("Teapot").clone("Teapot2")

 

global a

--property n6,n7,n8,n9

on beginsprite me

  my = sprite(me.spriteNum).member

  my.resetWorld()

  a=0

  --Sphere01

  my.newTexture("backdrop", #fromCastmember, member("sky"))

  my.camera(1).insertBackdrop(1,my.texture("backdrop"), point(0,0), 0)

  

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

end

 

on exitFrame me

  --

  if (a=1) then

    

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

    

  end if

  

  go the frame

  

end

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

on myCicl

  repeat with x = 1 to 5

    S777 = string(x)

    member("my").model("Sphere01").clone("Sphere"&S777)

  end repeat

end

 

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

 

on myobrabotka

  

  

  --3.Состовляем  алгоритм обработки

  

  --  if  member("my").model("Sphere2").transform.position <= vector( -5.0,0.2417,10.9603   ) then

  --    member("my").model("Sphere2").translate(1,0,0,#world)

  --  end if

  --  

  --  if  member("my").model("Sphere3").transform.position <= vector( 16,0.2417,10.9603   ) then

  --    member("my").model("Sphere3").translate(1,0,0,#world)

  --  end if

  --  

  --  if  member("my").model("Sphere4").transform.position <= vector( 37,0.2417,10.9603   ) then

  --    member("my").model("Sphere4").translate(1,0,0,#world)

  --  end if

  

  

  

  --Производим алгоритм по формуле

  --X =Xo+2*R*n

  --где

  --Xo -Начальное условие

  --R-радиус шара

  --n-количество кланированных(копированных) шаров

  

  --Стандартный модель алгоритма обработки

  

  --Положение точки на прямой(http://vova1001.narod.ru/Lin10.htm)

  

  -- 1.Выбераем начало координат

  

  -- 1а.Определяем начальное состояние

  

  --vector( -26.2518, 0.2417, 10.9603 )

  

  

  

  x0 = -26.2518  

  

  -- получено  по данным

  

  --put member("my").model("Sphere01").transform.position

  

  

  

  --где

  

  --Sphere01-начальный объект или исходные данные

  

  

  

  

  

  
 

  --2Выбераем единицу  длины R

  --Производим обработку данных по алгоритму

 

  R=((-6.2518)-(-26.2518))/2

  

  --2а.Определяем R:

  

  -- получено  по данным

  

  --put member("my").model("Sphere01").transform.position

  

  ----vector( -26.2518, 0.2417, 10.9603 )

  

  --put member("my").model("Spherex1").transform.position

  

  -- vector( -6.2518, 0.2417, 10.9603 )

  --3.Выбераем направление движения

  

  --В данном случи положительный = +1

  

  --x= x0 +2*+1*R*n

   Sign =+1

  

  if  Sign =-1  then

    

    repeat with n = 1 to 5

    

    

    

    x= x0 -2*1*R*n

    if  member("my").model("Sphere"&n).transform.position >= vector(x,0,0   ) then

      member("my").model("Sphere"&n).translate(-1,0,0,#world)

    end if

    

    

  end repeat

  end if    -- Sign

  if  Sign =+1  then

    

      repeat with n = 1 to 5

    x= x0 +2*1*R*n

    if  member("my").model("Sphere"&n).transform.position <= vector(x,0,0   ) then

      member("my").model("Sphere"&n).translate(1,0,0,#world)

    end if

    

    

  end repeat

    

    

  end if    -- Sign

  

  

 end

 

  

  

 

 

Назад

 

Hosted by uCoz