Kezdőoldal » Számítástechnika » Programozás » Hogyan jöjjön rá a program,...

Hogyan jöjjön rá a program, hogy egy sokszög konvex vagy konkáv e?

Figyelt kérdés

Van egy progi amiben létrehozhtok vertexeket amik összekötődnek magától.Minnél több vertexet csinálok annál több szögű lesz a polygon.


A vertexeket a kurzorral át tudom helyezni x,y irányban így változik a polygon alakja is.


Azt akarom megvalósítani,hogy ha a polygon konkáv akkor azt a peogi írja ki ha konvex akkor pedig azt.


Mi a képlet erre szavakba öntve(nem számokba)?


2013. szept. 27. 01:28
 1/5 anonim ***** válasza:

Ha egy sokszög konvex, akkor bármely 2 csúcsa között húzott egyenes a sokszögön belül fut. Talán ezt kéne valahogy kihasználni.

Bár ez így még nem túl konkrét, nincs igazán ötletem milyen képlettel lehetne meghatározni hogy az a vonal a sokszögön belül fut-e :/

2013. szept. 27. 02:31
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
57%

To find if a set of points give a convex or a concave polygon you can calculate the convex hull of the points. If all the points are on the convex hull then it is obvious that the polygon is convex. If the number of points on the convex hull is smaller of the total numbers of points then the polygon is concave. To calculate the convex hull you can use the gift wrapping algorithm. This is the simplest convex hull algorithm to implements but it is not the most efficient.For your case (100 points max) this should be enough. In the algorithm, computing the real polar angles can be not easy. A clever way to compute it is to take the determinant of two points (a 2x2 matrix) and sort these values.


[link]



forrás:

[link]

2013. szept. 27. 02:37
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Olyan kéne ami több mint 100 vagy akár 1000 pont esetében is meghatározza,hogy konvex vagy konkáv e.


Elég ha megkapom a képletet.

2013. okt. 5. 03:44
 4/5 anonim ***** válasza:

Egyenkénti hozzávétellel a konvex burok időigénye O(n log n).

Azaz:

10 pont esetén 10 időegység

100 pont esetén 200

1000 pont esetén 3000

10 000 pont esetén 40 000

2013. okt. 5. 21:27
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Csomagkötöző algoritmus, itt kell egyenként hozzávenni a pontokat:

[link]

Gyorsabbat nem is fogsz találni.

2013. okt. 5. 21:30
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!