DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Membuat Fungsi Check Point Is Inside Rectangle Area

advertisement
    Pada kesempatan kali, saya akan membagikan sebuah fungsi yang bisa kalian gunakan untuk menentukan apakah sebuah titik kordinat ada di sebuah area tertentu. Fungsi ini bisa kalian implementasikan untuk memgembangkan game, membuat aplikasi map area dan lain sebagainya. Gambaran fungsi yang ingin saya bagikan kurang lebih seperti gambar berikut.
Check point is inside rectangle or not
Fungsi tersebut akan mengembalikan nilai berupa boolean true atau false. Baik kita langsung saja ke tutorialnya. Disini saya membuat fungsi tersebut dengan bahasa pemrograman java tapi karena saya tidak tahu bahasa pemrograman yang sedang kalian gunakan jadi saya sertakan pseoucodenya.
1. Peseoudo Code
Begin
  Private Function area(x1 as decimal,y1 as decimal,x2 as decimal, y2 as decimal,x3 as decimal,y3 as decimal) as Float
      Return Math.Absolute((x1 * (y2 - y3) +x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0)
  End Function
  
  Public Function CheckPointIsInsideRectangle(x1 as decimal, y1 as decimal, x2 as decimal, y2 as decimal, x3 as decimal, y3 as decimal, x4 as decimal, y4 as decimal, x as decimal, y as decimal) as Boolead
  		variable A = area(x1, y1, x2, y2, x3, y3)+ area(x1, y1, x4, y4, x3, y3)
        variable A1 = area(x, y, x1, y1, x2, y2)
        variable A2 = area(x, y, x2, y2, x3, y3)
        variable A3 = area(x, y, x3, y3, x4, y4)
        variable A4 = area(x, y, x1, y1, x4, y4)
        return (A == A1 + A2 + A3 + A4)
  End Function
End
Disini kita akan menggunakan fungsi CheckPointIsInsideRectangle untuk mengecek apakah sebuah point berada di dalam rectangle atau tidak. Fungsi CheckPointIsInsideRectangle memiliki parameter berupa titik koordinat sudut rectanglenya dan titik koordinat yang ingin kita cek. Sekarang kita coba implementasikan dengan bahasa pemrograman java, codenya akan seperti ini.
2. Java Code
package com.project.framework.mvp.utils;

public class PointIsOnRectangle {
    static float area(double x1, double y1, double x2,
                      double y2, double x3, double y3)
    {
        return (float)Math.abs((x1 * (y2 - y3) +
                x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0);
    }
    public static boolean Check(double x1, double y1, double x2, double y2,
                                double x3, double y3, double x4, double y4, double x, double y)
    {
        float A = area(x1, y1, x2, y2, x3, y3)+
                area(x1, y1, x4, y4, x3, y3);
        float A1 = area(x, y, x1, y1, x2, y2);
        float A2 = area(x, y, x2, y2, x3, y3);
        float A3 = area(x, y, x3, y3, x4, y4);
        float A4 = area(x, y, x1, y1, x4, y4);
        return (A == A1 + A2 + A3 + A4);
    }
}
Cara memanggil dan menggunakan fungsi tersebut, seperti code berikut ini.
   if(PointIsOnRectangle.Check(kotak.latitudeA,kotak.longitudeA,kotak.latitudeB,kotak.longitudeB,kotak.latitudeC,kotak.longitudeC,kotak.latitudeD,kotak.longitudeD, point.latitude,point.longitude))
   {
		System.out.println("Point di dalam kotak")
   }
   else
   {
   		System.out.println("Point di luar kotak")
   }
    
    Sampai disini dulu tutorial membuat  fungsi cek point is inside rectacle area . Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck!
advertisement



0 Komentar untuk " Membuat Fungsi Check Point Is Inside Rectangle Area "

Silahkan berkomentar dengan baik dan bijak!