Ma na kapuai
1. Pai no ʻeono
Ka hoʻokumu ʻana i ka pilikia
He 4 kekona ka palena manawa.
He pai kāu. Ke nānā ʻia mai luna mai, ʻo ke ʻano o ka keke ke ʻano o kahi polygon convex. Hāʻawi ʻia iā ʻoe nā hoʻonohonoho o nā vertices ma X a me Y integers.
Elima ou hoa. Makemake ʻoe e puʻunaue i ka pai i ʻeono mau ʻāpana like (akā ʻaʻole pono ke ʻano like). ʻOiaʻiʻo, hiki i kekahi ke hana i ʻelima ʻoki, akā hiki i kahi pro ke hana i ʻekolu ʻoki.
E huli i ekolu oki ma na laina pololei ma kahi kiko e puunaue i ka pai i eono mau mahele like. E paʻi i {x, y, d1, d2, d3}, kahi (x, y) ka kiko maʻamau o nā ʻoki ʻekolu, a ʻo d1, d2, d3 nā kihi kuhikuhi o nā ʻoki ma nā radian.
DefinitionPapa: CakeForSix
Hana: ʻoki
Nā ʻāpana: int[], int[] Hoʻihoʻi: pālua[] pūlima hana: pālua[] ʻoki(int[] x, int[] y)
(e hōʻoia i ka lehulehu kāu ʻano hana)
Nā memo
- ʻO ka ʻaoʻao maikaʻi ma ka axis-x he 0 (radians), ʻo ka ʻaoʻao kūpono ma ka axis-y he pi/2 (radians).
- Ua like ke oki ma ka aoao d me ka oki ma ka aoao pi*k+d no kekahi huina helu k.
- Hiki iā ʻoe ke hoʻopuka i nā kuhikuhi, ʻaʻole pono lākou mai [0, pi).
- E helu ʻia ka ʻāpana o kāu mau ʻāpana keke ʻeono i pālua. E ʻae ʻia ka pane inā ʻoi aku ka liʻiliʻi o ka pili a i ʻole ka ʻokoʻa ma waena o lākou ma mua o 10^(-4).
- ʻOi aku ka pololei, e ʻae ʻo X a me Y ka liʻiliʻi a me ka nui o kāu mau ʻāpana ʻeono i helu ʻia e ka mea papa. A laila e ʻae ʻia kāu pane inā ʻo Y
- (ʻO ka mana kumu o ka pilikia i hoʻohana i ka pololei o 1e-7 ma kahi o 1e-4. No ka hoʻoponopono ʻana i kēia pilikia i loko o ka waihona, ua hoʻohaʻahaʻa ʻia ka palena pololei ma muli o ke kū ʻana o nā hihia kelepona i hiki ʻole ke hoʻonā i ka pilikia me ka pololei. o 1e-7. I loko o kahi honua maikaʻi, ʻaʻole ʻae nā palena i kēlā mau hihia a koi mau i ka pololei kiʻekiʻe, no laila ʻaʻole maʻalahi ka hoʻoponopono ʻana i ka pilikia me kekahi mau helu helu maʻamau.)
Nā palena
- x aia mai 3 a 50 mau mea komo.
- Loaʻa iā y ka helu like o nā mea me x.
- nā hoʻonohonoho āpau ma waena o 0 a me 10
- x a me y e wehewehe i ka polygon convex ma ka aoao kuekuki.
Kumu ma ka ʻōlelo Pelekania
Hōʻike pilikia
He 4 kekona ka palena manawa.
He keke kāu. ʻIke ʻia mai luna mai, he polygon convex ka keke. Hāʻawi ʻia iā ʻoe nā hoʻonohonoho o kona mau piko ma ka int[]sx a me y.
Elima ou hoa. Makemake ʻoe e ʻoki i ka keke i ʻeono mau ʻāpana like (akā ʻaʻole pono ke ʻano like). ʻOiaʻiʻo, hiki i kekahi ke hana i kēlā i nā ʻoki ʻelima - akā hiki i kahi pro maoli ke hana i ʻekolu!
E huli i ʻekolu ʻoki laina pololei e hele ana ma ka lae hoʻokahi i ʻoki ʻia ke keke i ʻeono mau ʻāpana like nui. E hoʻi {x, y, d1, d2, d3}, kahi (x, y) ka kiko maʻamau o nā ʻoki ʻekolu, a ʻo d1, d2, d3 ko lākou mau kuhikuhi ma nā radians.
Definition
Papa: CakeForSix
Hana: ʻoki
Nā ʻāpana: int[], int[] Hoʻihoʻi: pālua[] pūlima hana: pālua[] ʻoki(int[] x, int[] y)
(e hōʻoia i ka lehulehu kāu ʻano hana)
Notes
— ʻO ka ʻaoʻao maikaʻi ma ke koʻi x he 0 (radians), ʻo ka ʻaoʻao kūpono ma ke axis y he pi/2 (radians).
— Ua like ka oki ma ka aoao d me ka oki ma ka aoao pi*k+d no kekahi huina helu k.
— Hiki iā ʻoe ke hoʻihoʻi i nā kuhikuhi, ʻaʻole pono mai [0,pi).
— E helu ana ka mea papa i na wahi o kou mau apana keke eono i papalua. E ʻae ʻia ka pane inā ʻoi aku ka liʻiliʻi o ka pili a i ʻole ka ʻokoʻa ma waena o lākou ma mua o 10^(-4).
— ʻOi aku ka pololei, e lilo ʻo X a me Y ka mea liʻiliʻi a me ka nui loa o kāu mau ʻāpana ʻeono, e like me ka helu ʻana e ka mea papa. A laila, e ʻae ʻia kāu pane inā Y < max( X + 10^(-4), X * (1+10^(-4)) ).
- (Ua hoʻohana ka mana kumu o ka pilikia i ka pololei 1e-7 ma mua o ka 1e-4. No ka hoʻoponopono ʻana i kēia pilikia i loko o ka waihona, ua hoʻohaʻahaʻa ʻia ka palena pololei ma muli o ka loaʻa ʻana o nā hihia paʻakikī i hiki ke hoʻopau ʻia ka hana me ka pololei 1e-7. I loko o kahi honua maikaʻi, ʻaʻole e ʻae nā kaohi i kēlā mau hihia a ke koi mau nei i ka pololei kiʻekiʻe, no laila ʻaʻole maʻalahi ka hoʻoponopono ʻana i ka pilikia ma o kekahi mau helu helu helu.)
nā palena
— Loaʻa ka x ma waena o 3 a me 50 mau mea, komo.
— e like ana ka heluna o y me x.
- Aia nā hoʻonohonoho āpau ma waena o 0 a me 10,000.
- E wehewehe ana ka x a me y i ka polygon convex ma ke kaʻina ʻaoʻao ʻaoʻao.
examples
0)
{0, 20, 30, 50, 30, 20}
{10, 0, 0, 10, 20, 20}
Hoʻi mai:
{24.999999999437453, 9.999999999500002, 0.0, 0.7266423406817211, 2.4149503129080787 }
He hexagon like ʻole akā like ʻole. ʻO ka pane laʻana e pili ana i ka ʻoki ʻana i ka hapalua me ka ʻoki ʻana i ʻelua ʻoki ʻē aʻe i ke kikowaena e puʻunaue i kēlā me kēia ʻāpana i ʻekolu ʻāpana.
1)
{0, 1000, 0}
{0, 0, 1000}
Hoʻi mai:
{333.3333333331763, 333.3333333332546, 0.7853981633986264, 2.0344439357948154, 2.6779450445891753 }
huinakolu akau. Eia hou, hiki iā mākou ke hoʻomaka me kekahi o ʻekolu ʻoki ma ke axis o ka symmetry.
2)
{40, 70, 90, 90, 50}
{30, 20, 40, 100, 60}
Hoʻi mai:
{69.79517771922892, 52.77575974637605, 2.0616329654335885, 3.637826104091601, 4.32123485812475 }
Pentagon kūʻokoʻa.
3)
{300, 400, 300, 200}
{500, 600, 700, 600}
Hōʻike: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }
Ua hoʻololi ʻia kahi huinaha 45 degere.
[
Hiki i nā mea hoʻohana i hoʻopaʻa inoa ʻia ke komo i ka noiʻi.
Ua hoʻoholo wau i ka pilikia no
-
ma lalo o 10 mau minuke
-
NUMNUMX-10 mau minuke
-
NUMNUMX-30 mau minuke
-
Nā hola 1-2
-
ma mua o 2 hola
-
kekahi'ē aʻe
42 mea hoʻohana i koho. Ua hōʻole nā mea hoʻohana 47.
Source: www.habr.com