67 ground_level = 3400.0;
69 gravity_vector = SGVec3f(0.0, 0.0, -9.81);
70 velocity = SGVec3f(0.0, 0.0, 0.0);
71 position = SGVec3f(0.0, 0.0, 0.0);
72 hpr = SGVec3f(0.0, 0.0, 0.0);
80 balloon_envelope_area = 4.0 * (8.8 * 8.8) * SGD_PI;
81 balloon_envelope_volume = (4.0/3.0) * (8.8 * 8.8 * 8.8) * SGD_PI;
83 wind_facing_area_of_balloon = SGD_PI * (8.8 * 8.8);
84 wind_facing_area_of_basket = 2.0;
89 weight_of_total_fuel = 40.0;
90 weight_of_envelope = 200.0;
91 weight_of_basket = 40.0;
92 weight_of_cargo = 750.0;
95 max_flow_of_fuel_per_second=10.0*1.0/3600.0;
96 current_burner_strength = 0.0;
99 l_of_the_envelope = 1.0/1000.0;
179 float fuel_burning = current_burner_strength * max_flow_of_fuel_per_second * dt * weight_of_total_fuel;
182 float cube_metres_burned = fuel_burning / 2.2;
184 fuel_left -= fuel_burning / weight_of_total_fuel;
187 Q += 22250.0 * cube_metres_burned;
191 T += Q / (1.00 * mAir);
194 float mEnvelope = mAir + weight_of_envelope;
195 float mBasket = weight_of_total_fuel*fuel_left + weight_of_basket + weight_of_cargo;
197 float mTotal = mEnvelope + mBasket;
200 SGVec3f fTotal, fFriction, fLift;
202 fTotal = mTotal*gravity_vector;
208 SGVec3f aTotal, vTotal, dTotal;
210 aTotal = (1.0 / mTotal)*fTotal;
213 vTotal = dt*velocity;
214 dTotal = (0.5*dt*dt)*aTotal; dTotal += vTotal;
217 vTotal = dt*aTotal; velocity += vTotal;
224 if (position[2] < (ground_level+0.001) )
225 position[2] = ground_level;