public bool Prost() { // domaci 4 - proveri da li je prost int Br_temena; Br_temena = Temena.Length; Duz[] Stranice = new Duz[Br_temena]; for (int i = 0; i < Br_temena - 1; i++) { Stranice[i] = new Duz(Temena[i], Temena[i + 1]); } Stranice[Br_temena - 1] = new Duz(Temena[Br_temena - 1], Temena[0]); // Da li se stranice seku: s0 for (int i = 0; i < Br_temena - 2; i++) { for (int j = i + 2; j < Br_temena - (i == 0 ? 1 : 0); j++) { // ovo moze i ovako da izgleda: if (Duz.Sece(Stranice[i], Stranice[j])) return false; // samo onda metoda mora da bude drugacije deklarisana if (Stranice[i].Sece(Stranice[j])) { Console.WriteLine("problematicno " + i + ", " + j); return(false); } } } return(true); }
public Vektor(Duz a) { Tacka A = a.A; Tacka B = a.B; x = B.x - A.x; y = B.y - A.y; }
public bool Sece(Duz b) { if ((Ravan.Sis(this, b.A, b.B) == 1) || (Ravan.Sis(b, A, B) == 1)) { return(false); } else { return(true); } }
public static int Sis(Duz a, Tacka C, Tacka D) { Vektor AB = new Vektor(a.A, a.B); Vektor AC = new Vektor(a.A, C); double a_C = Vektor.vektorski(AB, AC); Vektor AD = new Vektor(a.A, D); double a_D = Vektor.vektorski(AB, AD); /* if (a_C * a_D > 0) return true; * else return false;*/ return(Math.Sign(a_C * a_D)); }
public Kvadrat(Tacka t1, Tacka t2) { if (t1.X == t2.X || t1.X == t2.Y) { Duz temp = new Duz(t1, t2); this.duzina = temp.Duzina(); } else { Duz temp = new Duz(t1, t2); duzina = temp.Duzina() / Math.Sqrt(2); } t = new Tacka(Math.Min(t1.X, t2.X), Math.Min(t1.Y, t2.Y)); }
static void Main(string[] args) { Tacka a1 = new Tacka(1, 2); Tacka a2 = new Tacka(3, 4); Duz d = new Duz(a1, a2); a2.X = 5; a2.Y = 6; Console.WriteLine(d); //Zato sto polja u duzi pokazuju na originalna polja; Tako sto cemo u konstruktoru napraviti novo polje tacke; Zavisi od slucaja do slucaja; //Mozemo napraviti objekat klase duz, sa istim tackama, i ta duz ce imati duzinu 0; //Imacemo isti slucaj kao prethodno }
static void Main(string[] args) { // Tacka T1, T2; Tacka T1 = new Tacka(3, 4); Tacka T2 = new Tacka(5, 6); Console.WriteLine("Pre flip:\n\tT1: " + T1 + "\n\tT2: " + T2); T1.FlipHorizontalno(); T1.FlipVertikalno(); Console.WriteLine("Posle flip:\n\tT1: " + T1 + "\n\tT2: " + T2); Duz D1 = new Duz(T1, T2); Console.WriteLine("Duz: " + D1); D1.FlipHorizontalno(); D1.FlipVertikalno(); Console.WriteLine("Duz posle flip: " + D1); Console.WriteLine("Tacke posle flip duz: " + T1 + T2); double d = new Double(); d = 12; Kvadrat k1 = new Kvadrat(); Kvadrat k2 = new Kvadrat(T1, d); Kvadrat k3 = new Kvadrat(T1); Kvadrat k4 = new Kvadrat(d); Kvadrat k5 = new Kvadrat(T1, T2); Console.WriteLine(k1); Console.WriteLine(k2); k2.FlipHorizontalno(); k2.FlipVertikalno(); Console.WriteLine(k2); Console.WriteLine(k3); Console.WriteLine(k4); Console.WriteLine(k5); Console.WriteLine(k2.GetPovrsina()); Console.WriteLine(k2.GetObim()); Console.WriteLine(k2.Nacrtaj()); Tacka t = null; Console.WriteLine("nesto: " + t); }
public static double ugao_duz(Duz a, Duz b) { Vektor prvi = new Vektor(a.A, a.B); return(0); }