public void Open(string s) { TextModel filemodel = new TextModel(); MassClass massclass = new MassClass(Num, s); StringMass = massclass.StringMass(); LengthMass = massclass.LengthMass(); LengthAllMass = massclass.LengthAllMass(); }
private void letsupdate() { for (int i = 0; i < InMass.Count; i++) { if ((i % num_node) < (num_node / 2)) { InMass [i].massaddForce(new Vector3(-(addingforce), 0, 0)); } else { InMass[i].massaddForce(new Vector3(addingforce, 0, 0)); } InMass [i].massupdate(); // Debug.Log ("MassForce = " + InMass [i].massforce); } for (int i = 0; i < InSpring.Count; i++) { SpringClass spring = InSpring [i]; if (spring.cutted == false) { MassClass m1 = spring.m1; MassClass m2 = spring.m2; spring.updateValues(); Vector3 dir12 = spring.springdir; float o_length = spring.original_spring_length; float n_length = spring.new_spring_length; float cte = stifness * (n_length - o_length); Vector3 force1; force1.x = cte * dir12.x; force1.y = cte * dir12.y; force1.z = cte * dir12.z; Vector3 force2 = -force1; m1.massforce.x = -force1.x - damp * m1.velocity.x; m1.massforce.y = -force1.y - damp * m1.velocity.y; m1.massforce.z = -force1.z - damp * m1.velocity.z; m2.massforce.x = -force2.x - damp * m2.velocity.x; m2.massforce.y = -force2.y - damp * m2.velocity.y; m2.massforce.z = -force2.z - damp * m2.velocity.z; m1.massupdate(); m2.massupdate(); if (n_length > spring.threashold) { spring.cut(); } } } }
public void init() { rand = Random.Range(0, 6); switch (rand) { case 0: massClass = MassClass.Asteroidan; mass = Random.Range(0f, 0.00001f); radius = Random.Range(0f, 0.03f); break; case 1: massClass = MassClass.Mercurian; mass = Random.Range(0.00001f, 0.1f); radius = Random.Range(0.03f, 0.7f); break; case 2: massClass = MassClass.Subterran; mass = Random.Range(0.1f, 0.5f); radius = Random.Range(0.5f, 1.2f); break; case 3: massClass = MassClass.Terran; mass = Random.Range(0.5f, 2f); radius = Random.Range(0.8f, 1.9f); break; case 4: massClass = MassClass.Superterran; mass = Random.Range(2f, 10f); radius = Random.Range(1.3f, 3.3f); break; case 5: massClass = MassClass.Neptunian; mass = Random.Range(10f, 50f); radius = Random.Range(2.1f, 5.7f); break; case 6: massClass = MassClass.Jovian; mass = Random.Range(50f, 5000f); radius = Random.Range(3.5f, 27f); break; default: break; } }
public PlanetaryObject(Transform sun, Transform planet, MassClass massClass) { _worldUnits = 0.005f; _sun = sun; _planet = planet; _massClass = massClass; _mass = Random.Range((float)_massClass.minMass, (float)_massClass.maxMass); _radius = Random.Range((float)_massClass.minRadius, (float)_massClass.maxRadius); _planet.position = Vector3.left * ((float)_radius * 5); Vector3 newScale = new Vector3(_worldUnits, _worldUnits, _worldUnits) * (float)_mass; _planet.localScale = new Vector3(1f, 1f, 1f) + newScale; }
public void Open(string file) { string s = ""; FileModel filemodel = new FileModel(); StreamReader sr = new StreamReader(file); while (sr.EndOfStream != true) { s = sr.ReadLine(); } MassClass massclass = new MassClass(Num, s); StringMass = massclass.StringMass(); LengthMass = massclass.LengthMass(); LengthAllMass = massclass.LengthAllMass(); sr.Close(); }
public IPlanetarySystem Create(double mass) { List <IPlanetaryObject> planetaryObjects = new List <IPlanetaryObject>(); GameObject sun = Instantiate(planet, Vector3.zero, Quaternion.identity); double currentMass = 0f; while (currentMass <= mass) { MassClassEnum currentMassClass = (MassClassEnum)UnityEngine.Random.Range(0, massClasses.Count); MassClass massClass = massClasses[currentMassClass]; GameObject newPlanet = Instantiate(planet, Vector3.zero, Quaternion.identity); PlanetaryObject planetaryObject = new PlanetaryObject(sun.transform, newPlanet.transform, massClass); planetaryObjects.Add(planetaryObject); currentMass += planetaryObject.mass; } Debug.Log(planetaryObjects.Count); return(new PlanetarySystem(planetaryObjects)); }
public SpringClass(MassClass newMass1, MassClass newMass2, float t_hold) { m1 = newMass1; m2 = newMass2; threashold = t_hold; }