RUS New site

Advanced search

[ New messages · Forum rules · Members ]
Page 3 of 6«123456»
Forum » SpaceEngine » Mods and Addons » Tools and Utilities ... (... for working with Space Engine.)
Tools and Utilities ...
JackDoleDate: Wednesday, 16.03.2016, 22:06 | Message # 31
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
Quote abrasax ()
I guess the shape of the asteroid plays an important part

Probably. But it need not be exact. An average value would suffice. Some asteroids were perhaps too fast, others too slow. On average, maybe just right! dry





Don't forget to look here.

 
abrasaxDate: Wednesday, 16.03.2016, 22:09 | Message # 32
Space Tourist
Group: Users
Serbia
Messages: 33
Status: Offline
I guess if there is no upper limit, considering you can't make SE rip apart asteroids, then any value is in/correct.
 
JackDoleDate: Wednesday, 16.03.2016, 22:30 | Message # 33
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
But one might calculate if an object rotates fast enough to be ripped apart.
Then could be generated two or three smaller, orbiting around each other.
Incidentally, this is something that in the asteroid generator is still missing: Asteroids orbiting around each other!
I have to think about it. dry





Don't forget to look here.

 
FaceDeerDate: Wednesday, 16.03.2016, 22:31 | Message # 34
Space Pilot
Group: Users
Canada
Messages: 117
Status: Offline
Yeah, the YORP effect isn't an easy thing to calculate. It depends on the shape of the asteroid, its color (whether certain patches adsorb or reflect light efficiently), and its thermal characteristics (how well certain bits heat up and then radiate infrared). But for any given asteroid the YORP effect generally works to make its rotation in a particular direction and along a particular axis speed up over time, and it should be possible to calculate approximately how fast an asteroid would have to rotate to make bits fall off of its equator, so most small asteroids would be rotating at around that speed. The YORP effect also gets weaker farther out from the Sun, since it's driven by solar light, and of course brighter stars would have more effect farther out than dimmer ones would. So lots of room

My earlier code didn't take any of that into account, I just made it spit out rotation speeds that fell onto approximately the observed probability distribution for small asteroid rotation periods. Seemed like a reasonable first approximation for this kind of thing. If you think it'd be fun we could try working up some more detailed formulae. :)

One neat thing about fast-rotating non-rubble-pile asteroids with sufficient tensile strength is that it might be difficult to land on them. I recall a mod for Kerbal Space Program some time back that added a small planetoid named "Inaccessible" that rotated fast enough to fling anything on its equator away at escape velocity. You had to land on the poles and be careful about how far you walked toward the equator while exploring, or use harpoons to anchor yourself to the surface.
 
JackDoleDate: Wednesday, 16.03.2016, 23:03 | Message # 35
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
Quote FaceDeer ()
One neat thing about fast-rotating non-rubble-pile asteroids with sufficient tensile strength is that it might be difficult to land on them.

But that is something that probably has yet to be implemented in SE. I'm here on a planet that has negative gravity at the equator (only temporarily). Should I not be hurled away? But nothing happened! biggrin


Attachments: 7094234.jpg(306Kb)





Don't forget to look here.



Edited by JackDole - Wednesday, 16.03.2016, 23:06
 
FaceDeerDate: Thursday, 17.03.2016, 00:47 | Message # 36
Space Pilot
Group: Users
Canada
Messages: 117
Status: Offline
Did you try landing with an actual ship? Cameras are nonphysical in Space Engine, they can even move away from a black hole when they shouldn't be able to. :)

Anyway, I'm tinkering around with a version 2.0 of the asteroid generating script to put in asteroid moons and binary asteroids. Asteroid moons still seem to be getting rather a lot of tidal heating still in RC1, the test moons I've got in orbit around some of those vulcanoids were 600 degrees warmer than their primary asteroids. Could be that we'll need to keep the eccentricity of asteroid moon orbits unrealistically low in order to avoid their temperatures from becoming unrealistically high. I'll tinker some more and see what sort of balance I can strike.
 
