• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Plane Problem

Status
Not open for further replies.
It will fly. The wheels aren't moving the plane forward. The engines are. They are not affected by the treadmill. The wheels would just spin faster.

Where did I go wrong. I said that on the first page. Somewhere along the way I got reversed. It doesn't matter how fast the belt moves. It will have no effect eventually. The forward momentum created by the jet's engine thrust will eventually over come the rearward motion generated by the belt. Even if the belt could accelerate to infinity it still would not be able to pull the jet backwards. It would just continue to accelerate until it did take off.

I apologize for my obviously wrong thinking in this matter. I guess I was the one blinded by my pride. I hope all of you can forgive me.:eek:

On the plus side I did get a much higher post count out of this. I think I helped some of you out in the process. :D
 
Last edited:
Upvote 0
errrr, yes it will fly.

It wont stay still.....

Just the wheels will spin faster than if it was on motionless ground. But it will still move forwards.

someone gave a good example. Put a treadmill up against a wall, and attach rope to the wall next to the treadmill. Put some roller skates on, then stand on the treadmill. Hold the rope so you arent moving then turn the treadmill on. Then try and pull yourself forwards. You will be able to, just like the engines of a plane would be able to move the plane, because all the treadmill will do is turn the wheels, not move the plane.

Lol, I was thinking the same thing reading the problem:

"The engines push against the air, not the ground. The 'runway' wouldn't keep it from moving."
 
Upvote 0
That's exactly it. The plane is sitting on the tread, not the ground. As long as the tread is moving backwards at the same speed the jet is moving forward. The jet cannot move forward in relation to the ground. It is moving forward in relation to the tread mill.


--------------------------------------

The car on the tread mill in the drawing above. Is turning it's wheels at the same speed as the tread. If you move the car forward on the tread. The wheels are spinning faster than the tread is. Even if it is only slightly more.

However the tread mill is designed to counter that movement. So it would speed up too. Your hand on the car is an outside force. If you continued to pull it forward the tread mill could accelerate to infinity and it couldn't pull the car back. You are moving it forward.

If the car is moving under it's own power. It has to mantain the speed it is moving on the tread, on it's own. So if the engine tries to pull the car/plane forward. The tread mill speeds up to compensate. Again resulting in zero net movement.


The hand on the car is a force acting on the car but unrelated to the treadmill; it symbolizes the jet engine.
 
Upvote 0
ok, now a compiler friendly version..
think the basic calculations are correct now.
(not sure if im right on the acceleration calculation, but should be close)
next step is to bring it into relation between Newton, Km/h, Time and stuff..

Code:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>


void PlaneTakeOff(bool TakeOff)
{
 gotoxy(1,20);
 if (TakeOff == true) {cout<<"Plane has taken off...  *swish*.";}
}


void WeelsBroken(bool Broken)
{
 gotoxy(1,20);
 if (Broken == true) {cout<<"Too bad, the weels broke..";}
}

float WeelFrictionOverall(float PlaneActualSpeed, float FrictionPerRotation, float AmountWeels, float WeelCircumferential)
{
 float WeelSpeed = (PlaneActualSpeed + PlaneActualSpeed);
 float WeelSpin = (WeelSpeed / WeelCircumferential);

 return((FrictionPerRotation * WeelSpin) * AmountWeels);
}


float PlaneMoving(float EngineAirFlow1, float EngineAirFlow2, float PlaneActualSpeed, float PlaneIntertia)
{

 //think the acceleration calculation misses something, not sure what, but it should be close

 float PlaneThrust = ((EngineAirFlow1 - PlaneActualSpeed) + (EngineAirFlow2 - PlaneActualSpeed));
 float PlaneAcceleration = PlaneThrust - (PlaneActualSpeed + PlaneIntertia);

 return(PlaneActualSpeed + PlaneAcceleration);
}

