Analitička geometrija i C# programiranje dio 2/n


U prethodnom dijelu smo dali osnovne teorijske osnove za implementaciju problema analitičke geometrije.

Problem 2: Pripadnost tačke kružnom segmentu?

tacka_u_kruznom_segmentu
Posmatrajmo gornju sliku na kojoj imamo kružni isječak, iz kojeg su povučene zrake z1 i z2. Pretpostavimo također da imamo tačku A koja se nalazi u kružnom isječku, dok tačka B se nalazi izvan isječka. Da bi odredili pripadnost tačke kružnom isječku potrebno je provjeriti sljedeće:

1. da se tačka nalazi s desne strane zrake z1

2. da se tačka nalazi sa lijeve strane zrake z2

3. da je dužina iz centra isječka do tačke A manja ili jednaka od radijusa kružnog isječka.

U koliko su sva tri uslova ispunjena, tada se tačka nalazi u kružnom isječku.

Kako smo već u prethodnom postu implementirali metodu za određivanje strane tačke, potrebno je još samo implementirati 3 slučaj.

/// <summary>
///
/// </summary>
/// <param name="a">posmatrana tačka</param>
/// <param name="o1">centar kruđnog isječka</param>
/// <param name="radius">radijus kružnog isječka</param>
/// <returns>tru ako je duzina manja od radijusa</returns>
bool isLessThanRadius(Point a, Point o1, float radius)
{
    float length= (float)Math.Sqrt((a.x-o1.x)*(a.x-o1.x) + (a.y-o1.y)*(a.y-o1.y));

    if (radius >= length)
        return true;
    else
        return false;
}

Na kraju je potrebno implementirati metodu koja će objediniti sva tri slučaja u vratiti true ako sva tri slučaja vrate true, u protivnom će vratiti false.

Ostavlja se čitaocu da sublimira prethodnu i ovu implementaciju shodno zaključcima.

Advertisements

About Bahrudin Hrnjica

PhD in Mechanical Engineering, Microsoft MVP for Visual Studio and Development Technologies. Likes .NET, Math,Data Science, Evolutionary Algorithms, Machine Learning, Blogging.

Posted on 05/05/2014, in .NET, C#, Programiranje, Windows 8 and tagged , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s