FaceDeerDate: Thursday, 17.03.2016, 04:19 | Message # 37
Space Pilot
Group: Users
Canada
Messages: 117
Status: Offline
Okay, I just went completely bananas. I rewrote my version of the script so that it now generates moons (one or more smaller asteroids ranging from 0.25 the radius of the main asteroid down to 0.05 of the radius of the main asteroid) and binary asteroids (a pair of asteroids with a mass ratio of between 0.25 and 1). I don't have binary asteroids with tinier moons around them but I'll just chalk that up to orbital instability or something. :)

I left binary asteroids and asteroid moons tide-locked. I haven't run any numbers but I'm guessing tidal forces overwhelm YORP effects at that range.

Haven't fiddled with the eccentricity of asteroid moons to see how that deals with tidal heating, it's getting late so I'll leave that to another day.

Here's the script: AsterRingMaker.py

I did some fancier Python stuff this time around for the sake of making it easier to be sloppy - asteroids and orbits are Python classes and you can leave some of their parameters undefined without having to do anything special (it just omits them from the output).
 
abrasaxDate: Thursday, 17.03.2016, 08:21 | Message # 38
Space Tourist
Group: Users
Serbia
Messages: 33
Status: Offline
I'm interested in the YORP effect. How would we go about it? Maybe input the parameters of the sun and then the code calculates the forces (by some extreme approximations smile ) and it adds rotation to the already generated asteroids, then delete the ones that would break apart and generate a few smaller ones.

Another solution would be a full blown simulation of asteroid belt evolution for a given system. I don't think this would be worth the effort.

Quote JackDole ()
Is there any source code?


Sorry I thought this was your signature :D. The code is exactly the same as yours, only written in actionscript. Most of it is for the UI so I'm just going to omit all of that here. Below is a function you want to know about

Code
function asterone(){
    //var t:int = getTimer();
    ba = new ByteArray();
    for(var i:int = 1;i<=N;i++){
         semi = Math.random()*(outer-inner)+inner;
         R = Math.max(0.1,Math.random()*maxR);
         incl = (Math.random()*2-1)*maxI;
         eccen = Math.random()*maxE;
         argof = Math.random()*360;
         ascen = Math.random()*360;
         ba.writeUTFBytes("Asteroid \""+aname+" "+i+"\"\n{\n\tParentBody\t\""+acenter+"\"");
         ba.writeUTFBytes("\n\tClass\t\t\"Asteroid\"");
         ba.writeUTFBytes("\n\tRadius\t\t"+R);
         ba.writeUTFBytes("\n\t\n\tOrbit\n\t{\n\t\t");
         ba.writeUTFBytes("Epoch\t\t\t"+epoch+"\n\t\t");
         ba.writeUTFBytes("SemiMajorAxis\t"+semi+"\n\t\t");
         ba.writeUTFBytes("Eccentricity\t"+eccen+"\n\t\t");
         ba.writeUTFBytes("Inclination\t\t"+incl+"\n\t\t");
         ba.writeUTFBytes("AscendingNode\t"+ascen+"\n\t\t");
         ba.writeUTFBytes("ArgOfPericen\t"+argof+"\n\t\t");
         ba.writeUTFBytes("MeanAnomaly\t\t"+0.0+"\n\t\t");
         ba.writeUTFBytes("RefPlane\t\t\""+refplane+"\"\n\t}\n}\n");
         if(i!=N){
                ba.writeUTFBytes("\n");
         }
    }
    //trace(getTimer()-t);
}


Edited by abrasax - Thursday, 17.03.2016, 09:39
 
JackDoleDate: Thursday, 17.03.2016, 09:58 | Message # 39
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
Quote FaceDeer ()
Did you try landing with an actual ship?

Without ship. I'm sort of always traveling on foot. biggrin

FaceDeer,
To make this script compatible with Python 2.7, should
Code
    def print(self):

to
Code
    def PrintIt(self):

be changed, and of course all '.print()' to '.PrintIt()'.


A question about Python: Which version is recommended as a standard version?
I have 2.7 and 3.5 and use 2.7 as the default.
So far I've never programmed in Python, actually I have it, because it is used by other programs. But I think I'll try it! cool






