public void LuuDuongVaDiem(string _diem, string _diemdau, string _diemsau)
        {
            //Lưu đỉêm
            Diem diem = new Diem();
            diem.Ten = _diem;
            LuuDiem.Add(diem);
            //Lưu đường
            DuongThang dt = new DuongThang();
            Diem diemdau = new Diem();
            diemdau.Ten = _diemdau;
            dt.DiemDau = diemdau;

            Diem diemsau = new Diem();
            diemsau.Ten = _diemsau;
            dt.DiemCuoi = diemsau;
            LuuDuong.Add(dt);
        }
Ejemplo n.º 2
0
 public bool KiemTraDuongTonTai(DuongThang dt)
 {
     foreach (DuongThang duong in duongColl)
     {
         if (dt.DiemDau.Ten == duong.DiemDau.Ten && dt.DiemCuoi.Ten == duong.DiemCuoi.Ten)
         {
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 3
0
        private void VeDijkstra_MouseDown(object sender, MouseEventArgs e)
        {
            //Vẽ điểm          
            if (Dangve == true)
            {
                Diem diem = new Diem();
                diem.A = e.X;
                diem.B = e.Y;
                diem.Ten = thutu_diem.ToString();
                diemColl.Add(diem);
                thutu_diem++;
                Invalidate();
                return;
         //       Dangve = false;
            }
            //Xóa điểm
           

            //Vẽ đường
            Diem kq = new Diem();
            kq = KiemTraDiem_ThuocDiem(e.X, e.Y);
            if (kq != null)
            {
                if (DiemBatDau == "")
                {
                    x1 = kq.A+5;
                    y1 = kq.B+5;
                    DiemBatDau = kq.Ten.ToString();
                    return;
                }
                if (DiemCuoi == "")
                {
                   
                    x2 = kq.A+5;
                    y2 = kq.B+5;
                    DiemCuoi = kq.Ten.ToString();
           
                    //Gán đừơng thẳng và đưa vào Coll
                    DuongThang dt = new DuongThang();                
                    Diem temp = new Diem();
                    temp.A = x1;
                    temp.B = y1;
                    temp.Ten = DiemBatDau;
                    dt.DiemDau = temp;
                    Diem temp1 = new Diem();
                    temp1.A = x2;
                    temp1.B = y2;
                    temp1.Ten = DiemCuoi;
                    dt.DiemCuoi = temp1;
                    int dodai =(int) Math.Sqrt(Math.Pow((dt.DiemDau.A - dt.DiemCuoi.A),2) + Math.Pow((dt.DiemDau.B - dt.DiemCuoi.B),2));
                    dt.ChieuDai = dodai;  
                    if(KiemTraDuongTonTai(dt)!=true &&DiemBatDau!=DiemCuoi)
                        duongColl.Add(dt);    
                    //Nếu là đường vô hướng
                    if (CoHuong == false)
                    {
                        dt = new DuongThang();
                        temp = new Diem();
                        temp1 = new Diem();
                        temp.A = x1;
                        temp.B = y1;
                        temp.Ten = DiemCuoi;
                        dt.DiemDau = temp;

                        temp1.A = x2;
                        temp1.B = y2;
                        temp1.Ten = DiemBatDau;
                        dt.DiemCuoi = temp1;
                        dodai = (int)Math.Sqrt(Math.Pow((dt.DiemDau.A - dt.DiemCuoi.A), 2) + Math.Pow((dt.DiemDau.B - dt.DiemCuoi.B), 2));
                        dt.ChieuDai = dodai;
                        if (KiemTraDuongTonTai(dt) != true && DiemBatDau != DiemCuoi)
                            duongColl.Add(dt);
                    }
                    Invalidate();
                    DiemBatDau = "";
                    DiemCuoi = "";
                }

            }
        }       
 public void Add(DuongThang duongthang)
 {
     List.Add(duongthang);
 }