-
Posts
6,181 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by K^2
-
Experiments in Efficiency
K^2 replied to hittingsnooze's topic in KSP1 Gameplay Questions and Tutorials
Fuel-optimal TWR for vertical ascent is exactly 2. That follows from the fact that optimal ascent rate is equal to terminal velocity* and except for actual liftoff, acceleration is negligible until you reach thinner atmosphere. Of course, as fuel is used up, TWR at maximum thrust will increase. So you should start at either a little lower than 2, as UmbralRaptor suggests, or you have to cut the throttle a bit as you go up. Of course, once you begin gravity turn, the turn itself will determine optimal thrust, and I haven't been able to compute the optimal solution even for the simple case of Kerbin's atmosphere. A lot of people are recommending different things, and I have been able to confirm at least a few as not true optimums, but for the most part, if you follow general advice, it's pretty close. * Yes, even for the case when atmospheric density decreases with altitude. At least, for exponential case used in the game. So your velocity-altitude profile is going to be v(h) = v0 exp(h/(2H)), where v0 is terminal velocity near Kerbin's surface, which is about 100m/s, and H is the scale height, which is 5000m for Kerbin. In other words, you should be traveling at 100m/s very soon after liftoff and reach 270m/s when 5km up. Again, once you begin the gravity turn, this formula breaks down. -
Yes, warp drive violates global causality. But there is absolutely no law stating that causality must be obeyed globally. It is a local property, and warp drive does preserve local causality. As for wormholes, there is no known mechanism for a change in topology of space-time, and one must alter space-time topology to create a new wormhole. Of course, it's possible that there are enough microscopic wormholes around that we don't need to create one from scratch. Only manipulate it to make it traversable. That we can do with known physics, at least, if not with known materials. But we haven't discovered any actual wormholes, so that's a bit of a moot point. Warp drive is currently the only FTL method which we actually understand the physics of. There are still some major theoretical hurdles, like requirement for negative energy densities, but these are a problem for traversable wormholes as well.
-
Whether it is a fact or not depends on your definition of fact. How would you define it? Can you give me an example of something that is a fact? Defining fact as anything that is supported by well-established theory is not a bad way to define it. That's a good, pragmatic definition that a lot of people hold to. But yes, theory by its very design must be falsifiable. Otherwise, it is useless. The only theory that cannot be falsified is a theory that makes no testable predictions. And if it makes no testable predictions it makes no predictions that we can make use of.
-
Yes. And it should.
-
Yes, all angles are in radians. So if your input is in degrees, don't forget to convert them. It's easy to go from eccentric anomaly to mean anomaly. m = t - e * sin(t). But you need to go backwards and get t from m. I'm not sure there is an exact solution for that, but there are some iterative methods you can use. Off the top of my head, this should work. //Given m and e, compute t. t = 0; for(j = 0; j < 100; j++)t = m + e * sin(t); The higher the number in "j < 100" the better the approximation is going to be. There is probably a better way.
-
Parameter is a general term for the independent variable in the parametric equation. The simplest parametric equation for ellipse is written with eccentric anomaly as parameter. That's the equation you used. But it's possible to use a different parameter, including the mean anomaly. You'll just need a different equation. (Or a map from mean anomaly to eccentric anomaly.) Mean anomaly is defined in such a way that it advances by equal amounts over equal time intervals. In other words, if you want to define the rate at which toe object traverses orbit in terms of degrees/second, you are talking about mean anomaly. So if you still want to use parametric equations based on eccentric anomaly, you need to first convert mean anomaly to eccentric anomaly. But like I said, the correction is small if the eccentricity is small, so I'd focus on getting everything else to work first.
-
I'd start with making sure that your orbit has the star at the focus rather than center. As I mentioned earlier, your equations set the star in the geometrical center of the ellipse. That's not a problem for a circular orbit, since the foci coincide with center for circle, but the moment you add a bit of eccentricity, it will look wrong. You have equation for ellipse with origin on center: x = a*cos(t); z = b*sin(t); Instead, you want equation where origin is at the focus. This is achieved by simply shifting the ellipse by focal distance. x = a*e + a*cos(t); z = b*sin(t); Inclination (i) is simply a rotation around the Z axis (since your major axis runs along X). In general, a rotation around Z axis looks like this: x_after_rotation = cos(angle) * x_before_rotation - sin(angle) * y_before_rotation; y_after_rotation = sin(angle) * x_before_rotation + cos(angle) * y_before_rotation; But prior to inclination y is zero. So if you apply this formula, the equation for an inclined ellipse looks like this: x = cos(i) * (a*e + a*cos(t)); y = sin(i) * (a*e + a*cos(t)); z = b*sin(t); The z coordinate doesn't change since Z is the axis we are rotating around. In principle, there are two more angles you need to set the orbit. That's the argument of periapsis and longitude of ascending node. But if you are modeling a solar system, where all inclinations are small, you can just add a rotation around the Y axis. If you do so, the full equation takes the following form. x = cos(f) * cos(i) * (a*e + a*cos(t)) + sin(f) * b*sin(t);; y = sin(i) * (a*e + a*cos(t)); z = cos(f) * b*sin(t) - sin(f) * cos(i) * (a*e + a*cos(t)); Here f is the angle by which you rotate position of the major axis. For most notable objects in the Solar system, this is more than adequate. Oh, and maltesh is absolutely correct about the fact that your equations are for eccentric anomaly (variable t in all of the above), not mean anomaly. What that means is that for highly eccentric orbits your objects won't traverse the orbit at quite the right rate. Mean anomaly and eccentric anomaly are closely related, however, so it's not very difficult to recompute one from the other. I can show you how to do that if you'll want to correct for this.
-
Hm. What about this bit of code in Body.Update() transform.Translate(Coords); Does this call translate object to Coords or by Coords? Because if it's the later, it would explain a lot, including why z doesn't go negative.
-
Ok, I might be wrong, but it looks to me like OrbitalMechanics.FindSemiMinor() is called when object is created, and only then do you set the SemiMajor axis. So SemiMinor would be computed wrong. You can check that by displaying or printing to console the values of SemiMajor and SemiMnior axis on every tick. If that's really the problem, the simplest way to fix it would be to create a Body.Initialize() function and call it after you set all the other parameters. So it'd be something like this. Planet = (GameObject)UnityEngine.Object.Instantiate(sphere); Planet.name = "Mercury"; Planet.SetActive(true); transform = Planet.transform; body = Planet.AddComponent<Body>(); //I'm guessing Body.Start() gets called here. body.Root = GameObject.Find("Sol").transform; body.SemiMajor_Axis = 57.909100f; body.Size = 2439.7f; body.degrees = 4.092346f; body.Initialize(); //This call should set up body.SemiMinor_Axis transform.parent = SolSystem.transform; Planet.renderer.material.color = Color.red; I might be wrong, though. I haven't worked with Unity too much. But in either case, taking a look at what the values of SemiMinor and SemiMajor actually are would help you diagnose the problem.
-
You do have the code for computing semi-minor before you are using it to compute the z coordinate, right? Otherwise, it'd be useful to see a bit more of your actual code. Also, keep in mind that x = 0, z = 0 is going to be center of ellipse, not focus. In other words, barycenter of your system is not going to be at (0, 0). I don't know which one you are going for.
-
Doesn't work that way. If your reaction wheel is rotating a certain direction, you can't just flip the craft over and have the wheel spin in the opposite direction. Why? Because of something called gyroscopic effect. Lets label the reaction wheels X, Y, and Z to correspond with the X, Y, and Z axis of chosen coordinate system. Suppose, there is some torque about X, so your reaction wheel builds up some amount of angular velocity around X. You decide to use your Y wheel so that excess rotation is now in -X. Ok, you start spinning up the Y wheel, but instead, the craft starts to rotate around Z! Well, ok, it's not exactly what you wanted, but the craft is flipping over. Well, yes, but now the Y wheel isn't pointing along Y axis. It's rotating in the X/Y plane. So now as you keep spinning up the Y wheel, you are affecting rotation around X, and you don't want that. So you start compensating with the X wheel. It so happens that the compensation rotation is in opposite to direction the X wheel is rotating. So the X wheel is now spinning down, Y wheel is spinning up, and the craft is rotating around the Z axis. By the time the craft has rotated 90°, your X wheel has stopped, your Y wheel points along X axis, and it's spinning as fast as X wheel used to spin. You're right back where you started! Of course, it all goes back to the concept of conservation of angular momentum. You can re-orient the craft, but the sum of angular momenta of all the reaction wheels will remain the same if the craft isn't spinning. So there is absolutely no way to get rid of the extra momentum. Now, if asymmetry of the craft is the cause of the buildup, then this might not matter. You flip the craft over, and now the external torque changes sign and kills off angular momentum. But often enough this excess is due to position of solar panels and instrumentation that are critical to the mission, and you can't simply re-orient these and have everything working at peak efficiency. So you're kind of stuck with using RCS or similar to correct.
-
On the theoretical difficulties of telepathy.
K^2 replied to nhnifong's topic in Science & Spaceflight
It's a complicated problem, but it's not as bad as all that. Thinking and communication have some additional difficulties, so lets consider a simple case. Say you have a neural network that is designed to identify printed characters. (Part of the OCR application, for example.) How does it go about that? Well, the first stage is identifying features on the image. That could be a loop, a slant line, etc. I'm oversimplifying a bit, but bear with me. Now, the top layer(s) of the network are going to consider the features and decide which character these features match the best. But to identify the features you can also use the neural net. So you end up with a multi-layered network where the lower layer(s) identify features, and higher layers translate that to a probability distribution for specific characters. Now, suppose you have two different networks with slightly different architecture, but both are designed and trained to solve this particular task. What's going to happen is that both networks are going to learn similar feature sets. This isn't something that you'd be able to just take a look at and say, "Oh, both of these networks were trained to identify characters." But there are going to be significant correlations. So much so that I can write a third neural network that will take the feature vector of the low level(s) of the first network and derive a feature vector for the top layer(s) of the second network, so that the second network can still identify the characters seen by the first network. This is not entirely trivial, and it will require some degree of training, but the nice thing about it is that you don't have to re-train any of the networks that are communicating. It's the translating network that's going to do all the learning and adjustment. And now the parallels with communication between two individuals should be obvious. Our thought process is also based on various abstract features. These can be rather complex and nested. You use individual strokes to identify letters on the page, but you also use the more abstract notion of the letter to identify a page of printed text even if you don't recognize the language or the script. But in the end, you are still translating features. And when you communicate verbally, you translate these into sentences. Well, so long as feature sets are similar enough, that is, so long as two individuals have similar cultural experience, you should be able to devise a neural network that rides between the thought and speech and translates abstract notions into something another person's brain can interpret almost directly, bypassing speech processing. -
It's not sloppy. It's proper usage of the word. The use of the word "propellant" to mean the expanding gas that drives something else is due to use of the word in things like aerosol sprays. If you want to spray-paint something, you need to accelerated the paint particles. Propellant is something that accelerates these particles. Id est, the compressed gas. But in the rocket, your goal is not to propel the reaction mass. Your goal is to propel the rocket. Therefore, reaction mass is the propellant. And that usage is consistent across every type of the reaction engine.
-
What's the propellant of a NERVA rocket? Nope, it's hydrogen gas. Standard usage in any literature. Now look at ion drives. What's the propellant? Whatever inert gas that's being used. In context of a rocket, propellant is whatever you use for reaction mass. Source of energy is fuel. Again, if you look at NERVA, you'll notice that it uses nuclear fuel, not nuclear propellant.
-
What you are suggesting with a chemical rocket is equivalent to adding some water to the fuel and just running a conventional rocket. This will increase specific impulse per weight of fuel, but it reduces specific impulse per total propellant weight, which reduces overall performance.
-
Propellant is what provides reaction mass. Water is the propellant in the water rocket. Air merely provides energy.
-
Depending on the pressure inside the bottle, there is an optimal water volume to get the most impulse out of the whole thing. I derived the formula for it once before. Let me think about it for a bit.
-
You don't need to make any adjustments. See, Earth isn't a perfect sphere and orbits around it aren't perfectly closed. This can be exploited. In particular, there exist Sun-synchronous orbits. The dusk-dawn Sun-sync orbit will keep the satellite permanently out of Earth's shadow.
-
Losses to radiation are actually huge. The only reason you don't experience them on Earth is because you are surrounded with warm objects that radiate heat at roughly the same rate. In space, this is a major concern. Even with a reflecting coating you are loosing on the order of 10W per square meter. Over the surface of 747 it adds up. And as I mentioned earlier, if you want to maintain a reasonable temperature when the craft is in the sun light, you don't want the coating to be perfectly reflective across the spectrum. That's going to cost you in the shadow. It's much easier to just keep the craft always in the sun light and design around that.
-
Yeah, but you have up to 4x the area to radiate from. Not to mention things you can do with albedo. It's not that hard to make a paint with very low albedo in 10 microns (25°C) and very high in half micron, which is where Solar radiation peaks. Yes, if you just put a 747 in space, you'll have major heating problems. But anything you can fix with a coat of paint is not something I'd fixate on when we are contrasting that to the problem of putting a 747 in orbit in the first place. As far as freezing in the shadow, just put it in the orbit that's never in the shadow. Problem solved.
-
You don't have to ever hit Mach 1 in atmo. Yes, doing entire ascent at speeds a 747 can survive will cost you a lot of extra fuel, but it's not impossible. Leaky cabin is the biggest problem, but if you had some time to prepare, you might be able to fix that, at least, temporarily.
-
Theory of evolution predates most of the fossil evidence. People started digging through the fossils primarily in an attempt to confirm or disprove evolution. There are many similarities and differences in the various organs, tissues, and bones of animals that let us reconstruct biological relation, and this is what taxonomy was originally based on. And this already predicted a common ancestor for all mammals. Then we found the fossil evidence that fits with that. And then later we have learned how to work with DNA, and that opened many new doors for finding relations between species. So in terms of most conclusive and error-proof test of whether mammals share common ancestor, look at DNA evidence. It is very conclusive.