PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Example Function] Berechnung von Balloon powers und Entity Mass



aVoN
16.05.2006, 13:22
Hallo erstmal,
inspiriert durch greve, der mir eine Formel zur Berechnung der Balloon power in Abhängigkeit der Entity Masse habe ich meine eigene entwickelt. Nicht zuletzt, da seine falsch rechnete und sich nur auf 3 Messwerte (20,40,80) stützte.

Ich habe dazu 11 Messwerte verwendet und Excel f(x) = ax^2 + bx + c berechnen lassen. Es war wirklich, wie greve schon entdeckte eine Quadratische Funktion.

Es ist kein wirkliches Release, allerdings eine sinnvolle Funktion für die jenigen, die immer noch nicht hinter das Geheimniss der Balloonpowers gekommen sind.

Es berechnet die nötige Balloonpower die benötigt wird um der Masse eines Entitys entgegen zu wirken und umgekehrt. Also um es schweben zu lassen. Ich habe die Masstergun ein wenig umgeschrieben, damit diese nun auch diese Eigenschaft besitzt.

Edit
Hab gerade mit greve gechattet. Seins funzt doch, allerdings habe ich die saert() klammer ein wenig falsch gelesen. Allerdings ist meine viel prezieser, da sie auf 11 Messwerten basiert und nicht nur 4.


-- Balloon Formula - v1.0 by aVoN aka System of a pWne!^

-- Inspired by greves Balloon formula( math.sqrt(_phys.GetMass(_TraceGetEnt())) * 122.55 * (_GetConVar_Float("sv_gravity") / 600) ),
-- which fully worked wrong (Sorry greve :D) i wrote my own one with 11 test values
-- Calculation of the entitymass and balloon powers and vice versa
-- The a,b and c factors for f(x) = ax^2+bx+c were calculated with excel. Testvalues included below
--[[
Ballon Power | Entity Mass
100 | 1.66
200 | 3.33
300 | 5.99
400 | 10.65
500 | 16.66
600 | 23.99
1000 | 66.66
2000 | 266.99
3000 | 600.33
4000 | 1067
5000 | 1665
]]
function calculate_balloon_power(entity_mass)
return math.sqrt((entity_mass*600/(_GetConVar_Float("sv_gravity")*0.00006653)) - 1822.4463309714597015971312329728) - 3.1865323914023748684803847888171;
end
function calculate_entity_mass(balloon_power)
return (0.00006653*math.pow(balloon_power,2) + 0.000424*(balloon_power) + 0.1234)*(_GetConVar_Float("sv_gravity")/600);
end

Dark
16.05.2006, 13:59
gibs da denn net sone lua waffe
die leuft doch dann nach dem gleichen prinziep oder

aVoN
16.05.2006, 14:59
masstergun - allerdings nur für Thrusters.