Don't forget to look here.

 
JackDoleDate: Thursday, 17.03.2016, 16:05 | Message # 40
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
AsterRingMaker

Python versions:


Have FaceDeers version changed somewhat, and his and my version added to the opening post.

Changes FaceDeers version - my version:
Parameter 'ObjectType' added: Value = 'Asteroid' or 'Comet'
Added three presets.
Added parameter queries.
Probabilities for moons and binaries changed somewhat.

Toliman A and Oort cloud:


Attachments: 5848309.jpg(288Kb) · 2325055.jpg(467Kb) · OortCloud_2000.zip(182Kb) · TolimanComets_5.zip(42Kb)





Don't forget to look here.



Edited by JackDole - Thursday, 17.03.2016, 16:05
 
FaceDeerDate: Thursday, 17.03.2016, 16:16 | Message # 41
Space Pilot
Group: Users
Canada
Messages: 117
Status: Offline
Quote JackDole ()
A question about Python: Which version is recommended as a standard version?


I dunno. I usually just use Python as a "automate some random task using a custom one-off script" tool, which doesn't result in any dependencies for compatibility with other peoples' systems, so I use the latest version I have installed (0.3.4 in my case). I guess this is one of those rare scripts that could actually go somewhere other than my own machine.

I've got somewhat of a love/hate relationship with Python. I find it quite handy as a way to quickly accomplish tasks - the syntax allows for a lot of really quick and dirty code that works okay, and there's tons of libraries out there. But its indentation-dependent structure still gives me the heebie-jeebies. Curly braces for the win. :)

If you're just getting into Python and exploring it for the first time, Automate the Boring Stuff might be a useful resource. It shows off Python's ability to do all sorts of random annoying tasks for you.

Edit: Looks like I don't have my Pastebin password handy here at my work computer, I'll update my script for 0.2.7 compatibility when I get home and also port in your work on it. Should we perhaps be putting some sort of copyleft licence on this thing at this point given how we've all been trading bits of code back and forth? I hereby public-domain the bits that I've written to simplify whatever others may want to use.


Edited by FaceDeer - Thursday, 17.03.2016, 16:25
 
JackDoleDate: Thursday, 17.03.2016, 16:56 | Message # 42
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
Quote FaceDeer ()
But its indentation-dependent structure still gives me the heebie-jeebies.

This has one advantage, you can not forget the closing brackets. And my editor speaks Python, it automatically indents the line. dry

Quote FaceDeer ()
Should we perhaps be putting some sort of copyleft licence on this thing at this point given how we've all been trading bits of code back and forth?

I am not familiar with this. And my English is not good enough to formulate something like this. Anyone can use it, change, or delete from his compter if he does not like it. But no one should sell it, and thus become a millionaire. That would annoy me. biggrin





Don't forget to look here.

 
BridgettenDate: Thursday, 17.03.2016, 17:37 | Message # 43
Space Tourist
Group: Banned
United States
Messages: 22
Status: Offline
Tyche inside of Oort Cloud using JackDole OortCloud_2000
Why Oort Cloud are asteroids instend comets and in wiki says Oort cloud have comets




Edited by Bridgetten - Thursday, 17.03.2016, 17:39
 
JackDoleDate: Thursday, 17.03.2016, 18:15 | Message # 44
Star Engineer
Group: Local Moderators
Germany
Messages: 1737
Status: Offline
Quote Bridgetten ()
Why Oort Cloud are asteroids instend comets and in wiki says Oort cloud have comets

Here are a few comets.

Attachments: OortCloudComets.zip(152Kb)





Don't forget to look here.

 
quarior14Date: Thursday, 17.03.2016, 19:37 | Message # 45
World Builder
Group: Users
Pirate
Messages: 646
Status: Offline
JackDole
In your file .py, you typed
Code
print ObjectType
but it is
Code
print (ObjectType)
otherwise it does not work, it is for any print that you forgot and what is raw_input, it is input else don't work.





Quarior

Edited by quarior14 - Thursday, 17.03.2016, 19:41
 
Forum » SpaceEngine » Mods and Addons » Tools and Utilities ... (... for working with Space Engine.)
Page 3 of 6«123456»
Search: