loom

Форк
0
/
pursuit-start.s-script 
55 строк · 1.3 Кб
1
import "models/plane.s-ode" type Plane
2

3
def Plane : 
4
    fo1 = {
5
        g : 9.8,
6
        x : -5000.0,  Vx : 100.0,
7
        y : 0.0,      Vy : 0.0,
8
        z : 0.0,      Vz : 0.0,
9
        Knx : 0.02,  Kdh : 0.04, Kny : 0.1, Knz : 0.0005,
10
        Vc : 300.0,   Hz : 1000.0,  Xz : 1000.0,  Zz : -2000.0,
11
    },
12
    fo2 = {
13
        g : 9.8,
14
        x : 1000.0,   Vx : -50.0,
15
        y : 0.0,      Vy : 0.0,
16
        z : 0.0,      Vz : -100.0,
17
        Knx : 0.02,  Kdh : 0.04, Kny : 0.1, Knz : 0.0005,
18
        Vc : 400.0,   Hz : 1000.0,  Xz : 1000.0,  Zz : -2000.0,
19
    }
20

21
import "//chart.s-script" : chart
22

23
chart.init("БЛА")
24
chart.addSeries("1: x-z", chart.style.line)
25
chart.addSeries("2: x-z", chart.style.line)
26
chart.addSeries("Контакт", chart.style.scatter)
27

28
import "modules/scene-fibers.s-script" : scene =
29
{
30
    tk  : 300.0,
31
    dt  : 0.1,
32
    iteration_step : 10,
33
}
34

35
fn onShow()
36
{
37
    chart.addPoint("1: x-z", fo1.x, fo1.z)
38
    chart.addPoint("2: x-z", fo2.x, fo2.z)
39
    
40
    if math.sqrt((fo1.x-fo2.x)^2 + (fo1.y-fo2.y)^2 + (fo1.z-fo2.z)^2) 
41
        < 200 {
42
        print "Цель достигнута, время: " + scene.t + " c"
43
        chart.addPoint("Контакт", fo2.x, fo2.z)
44
        scene.tk = scene.t
45
    }
46
    
47
    fo2.Hz = fo1.y
48
    fo2.Xz = fo1.x
49
    fo2.Zz = fo1.z
50
}
51

52
scene.callback = onShow
53
scene.add(fo1)
54
scene.add(fo2)
55
scene.start()
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.