{"id":33652,"date":"2025-09-17T04:51:33","date_gmt":"2025-09-17T02:51:33","guid":{"rendered":"https:\/\/xmau.com\/wp\/notiziole\/?p=33652"},"modified":"2025-09-12T18:18:02","modified_gmt":"2025-09-12T16:18:02","slug":"come-generare-punti-casuali-dentro-un-triangolo","status":"publish","type":"post","link":"https:\/\/xmau.com\/notiziole\/2025\/09\/17\/come-generare-punti-casuali-dentro-un-triangolo\/","title":{"rendered":"Come generare punti casuali dentro un triangolo"},"content":{"rendered":"<p>John D. Cook <a href=\"https:\/\/www.johndcook.com\/blog\/2025\/09\/11\/random-inside-triangle\/\">mostra<\/a> alcuni metodi per generare punti casuali all&#8217;interno di un triangolo ABC dato. Possiamo immaginare di lavorare in coordinate cartesiane, per semplicit\u00e0, e quindi avere A, B e C come coppie ordinate di valori.<\/p>\n<p>Il metodo pi\u00f9 semplice \u00e8 quello di usare coordinate baricentriche: generate tre numeri casuali &alpha;, &beta; e &gamma; tra 0 e 1, normalizzateli per far s\u00ec che la loro somma sia 1, e date come risposta &alpha;A + &beta;B + &gamma;C. Il metodo genera punti che stanno tutti all&#8217;interno del triangolo: ma non sono uniformi, come si vede dalla figura qui sotto presa dal blog di Cook. I punti centrali del triangolo sono pi\u00f9 probabili di quelli vicino ai vertici.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/09\/triangle-bari.jpg?resize=640%2C480&#038;ssl=1\" alt=\"un triangolo generato casualmente con coordinate baricentriche.\" width=\"640\" height=\"480\" class=\"aligncenter size-full wp-image-33653\" srcset=\"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/09\/triangle-bari.jpg?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/09\/triangle-bari.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/09\/triangle-bari.jpg?resize=624%2C468&amp;ssl=1 624w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Il secondo metodo \u00e8 quello del rejection sampling. Costruite il rettangolo circoscritto al triangolo, generate due numeri casuali per la coordinata x e quella y, e controllate se il punto corrispondente sta all&#8217;interno del triangolo: se s\u00ec, bene, altrimenti lo buttate via. \u00c8 evidente che in questo modo i punti generati e accettati sono distribuiti in modo casuale, perch\u00e9 tutti quelli nel rettangolo lo sono: il costo computazionale \u00e8 di due insiemi di operazioni per numero scelto. <\/p>\n<p>C&#8217;\u00e8 poi un terzo metodo, quello del parallelogramma. Costruite un parallelogramma aggiungendo al triangolo una sua versione speculare, e generate punti a caso al suo interno, con la formula P = A + r\u2081\u00b7(B-A) + r\u2082\u00b7(C-A) dove r\u2081 e r\u2082 sono numeri casuali in [0,1]. Ora, se il punto generato si trova nel triangolo di partenza, e quindi  r\u2081 + r\u2082 &le; 1, bene; altrimenti prendete la sua immagine riflessa nel triangolo di partenza, usando (1-r\u2081, 1-r\u2082). Di nuovo, la casualit\u00e0 \u00e8 assicurata. Il tutto \u00e8 raccontato anche <a href=\"https:\/\/stackoverflow.com\/questions\/68493050\/sample-uniformly-random-points-within-a-triangle\">su Stack Overflow<\/a>. <\/p>\n<p>Quale conviene tra il secondo e il terzo metodo? Dipende. Se siete fanatici e sapete dove cercare &#8211; oppure siete molto intelligenti e l&#8217;avete trovato da soli &#8211; il parallelogramma \u00e8 la scelta migliore. Ma se avete fretta di implementare una soluzione e dovete generare poche centinaia di punti il rejection sampling va pi\u00f9 che bene: il costo \u00e8 il doppio dell&#8217;altro metodo, e quindi sopportabile.<\/p>\n<p>Due ultime note: nei commenti al post di Cook si fa notare come scegliere una distribuzione esponenziale anzich\u00e9 lineare dei numeri casuali fa funzionare anche il metodo delle coordinate baricentriche. Ma soprattutto ho provato a fare la domanda a Claude. Riporta i tre metodi (immagino perch\u00e9 addestrato su Stack Overflow) ma afferma che quello delle coordinate baricentiche \u00e8 <a href=\"https:\/\/claude.ai\/chat\/1d387ccd-445e-4450-a110-7fb5944b5634\">il metodo pi\u00f9 elegante ed efficiente<\/a>. Mai fidarsi degli LLM!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>pensare matematicamente aiuta a trovare soluzioni migliori<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1005,214],"tags":[],"class_list":["post-33652","post","type-post","status-publish","format-standard","hentry","category-matelight-2025","category-matematica_light"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/phh2yV-8KM","jetpack-related-posts":[{"id":30228,"url":"https:\/\/xmau.com\/notiziole\/2024\/12\/22\/quizzino-della-domenica-potenze\/","url_meta":{"origin":33652,"position":0},"title":"Quizzino della domenica: Potenze","author":".mau.","date":"2024-12-22","format":false,"excerpt":"Sapendo che 22 \u00d7 35 = 972, e definendo \u03b1 = log10 2, \u03b2 = log10 3, \u03b3 = log10 7, quale di questi cinque numeri \u00e8 pi\u00f9 vicino a una potenza di 10? (a) 2\u03b2 (b) 5\u03b1 + \u03b2 (c) \u03b1 + 2\u03b3 (d) 2\u03b1 + 5\u03b2 (e) 2\u03b1\u2026","rel":"","context":"In &quot;giochi&quot;","block_context":{"text":"giochi","link":"https:\/\/xmau.com\/notiziole\/category\/giochi\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6010,"url":"https:\/\/xmau.com\/notiziole\/2008\/05\/08\/il_teorema_di_p\/","url_meta":{"origin":33652,"position":1},"title":"Il teorema di Pick","author":".mau.","date":"2008-05-08","format":false,"excerpt":"Un buffo teorema dimostrato per filo e per segno","rel":"","context":"In &quot;matematica_light&quot;","block_context":{"text":"matematica_light","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29281,"url":"https:\/\/xmau.com\/notiziole\/2024\/07\/14\/quizzino-della-domenica-nove-punti\/","url_meta":{"origin":33652,"position":2},"title":"Quizzino della domenica: Nove punti","author":".mau.","date":"2024-07-14","format":false,"excerpt":"In un quadrato di area unitaria sono disegnati nove punti, e nessuna terna di punti \u00e8 collineare. Dimostrate che \u00e8 sempre possibile sceglierne tre in modo che l'area del triangolo di cui tali punti sono i vertici \u00e8 minore o uguale a 1\/8. (trovate un aiutino sul mio sito, alla\u2026","rel":"","context":"In &quot;giochi&quot;","block_context":{"text":"giochi","link":"https:\/\/xmau.com\/notiziole\/category\/giochi\/"},"img":{"alt_text":"un quadrato con nove punti al suo interno.","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2024\/07\/q704-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":25062,"url":"https:\/\/xmau.com\/notiziole\/2022\/10\/30\/quizzino-della-domenica-diimezza-triangolo\/","url_meta":{"origin":33652,"position":3},"title":"Quizzino della domenica: Dimezza il triangolo","author":".mau.","date":"2022-10-30","format":false,"excerpt":"Abbiamo due triangoli rettangoli isosceli di cartoncino A e B come in figura, con A strettamente maggiore di B. I due triangoli possono essere sovrapposti, ma non \u00e8 possibile segnarli in nessun modo. Come si pu\u00f2 trovare il punto medio dell'ipotenusa di B? (trovate un aiutino sul mio sito, alla\u2026","rel":"","context":"In &quot;giochi&quot;","block_context":{"text":"giochi","link":"https:\/\/xmau.com\/notiziole\/category\/giochi\/"},"img":{"alt_text":"i due triangoli","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2022\/10\/q615a.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":32363,"url":"https:\/\/xmau.com\/notiziole\/2025\/05\/07\/il-teorema-di-schinzel\/","url_meta":{"origin":33652,"position":4},"title":"Il teorema di Schinzel","author":".mau.","date":"2025-05-07","format":false,"excerpt":"Siete in grado di scrivere un'equazione esplicita di una circonferenza che passi per un numero predefinito di punti a coordinate intere?","rel":"","context":"In &quot;mate-light-2025&quot;","block_context":{"text":"mate-light-2025","link":"https:\/\/xmau.com\/notiziole\/category\/matematica_light\/matelight-2025\/"},"img":{"alt_text":"un cerchio che passa per quattro punti a coordinate intere","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/05\/schinzel-1024x725.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/05\/schinzel-1024x725.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2025\/05\/schinzel-1024x725.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":16088,"url":"https:\/\/xmau.com\/notiziole\/2018\/01\/28\/quizzino-della-domenica-triangolo-nel-triangolo\/","url_meta":{"origin":33652,"position":5},"title":"Quizzino della domenica: Triangolo nel triangolo","author":".mau.","date":"2018-01-28","format":false,"excerpt":"Nella figura qui sotto abbiamo un triangolo equilatero al cui interno \u00e8 disegnato un altro triangolo che ha un vertice in comune con quello di partenza e gli altri due nel punto medio di due lati (non entrambi passanti da quel vertice). Qual \u00e8 la sua area relativa a quella\u2026","rel":"","context":"In &quot;giochi&quot;","block_context":{"text":"giochi","link":"https:\/\/xmau.com\/notiziole\/category\/giochi\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/xmau.com\/notiziole\/wp-content\/uploads\/sites\/6\/2018\/01\/q298a.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/33652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/comments?post=33652"}],"version-history":[{"count":1,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/33652\/revisions"}],"predecessor-version":[{"id":33656,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/posts\/33652\/revisions\/33656"}],"wp:attachment":[{"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/media?parent=33652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/categories?post=33652"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xmau.com\/notiziole\/wp-json\/wp\/v2\/tags?post=33652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}