Математика |
Программа эффекта |
1.периодическая Математическое определение периодической величины: Если f(t) есть периодическая функция t с периодом T , То при любом t Свойство суперпозиции В данном случии --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
|