public double Euklid(Aerodrom a) { double disX = this.kord.Item1 - a.kord.Item1; double disY = this.kord.Item2 - a.kord.Item2; return(Math.Sqrt(disX * disX + disY * disY)); }
public double Rastojanje(Aerodrom a) //vraca rastojanje u kilometrima { double R = 6400; //aproksimacija da je Zemlja lopta poluprecnika 6400km double thisRad1 = this.kord.Item1 / (2 * Math.PI); double thisRad2 = this.kord.Item2 / (2 * Math.PI); double rad1 = a.kord.Item1; double rad2 = a.kord.Item2; if (rad1 == thisRad1 && rad2 == thisRad2) { return(0); } double thisZ = R * Math.Sin(thisRad2); double thisX = R * Math.Cos(thisRad2) * Math.Sin(thisRad1); double thisY = R * Math.Cos(thisRad2) * Math.Cos(thisRad1); double Z = R * Math.Sin(rad2); double X = R * Math.Cos(rad2) * Math.Sin(rad1); double Y = R * Math.Cos(rad2) * Math.Cos(rad1); double EuclidDis = Math.Sqrt((X - thisX) * (X - thisX) + (Y - thisY) * (Y - thisY) + (Z - thisZ) * (Z - thisZ)); double sin_HalfAlpha = EuclidDis / (2 * R); double cos_HalfAlpha = Math.Sqrt(1 - sin_HalfAlpha * sin_HalfAlpha); double sin_Alpha = 2 * sin_HalfAlpha * cos_HalfAlpha; double Alpha = Math.Asin(sin_Alpha); return(R * Alpha); }
/*public Aerodrom(string imeAerodroma, Tuple<double,double> kord) * { * this.imeAerodroma = imeAerodroma; * this.kord = kord; * this.parkingM = null; * this.cenaPoGejtu = 1; * }*/ public Aerodrom(Aerodrom a) { this.imeAerodroma = a.imeAerodroma; this.parkingM = a.parkingM; this.kord = a.kord; this.cenaPoGejtu = a.cenaPoGejtu; }
public AvionskaLinija(Aerodrom poc, Aerodrom kr, int r, int b, int[,] ras) { pocetniAerodrom = poc; krajnjiAerodrom = kr; razdaljina = r; letovi = new List <Let>(); prosecanbrputnika = b; int [,] raspored = new int[ras.GetLength(0), ras.GetLength(1)]; for (int i = 0; i < ras.GetLength(0); i++) { for (int j = 0; j < ras.GetLength(1); j++) { raspored[i, j] = ras[i, j]; } } }
public AvionskaLinija(AvionskaLinija al) { pocetniAerodrom = al.pocetniAerodrom; krajnjiAerodrom = al.krajnjiAerodrom; razdaljina = al.razdaljina; letovi = new List <Let>(); prosecanbrputnika = al.prosecanbrputnika; int[,] raspored = new int[al.raspored.GetLength(0), al.raspored.GetLength(1)]; for (int i = 0; i < al.raspored.GetLength(0); i++) { for (int j = 0; j < al.raspored.GetLength(1); j++) { raspored[i, j] = al.raspored[i, j]; } } }
public double Ugao(Aerodrom b) { if (b.kord.Item1 == this.kord.Item1) { if (b.kord.Item2 > this.kord.Item2) { return(0); } else if (b.kord.Item2 == this.kord.Item2) { return(-1); } else { return(Math.PI); } } double disAB = Euklid(b); Tuple <double, double> c = new Tuple <double, double>(this.kord.Item1, this.kord.Item2 + disAB); double disBC = b.Euklid(c); double sin_HalfAlpha = disBC / (2 * disAB); double cos_HalfAlpha = Math.Sqrt(1 - sin_HalfAlpha * sin_HalfAlpha); double sin_Alpha = 2 * sin_HalfAlpha * cos_HalfAlpha; double Alpha = Math.Asin(sin_Alpha); if (this.kord.Item1 < b.kord.Item1) { return(Alpha); } else { return(2 * Math.PI - Alpha); } }
public ParkingMesto(ParkingMesto p) { dimenzije = p.dimenzije; CenaPoSatu = p.CenaPoSatu; this.a = p.a; }
public ParkingMesto(Dimenzije d, int c, Aerodrom a) { dimenzije = d; CenaPoSatu = c; this.a = a; }
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e) { //provera da li su aerodromi dobro izabrani int dosad = 0; for (int i = 0; i < checkedListBox1.Items.Count; i++) { CheckState st = checkedListBox1.GetItemCheckState(checkedListBox1.Items.IndexOf(i)); if (st == CheckState.Checked) { if (dosad >= 2) { drom_ok = false; } else { drom_ind[dosad] = i; dosad++; } } } if (!drom_ok) { duzinaPuta.Text = ""; validSve.Text = "Ne"; trajanjeLeta.Text = ""; return; } for (int i = 0; i < Form1.aerodromi.Count; i++) { if (Form1.aerodromi[i].ImeAerodroma == checkedListBox1.Items[drom_ind[0]]) { izabDrom[0] = new Aerodrom(Form1.aerodromi[i]); } if (Form1.aerodromi[i].ImeAerodroma == checkedListBox1.Items[drom_ind[1]]) { izabDrom[1] = new Aerodrom(Form1.aerodromi[i]); } } int duzPut = (int)(izabDrom[0].Rastojanje(izabDrom[1])); duzinaPuta.Text = duzPut.toString(); if (!avioni_ok) { validSve.Text = "Ne"; trajanjeLeta.Text = ""; return; } int duzina1 = (int)(duzPut / izabAvioni[0].Brzina); int duzina2 = (int)(duzPut / izabAvioni[1].Brzina); int duzina = (duzina1 + duzina2) / 2; if (duzina == 0) { duzina = 1; } trajanjeLeta.Text = duzina.ToString(); validSve.Text = "Da"; }
public double Rastojanje(Aerodrom a) { return(Math.Sqrt((kord.Item1 - a.kord.Item1) * (kord.Item1 - a.kord.Item1) + (kord.Item2 - a.kord.Item2) * (kord.Item2 - a.kord.Item2))); }