{"id":4024,"date":"2019-05-11T13:55:27","date_gmt":"2019-05-11T10:55:27","guid":{"rendered":"http:\/\/spektrum.fi\/spektraklet\/?p=4024"},"modified":"2022-01-04T16:07:52","modified_gmt":"2022-01-04T13:07:52","slug":"att-simulera-darts","status":"publish","type":"post","link":"http:\/\/spektrum.fi\/spektraklet\/att-simulera-darts\/","title":{"rendered":"Att simulera darts"},"content":{"rendered":"\n<p>\u00c4r du intresserad av att g\u00e5 p\u00e5 idrottsevenemang men \u00e4r tr\u00f6tt p\u00e5 de h\u00f6ga biljettpriserna? G\u00f6r d\u00e5 som jag och simulera din favoritsport p\u00e5 datorn! F\u00f6rutom att det \u00e4r gratis s\u00e5 f\u00e5r du sj\u00e4lv styra slutresultatet, allts\u00e5 finns det endast f\u00f6rdelar med detta. I det h\u00e4r inl\u00e4gget kommer jag att ber\u00e4tta om mitt simuleringsprogram och ett par resultat jag kom fram till.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tavlan<\/h2>\n\n\n\n<p>Jag konstruerade tavlan enligt de dimensioner som definieras av WDF, dvs. World Darts Federation. Problemet med detta var att j\u00e4rnvajrarna som begr\u00e4nsar tavlans omr\u00e5den i verkligheten har en viss tjocklek, vilket skulle ha varit arbetsdrygt att ta i beaktande. Detta kan ha en liten betydelse d\u00e5 det g\u00e4ller bredden p\u00e5 trippelringen i min tavla j\u00e4mf\u00f6rt med dess verkliga bredd. Annars motsvarar min tavla en riktig darttavla.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/tavla.png\" alt=\"\" class=\"wp-image-4029\" srcset=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/tavla.png 640w, http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/tavla-300x225.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><figcaption>Det \u00e4r m\u00f6jligt att double- och treble-ringarna \u00e4r aningen smalare \u00e4n i verkligheten.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kastens avvikelse<\/h2>\n\n\n\n<p>F\u00f6r att simulera kast och tr\u00e4ffar l\u00e4t jag varje kast avvika med avst\u00e5ndet <img src='http:\/\/s0.wp.com\/latex.php?latex=r&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='r' title='r' class='latex' \/> i en slumpm\u00e4ssig riktning fr\u00e5n den egentliga siktpunkten, d\u00e4r <img src='http:\/\/s0.wp.com\/latex.php?latex=r&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='r' title='r' class='latex' \/> \u00e4r ett slumpm\u00e4ssigt tal i <img src='http:\/\/s0.wp.com\/latex.php?latex=%5B0%2C+R%5D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='[0, R]' title='[0, R]' class='latex' \/> och <img src='http:\/\/s0.wp.com\/latex.php?latex=R&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='R' title='R' class='latex' \/> \u00e4r ett tal som i f\u00f6rv\u00e4g valts som maximal kastavvikelse. Denna metod fungerar relativt bra eftersom kasten hamnar d\u00e5 i en cirkel med flest tr\u00e4ffar n\u00e4ra punkten man siktar p\u00e5. Det som \u00e4r dock nackdelen \u00e4r att man i verkligheten har st\u00f6rre missar i lodr\u00e4t riktning j\u00e4mf\u00f6rt med v\u00e5gr\u00e4t riktning. D\u00e4rmed en b\u00e4ttre approximering skulle ha varit att konstruera kastcirkeln som en ellips.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"485\" height=\"188\" src=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/kod.png\" alt=\"\" class=\"wp-image-4038\" srcset=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/kod.png 485w, http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/kod-300x116.png 300w\" sizes=\"(max-width: 485px) 100vw, 485px\" \/><figcaption>Funktionen tar in en siktpunkt och en avvikelse som pol\u00e4ra koordinater <img src='http:\/\/s0.wp.com\/latex.php?latex=%28%5Ctheta%2C+r%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(\\theta, r)' title='(\\theta, r)' class='latex' \/>, ber\u00e4knar dess summa och ger tillbaka den egentliga tr\u00e4ffpunkten som en ny pol\u00e4r koordinat.<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Resultat<\/h2>\n\n\n\n<p>D\u00e5 jag hade programmerat alla n\u00f6dv\u00e4ndiga funktioner som gjorde det m\u00f6jligt att visa och r\u00e4kna po\u00e4ng b\u00f6rjade jag med simuleringarna f\u00f6r att testa olika strategier. Som f\u00f6rst ville jag j\u00e4mf\u00f6ra olika omr\u00e5den p\u00e5 tavlan tillsammans med olika spridningar. Omr\u00e5dena var T20, T19, Bull samt omr\u00e5det T11\/T14. Mellan T11 och T14 \u00e4r ett omr\u00e5de jag ibland siktar p\u00e5 eftersom det \u00e4r ett v\u00e4ldigt stabilt omr\u00e5de. Om mitt kast \u00e4r d\u00e5ligt f\u00e5r jag \u00e4nd\u00e5 antagligen 8 eller 9 (se bild 1). Spridningarna jag testade p\u00e5 dessa omr\u00e5den var 2 cm, vilket motsvarar ungef\u00e4r professionella spelarnas kast, 5 cm, som motsvarar ungef\u00e4r mina kast, samt 17 cm vilket \u00e4r tavlans radie. P\u00e5 varje omr\u00e5de med varje spridning simulerade jag 1000 spel (totalt 12000), d\u00e4r ett spel g\u00e5r ut p\u00e5 att man kastar turer p\u00e5 tre pilar tills man g\u00e5r \u00f6ver 500p. Sedan j\u00e4mf\u00f6rde jag medelv\u00e4rdet av antalet turer som kr\u00e4vdes, och resultatet var f\u00f6ljande:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td><strong>T20<\/strong><\/td><td><strong>T19<\/strong><\/td><td><strong>Bull<\/strong><\/td><td><strong>T11\/T14<\/strong><\/td><\/tr><tr><td><strong>2 cm<\/strong><\/td><td>5.275<\/td><td>5.52<\/td><td>6.074<\/td><td>7.806<\/td><\/tr><tr><td><strong>5 cm<\/strong><\/td><td>9.01<\/td><td>9.045<\/td><td>9.656<\/td><td>10.296<\/td><\/tr><tr><td><strong>17 cm<\/strong><\/td><td>15.172<\/td><td>14.831<\/td><td>12.247<\/td><td>15.852<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Kom ih\u00e5g att mindre v\u00e4rden \u00e4r b\u00e4ttre. Fr\u00e5n tabellen ser vi orsaken varf\u00f6r professionella siktar mer eller mindre alltid p\u00e5 T20. D\u00e5 spridningen blir tillr\u00e4ckligt stor (v\u00e4ldigt stor) l\u00f6nar det sig dock att sikta p\u00e5 bullen eftersom m\u00e5nga pilar annars hamnar utanf\u00f6r tavlan.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/500-bild1.png\" alt=\"\" class=\"wp-image-4030\" srcset=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/500-bild1.png 640w, http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2019\/05\/500-bild1-300x225.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><figcaption>S\u00e5 h\u00e4r s\u00e5g tavlan ut efter en simulering d\u00e4r man kastat et antal kast mot T20, T19, Bull och T11\/T14.<\/figcaption><\/figure>\n\n\n\n<p>Den huvudsakliga po\u00e4ngen \u00e4r dock inte simuleringarnas resultat, utan fr\u00e4mst att simulationen var en rolig utmaning f\u00f6r mig. D\u00e5 man b\u00f6rjar vara tr\u00f6tt p\u00e5 studierna (eller livet) kan det vara bra f\u00f6r sin egen motivation att utf\u00f6ra ett projekt som tangerar b\u00e5de ens studier och fritidsintressen. Under tiden jag kodade darttavlan l\u00e4rde jag mig nya saker b\u00e5de inom matematik och programmering, och jag kommer inte p\u00e5 ett b\u00e4ttre s\u00e4tt att g\u00f6ra detta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c4r du intresserad av att g\u00e5 p\u00e5 idrottsevenemang men \u00e4r tr\u00f6tt p\u00e5 de h\u00f6ga biljettpriserna? G\u00f6r d\u00e5 som jag och simulera din favoritsport p\u00e5 datorn! F\u00f6rutom att det \u00e4r gratis s\u00e5 f\u00e5r du sj\u00e4lv styra slutresultatet, allts\u00e5 finns det endast f\u00f6rdelar med detta. I det h\u00e4r inl\u00e4gget kommer jag att ber\u00e4tta om mitt simuleringsprogram och &hellip; <a href=\"http:\/\/spektrum.fi\/spektraklet\/att-simulera-darts\/\" class=\"more-link\">Forts\u00e4tt l\u00e4sa <span class=\"screen-reader-text\">Att simulera darts<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":23,"featured_media":4030,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142,42],"tags":[151,152],"_links":{"self":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/4024"}],"collection":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/comments?post=4024"}],"version-history":[{"count":10,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/4024\/revisions"}],"predecessor-version":[{"id":5935,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/4024\/revisions\/5935"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media\/4030"}],"wp:attachment":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media?parent=4024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/categories?post=4024"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/tags?post=4024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}