Jump to content

EzinX

Members
  • Posts

    153
  • Joined

  • Last visited

Everything posted by EzinX

  1. I'm not a mechanical engineer. I'd love links to explanations about mechanical springiness and how they apply to large structures. If I understand things correctly, if you have a large structure made of lots of pieces of metal like a large orbiting rocket, when you do something to perturb the system, there's a delayed response. For instance, suppose the large structure is just floating in orbit. You then activate a large rocket engine connected to the structure. This new force will compress the metal structural elements near the engine, and those compressed structural elements will compress the elements adjacent to themselves, and so on down the line. A compressional wave will travel all the way to the end of the rocket and return. Since no realistic large rocket is perfectly symmetrical, some of these forces end up causing twisting the structure slightly. The twisted structure makes the rocket engine no longer point "straight", which leads to off center thrust, which can lead to the ship turning. Playing the game, large structures becoming increasingly difficult to control. You can make all your burns very low thrust, but that makes them take hours, and the way the game is programmed, physical timewarp sacrifices accuracy and ghost forces will tear your ship apart. Suppose it's a future world where we have the technology to build huge spaceships. Maybe exotic engines such as nuclear salt water/black holes or even "cheat" engines that don't need propellant are available. Can you manufacture an ocean liner sized spaceship that won't wobble around as it flies? How would you construct it? The game seems to simulate physical springiness at the joints between components rather than internal to the components themselves. I would assume no real rocket is going to use discrete parts that are rigid bodies with floppy joints. You'd bolt or weld all the sub components together so the only source of wobble is compression of the structural elements themselves. Is it possible to build dampers into a structure to soak up compressional disturbances so that they don't cause the overall structure to jerk around? Or perhaps increase thrust on a rocket engine very slowly so that there's no sudden change that causes the initial compression in the first place. This game seems to throttle up near instantly, perhaps that is part of the problem? One final question. Docking ports in this game, which are needed to connect multi-part ships launched as separate pieces, add huge amounts of wobble. Has NASA or another real space agency ever designed docking ports that connect the two vehicles together more securely, say with big bolts that automatically screw from one spacecraft into another, or some other method of mechanical attachment? You would need this if you ever wanted to build a vehicle constructed of many small components that you wanted to send on a trajectory to Mars with an interplanetary burn.
  2. The method I described above, you would cast a series of rays from appropriate samples in each part towards the normal of the air stream. O(n) complexity with the number of parts. That would let you detect partial part exposure. Uh, how are you actually determining the drag and lift coefficients for each part? Are you approximating them in realtime?!
  3. Ferram, I'm curious as to the main idea behind your aerodynamics modeling. You have generously included your source code, however, I think I might have better luck figuring it out if I knew the ideas behind the algorithms. Starting from a "clean sheet", I came up with the following method for aerodynamic modeling : 1. Game has fixed parts defined ahead of time. This is true both for this game and most games that allow user creations. 2. Each predefined part has a high end aerodynamics solver run on it offline, essentially pre-baking the parts. I'm aware that it's a huge and complex subject, and accurate solutions are very computationally expensive because essentially you are numerically approximating certain PDEs for thousands of volumetric subunits that represent the air (or fluid) interacting with the surface. 3. The solver spits out the coefficients of lift and drag for either 6 or 18 possible orientations of the part. (the 6 solution you just solve for the Cd/Cl for each orthogonal direction, the 18 you include the 45 degree angles). 4. Armed with these constants, you raytrace parallel to the vehicles current direction of airflow. These rays hit the parts on the surfaces of the vehicle exposed to airflow, and this lets you determine how much air (or fluid...) each part of the vehicle is actually exposed to. You have a Cd/Cl, so you just apply the corresponding lifts and drags from each part to the rigid body model for the entire vehicle, converting drag that is off of the center of mass to a vector that includes torque when appropriate, and you're done. KSP seems to treat each individual part as an independent rigid body so in this game you would apply the forces to the individual parts instead. You of course interpolate between the 6 or 18 Cd/Cl values for the angle each part is actually at. That's the simplest and obvious way to do it I can think. I recall reading somewhere in this very thread that you tried a similar method with poor results, and I'm curious why it didn't work. My first thought is that perhaps this method is very unstable? Forces on the vehicle change the angle the vehicle is facing, so the next timestep the forces are different and perhaps the vehicle "judders" around unrealistically?
×
×
  • Create New...