loom

Форк
0
/
plane.s-script 
63 строки · 1.5 Кб
1
import "//support.s-script" : s
2

3
def empty:
4
    Knx,
5
    Vc,
6
    nxt,
7
    Hz,
8
    dH,
9
    Kdh,
10
    Vyz,
11
    Kny,
12
    Knz,
13
    nyt,
14
    Zz,
15
    Xz,
16
    nzt,
17
    g,
18
    Vx, Vy, Vz,
19
    x, y, z
20
    
21
//x.spec["differential"] = true
22
//y.spec["differential"] = true
23
//z.spec["differential"] = true
24
//Vx.spec["differential"] = true
25
//Vy.spec["differential"] = true
26
//Vz.spec["differential"] = true
27
    
28
def auto tethered :
29
    __equetions__ = fn()
30
    {
31
        using math {
32
            nxt = Knx * (Vc - sqrt(Vx ^ 2 + Vy ^ 2 + Vz ^ 2))
33
            
34
            dH = Hz - y
35
            
36
            Vyz = Kdh * dH
37
            Vyz = s.limit(Vyz, -15.0, 25.0)
38
            
39
            nyt = 1 + Kny * (Vyz - Vy)
40
            
41
            nzt = Knz * (Vx * (Zz - z) - Vz * (Xz - x))
42
            nzt = s.limit(nzt, -5.0, 5.0)
43
        }
44
    }
45
    
46
def auto :
47
    __rights__ = fn(self : __state, float : t) -> object
48
    {
49
        def object : __d
50
        
51
        using math {
52
            using __state {
53
                __d["x"] = Vx
54
                __d["y"] = Vy
55
                __d["z"] = Vz
56
                __d["Vx"] = (g/sqrt((Vx)^2+(Vy)^2+(Vz)^2))*Vx*(nxt-Vy*nyt/sqrt((Vx)^2+(Vz)^2))-g*Vz*nzt/sqrt((Vx)^2+(Vz)^2)
57
                __d["Vy"] = (g/sqrt((Vx)^2+(Vy)^2+(Vz)^2))*Vy*nxt+(g/sqrt((Vx)^2+(Vy)^2+(Vz)^2))*nyt*sqrt((Vx)^2+(Vz)^2)-g
58
                __d["Vz"] = (g/sqrt((Vx)^2+(Vy)^2+(Vz)^2))*Vz*(nxt-Vy*nyt/sqrt((Vx)^2+(Vz)^2))+g*Vx*nzt/sqrt((Vx)^2+(Vz)^2)
59
            }
60
        }
61
        
62
        return __d
63
    }

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

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

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

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