void main()
{
 float PlaneMinTakeOffSpeed = 600;
 float WeelCircumferential = 0.1;
 float AmountWeels = 4;
 float PlaneThrust = 0;
 float PlaneIntertia = 100;
 float WindBlow = 10;
 float FrictionPerRotation = 0.0001;
 float PlaneActualSpeed = 0;
 float WeelsBreakFriction = 1000;
 float WeelSpeed;
 float WeelFriction;
 float EngineAirFlow1 = 1000;
 float EngineAirFlow2 = 1000;

 bool ExecWind = true;


 gotoxy(1,1);
 cout << "Input the speed the plane needs to take off: ";
 cin >> PlaneMinTakeOffSpeed;

 gotoxy(1,2);
 cout << "Input the weels cirumferential: ";
 cin >> WeelCircumferential;

 gotoxy(1,3);
 cout << "Input the amount of weels: ";
 cin >> AmountWeels;

 gotoxy(1,4);
 cout << "Input the airflow exaust 1 generates: ";
 cin >> EngineAirFlow1;

 gotoxy(1,5);
 cout << "Input the airflow exaust 2 generates: ";
 cin >> EngineAirFlow2;

 gotoxy(1,6);
 cout << "Input the planes Intertia: ";
 cin >> PlaneIntertia;

 gotoxy(1,7);
 cout << "Input how strong the wind blows: ";
 cin >> WindBlow;

 gotoxy(1,8);
 cout << "Input the weels friction per rotation: ";
 cin >> FrictionPerRotation;

 gotoxy(1,9);
 cout << "Input at how much friction the weels fall appart: ";
 cin >> WeelsBreakFriction;


 while(1)
 {
  clrscr();

  if (WindBlow >= PlaneMinTakeOffSpeed) {cout<<"Plane flys allready"; break;}

  if (ExecWind == true)
     {
      if (WindBlow <= 0) {PlaneMinTakeOffSpeed = PlaneMinTakeOffSpeed + WindBlow;}
      else {PlaneMinTakeOffSpeed = PlaneMinTakeOffSpeed - WindBlow;}
      ExecWind = false;
     }

  PlaneActualSpeed = PlaneMoving(EngineAirFlow1, EngineAirFlow2, PlaneActualSpeed, PlaneIntertia);
  WeelFriction = WeelFrictionOverall(PlaneActualSpeed, FrictionPerRotation, AmountWeels, WeelCircumferential);
  PlaneActualSpeed = PlaneActualSpeed - WeelFriction;

  if ((WeelFriction / AmountWeels) >= WeelsBreakFriction) {WeelsBroken(true); break;}

  WeelSpeed = PlaneActualSpeed + PlaneActualSpeed;

  gotoxy(1,1);
  cout<<"Weelfriction over all: "<<WeelFriction;

  gotoxy(1,2) ;
  cout<<"Single weel friction: "<<(WeelFriction / AmountWeels);

  gotoxy(1,3);
  cout<<"Weels speed: "<<WeelSpeed;

  gotoxy(1,4);
  cout<<"Windblow: "<<WindBlow;

  gotoxy(1,5);
  cout<<"Treadmill speed: -"<<PlaneActualSpeed;

  gotoxy(1,6);
  cout<<"Plane Speed: "<<PlaneActualSpeed;

  gotoxy(1,7);
  cout<<"Plane minimum speed to take off: "<<PlaneMinTakeOffSpeed;

  if (PlaneActualSpeed >= PlaneMinTakeOffSpeed) {PlaneTakeOff(true); break;}

  gotoxy(1,15);
  cout << "Hit enter to see the next intervall - ESC to quit";
  int Inp = getch();
  if (Inp == 27) exit(1);
 }

 gotoxy(1,16);
 cout << "Hit enter to exit";
 getch();
}
 
Upvote 0
But then they would slide, wouldn't they?.


(I have to keep this alive ;))

If the wheels try to go faster than the speed of the conveyor will they skid? They are always trying to go round at a speed that would result in twice the speed the plane is actually going at. So do they spin? If thats the case then the plane can never accelerate to take off. Or it would, but it wouldn't be guided along in a straight line
 
Upvote 0
If the wheels try to go faster than the speed of the conveyor will they skid? They are always trying to go round at a speed that would result in twice the speed the plane is actually going at. So do they spin? If thats the case then the plane can never accelerate to take off. Or it would, but it wouldn't be guided along in a straight line

This is how I figured it out. The plane increases thrust. It begins to move forward. The treadmill tries to match it's speed by turning the opposite direction, but it only tries to match it. For the tread mill to stop the forward movement of the plane. It would have to anticipate the planes forward movement by going faster than the wheels are turning. Since it only matches the forward movement. The wheels will always be moving faster than the tread.

Once the plane over comes the friction in it's own wheel bearing, which isn't much. The tread mill will never be able to stop forward motion simply by catching up. It will always move slower than the wheels.
 
Upvote 0
Look. There is no friction between the plane and the tread except the wheel bearings. As long as the plane can over come that. The tread mill will never be able to stop the plane by matching the speed of the wheels. Because the wheels will always be moving faster than the tread. The tread would always be playing catch up.

If the tread mill was made to anticipate the forward movement and stop it by moving faster than the wheels. Then the plane would always be trying to catch up to the tread mill. Thus remaining motionless relative to the ground.
 
Last edited:
Upvote 0
Flying_Valenok.gif
 
Upvote 0
Status
Not open for further replies.