Hogyan építsünk egy sima görbe, amelynek ponthalmaz
- iOS
- algoritmusok
- játékfejlesztés
A feladat a következő: a felhasználó végez ujját a képernyőn, és a következő ujját a képernyőn megjelenítendő szép sima görbe. Példaként lehet látni, hogy a program működik ipad utolsó előtti. Vannak kapott nagyon szép sorban.
Sach I építeni szegmenseiben a görbét, amely a köbös Bezier görbéket. Próbáltam különböző lehetőségeket. Eddig a legjobb pontszámot kapott két módja van:
1) Segmety kialakítva és minden pár között kapott pontok a felhasználó (az első és a második, majd a második és a harmadik, stb). A hiányzó pontok körülbelül számítanak matematikailag.
Pont így gondolom:
Pi „= (Pi + 1 - Pi-1) / a (i = 2..n-1)
ahol Pi - pont származó felhasználói, és a B1i és b2i - a kívánt ponton.
A lényeg: a görbe határozottan ott van, de nem sima. Vagy nem várok igaz pont vagy módszer nem a legjobb.
2) Mind a négy pont egy sor kap szegmens nyert a felhasználó. Annak elkerülése érdekében, éles szélek az egymással szomszédos szegmensek tolódik második pont az aktuális szegmens helyzete alapján a harmadik pont az előző (úgy, hogy a 3. és 4. pont az előző szegmens, valamint a 2. aktuális feküdt egy egyenes vonal pontot).
Az eredmény: nem jobb, mint az első esetben.
Hogyan lehet, hogy a görbe simább volt, mint az utolsó előtti?
Azt javaslom, hogy egy hibrid. Következtetés: Az egyenlet a görbe, a sorrendben a simaság, hogy Ön kényelmesen és kimeneti egyenes egyenlete. Körülbelül érintse pont egy első típusú görbe, a második távolságot. Mi szabályozza ezt a folyamatot a súlyfüggvény, amely a távolságtól függ, hogy a legközelebbi pont:
(1-P®) * f1 (x) + P® * f2 (x). Amikor eltávolítása R - nagy, az eredmény a f2 (x). Amikor a vágy arra a pontra, f1 eredményt. A kettő között, összegezzük funkciót. A súlyfüggvény 0-1.
Továbbra is választani súlyfüggvény, ideális, hogy összekapcsolják a simaság és egyenesség pont közelében két pont között. Ez a megközelítés jól működik néhány térkép feladatokat.
A kérdésre adott válasz
Jelentkezzen válaszolhat
- Tolyatti
- Teljes munkaidőben
- 60 000-90 000 rubelt.
- Moszkva
- Teljes munkaidőben
- 40 000 rubelt.
- Moszkva
- Teljes munkaidőben
- 150 000-180 000 rubelt.
- Moszkva
- Teljes munkaidőben
- 150 000-180 000 rubelt.
50000 dörzsölje. / Per projekt
50000 dörzsölje. / Per projekt
Bejelentkezés
Feltenni egy kérdést, és kap egy szakértő választ.