Математический алгоритм |
Загрузить исходник |
-------------Алгоритм построения пучка прямых 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 -- myobrabotkav2 --myobrabotkaPos myobrabotkaPos1 myobrabotkaPos2 myobrabotkaPos3 --------------------------------------- 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( 179.0664, 112.0316, 0.0000 ) then -- if
member("my").model("Sphere"&30).transform.position
<=vector( 143.2379 ,167.3089 , 0.0000 )
then --if
member("my").model("Sphere"&30).transform.position
<=vector( 184.1361 ,154.0474 , 0.0000 )
then --if
member("my").model("Sphere"&30).transform.position
<= vector( 169.1622, 110.7976, 0.0000 )
then -- if
member("my").model("Sphere"&30).transform.position
<=vector(112.34, 20.95, 0.0000 )
then -- if
member("my").model("Sphere"&5).transform.position
<= vector( 169.0425, 120.4236, 0.0000 )
then --if
member("my").model("Sphere"&5).transform.position
>= vector( 30.0, 127.7988, 0.0000 )
then -- vector( 169.0425, 120.4236, 0.0000 ) repeat with
N = 1 to 30 -- if
member("my").model("Sphere"&N).transform.position
<= vector(100+200*cos(N),100+200*sin(N) , 0.0000 ) then ---------------------для окружности------------------------------------------------------------- --
member("my").model("Sphere"&N).translate(-2*sin(N),2*cos(N),0,#world) ---------------------------------------------------------------------------------- ---------------------для эллипса------------------------------------------------------------- member("my").model("Sphere"&N).translate(-2*2*sin(N),2*cos(N),0,#world) ---------------------------------------------------------------------------------- -- end if end repeat
end if --3.ш -- Выравнивания элементов end
--myobrabotka1 --vector( 175.0903, 111.7231,
0.0000 ) --------------------------------------------------------------------------------------- --Напесать уравнение выравнения --member("my").model("Sphere"&5).transform.position.x=x0+R*cos(N) --member("my").model("Sphere"&5).transform.position.y=y0+R*sin(N) --------------------------------------------------------------------------------------- -- vector( 181.0185, 112.6486,
0.0000 ) = put
member("my").model("Sphere"&30).transform.position -- vector( 154.4181, 38.6592,
0.0000 ) -- vector( 77.7858, 21.0664,
0.0000 ) -- vector( 21.5772, 76.0448,
0.0000 ) -- vector( 37.4702, 153.0474,
0.0000 ) -- vector( 110.8528, 181.2787,
0.0000 ) -- vector( 174.2574, 134.7827,
0.0000 ) -- vector( 169.3902, 56.3077,
0.0000 ) -- vector( 169.3902, 56.3077,
0.0000 ) -- vector( 100.7257, 18.0032,
0.0000 ) -- vector( 31.3943, 55.0862,
0.0000 ) -- vector( 25.1385, 133.4626,
0.0000 ) -- vector( 87.7102, 181.0736,
0.0000 ) -- vector( 161.5808, 154.1460,
0.0000 ) -- vector( 178.8345, 77.4367,
0.0000 ) -- vector( 123.6080, 21.4719,
0.0000 ) -- vector( 46.6764, 37.7055,
0.0000 ) -- vector( 18.7701, 111.2125,
0.0000 ) -- vector( 65.5464, 174.4107,
0.0000 ) -- vector( 143.9990, 169.1961,
0.0000 ) -- vector( 144.6098, 31.1961,
0.0000 ) -- vector( 66.2064, 25.2873,
0.0000 ) -- vector( 18.8727, 88.0690,
0.0000 ) -- vector( 46.1271, 161.8198,
0.0000 ) -- vector( 122.9120, 178.7338,
0.0000 ) -- vector( 178.6317, 123.2602,
0.0000 ) -- vector( 162.0579, 46.4011,
0.0000 ) -- vector( 88.4281, 18.8206,
0.0000 ) -- vector( 25.4376, 65.8761,
0.0000 ) -- vector( 30.9993, 144.3047,
0.0000 ) = put
member("my").model("Sphere"&1).transform.position ---------------------------------------Выравнивания (в данным
случии не обезаьтельно)------------------------------------------------------ on
myobrabotkaPos1 end
--myobrabotkaPos1 ----------------------------------------------------------------------------------------------------- ---------------Клонирование---------------------------------------------------------------------- on
myobrabotkaPos2 -- if
member("my").model("Sphere"&30).transform.position =
vector( 181.0185, 112.6486, 0.0000 )
then -----------------Для окружности---------------------------------------------------------------------- -- if
member("my").model("Sphere"&30).transform.position =
vector( 181.0185, 112.6486, 0.0000 )
AND (member("my").model.count <= 30*10) then ----------------------------------------------------------------------
-----------------Для эллипса----------------------------------------------------------------------
if member("my").model("Sphere"&30).transform.position = vector( 182.9947, 106.4785, 0.0000 ) AND (member("my").model.count <= 30*10) then ----------------------------------------------------------------------
repeat with
r1 = 1 to 30
S777 = string(r1) repeat with
r2 = 1 to 10
S555 = string(r2) member("my").model("Sphere"&S777).clone("Sph3ere"&S777&S555) --put 1 end repeat end repeat
end if end
--myobrabotkaPos2 ----------------------------------------------------------------------------------------------------- ---------------------------Перемещаем-------------------------------------------------------------------------- on
myobrabotkaPos3 x0 = 0 R=8
if member("my").model.count >= 30*10 then repeat with
r1 = 1 to 30
S777 = string(r1) repeat with
r2 = 1 to 10
S555 = string(r2) if member("my").model("Sph3ere"&S777&S555) .transform.position.z <= (x0 +2*1*R*r2)-2 then member("my").model("Sph3ere"&S777&S555).translate(0,0,4,#world)
end if
end repeat end repeat end if end
--myobrabotkaPos2 ----------------------------------------------------------------------------------------------------- on
myobrabotkaPos n5 =
n5+1
put n5
if member("my").model("Sphere"&30).transform.position >= vector( 179.0425, 112.3401, 0.0000 ) AND n5=1 then -- put 1 s1=300 put
s1 n5=10
end if end
--myobrabotkaPos on
myobrabotkav1
if
member("my").model("Sphere"&30).transform.position >=vector( 177.0664, 112.0316, 0.0000 ) then repeat with
N = 1 to 30 member("my").model("Sphere"&N).transform.position.x=100+1*cos(N) member("my").model("Sphere"&N).transform.position.y=100+1*sin(N) end repeat
end if end
--myobrabotkav1 on
myobrabotkav2
if
member("my").model("Sphere"&10).transform.position.x =100+60*cos(10) AND member("my").model("Sphere"&10).transform.position.y=100+60*sin(10) then member("my").model("Sphere"&10).translate(0,0,4,#world) put 2
end if end
--myobrabotkav2 ------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------
|