{"id":2439,"date":"2025-08-20T21:19:22","date_gmt":"2025-08-20T14:19:22","guid":{"rendered":"https:\/\/cb.ax\/blog\/?p=2439"},"modified":"2025-08-20T21:31:34","modified_gmt":"2025-08-20T14:31:34","slug":"pi-monte-carlo-simulation","status":"publish","type":"post","link":"https:\/\/cb.ax\/blog\/pi-monte-carlo-simulation\/","title":{"rendered":"\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e17\u0e33 Monte Carlo Simulation \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2b\u0e32\u0e04\u0e48\u0e32 Pi"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e04\u0e37\u0e2d\u0e44\u0e1b\u0e14\u0e39\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d\u0e02\u0e2d\u0e07 Vertasium \u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d\u0e19\u0e35\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e04\u0e38\u0e49\u0e19 \u0e46 \u0e27\u0e48\u0e32\u0e15\u0e2d\u0e19\u0e40\u0e23\u0e35\u0e22\u0e19\u0e21\u0e2b\u0e32\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e01\u0e47\u0e40\u0e04\u0e22\u0e17\u0e33\u0e2d\u0e30\u0e44\u0e23\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49 \u0e04\u0e37\u0e2d\u0e43\u0e0a\u0e49 Monte Carlo \u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e04\u0e48\u0e32 Pi \u0e41\u0e15\u0e48\u0e15\u0e2d\u0e19\u0e19\u0e31\u0e49\u0e19\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e04\u0e48\u0e2d\u0e22\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"The Strange Math That Predicts (Almost) Anything\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/KZeIEiBrT_w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e1e\u0e34\u0e48\u0e07\u0e21\u0e32\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e23\u0e34\u0e48\u0e21\u0e08\u0e32\u0e01\u0e25\u0e2d\u0e07\u0e25\u0e49\u0e32\u0e07\u0e2a\u0e21\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19 \u0e25\u0e37\u0e21\u0e44\u0e1b\u0e01\u0e48\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e23\u0e39\u0e49\u0e27\u0e48\u0e32\u0e04\u0e48\u0e32 Pi \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e17\u0e48\u0e32\u0e44\u0e2b\u0e23\u0e48 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e27\u0e48\u0e32\u0e04\u0e48\u0e32 Pi \u0e19\u0e31\u0e49\u0e19\u0e21\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e17\u0e48\u0e32\u0e44\u0e2b\u0e23\u0e48\u0e01\u0e31\u0e19\u0e41\u0e19\u0e48 \u0e41\u0e1a\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e40\u0e2d\u0e32\u0e01\u0e47\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e27\u0e34\u0e18\u0e35\u0e1a\u0e49\u0e32\u0e19 \u0e46 \u0e41\u0e1a\u0e1a Real World \u0e04\u0e37\u0e2d\u0e2b\u0e32\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21\u0e08\u0e15\u0e38\u0e23\u0e31\u0e2a\u0e21\u0e32 1 \u0e41\u0e1c\u0e48\u0e19 \u0e27\u0e32\u0e14\u0e27\u0e07\u0e01\u0e25\u0e21\u0e40\u0e15\u0e47\u0e21\u0e27\u0e07\u0e25\u0e07\u0e1a\u0e19\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e32\u0e1b\u0e32\u0e01\u0e01\u0e32\u0e21\u0e32\u0e2a\u0e38\u0e48\u0e21\u0e08\u0e34\u0e49\u0e21\u0e43\u0e19\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29 \u0e2a\u0e48\u0e38\u0e21\u0e44\u0e1b\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e22 \u0e46 \u0e42\u0e14\u0e22\u0e19\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e25\u0e07\u0e1a\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21 \u0e16\u0e49\u0e32\u0e15\u0e01\u0e1a\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21\u0e01\u0e47\u0e19\u0e31\u0e1a\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49 \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e2a\u0e38\u0e48\u0e21\u0e21\u0e32\u0e01\u0e1e\u0e2d \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e2d\u0e32\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e2a\u0e48\u0e27\u0e19\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21\u0e21\u0e32\u0e2d\u0e19\u0e38\u0e21\u0e32\u0e19\u0e41\u0e17\u0e19\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e2a\u0e48\u0e27\u0e19\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e02\u0e2d\u0e07\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21\u0e01\u0e31\u0e1a\u0e27\u0e07\u0e01\u0e25\u0e21 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e2d\u0e32\u0e21\u0e32\u0e2b\u0e32\u0e04\u0e48\u0e32 Pi \u0e44\u0e14\u0e49 \u0e2d\u0e31\u0e19\u0e19\u0e35\u0e49\u0e27\u0e34\u0e18\u0e35\u0e41\u0e1a\u0e1a Manual \u0e40\u0e25\u0e22<\/p>\n\n\n\n<!-- \u0e41\u0e17\u0e23\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27 -->\n\n<script id=\"MathJax-script\" async src=\"https:\/\/cdn.jsdelivr.net\/npm\/mathjax@3\/es5\/tex-mml-chtml.js\"><\/script>\n\n<!-- \u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e19\u0e35\u0e49\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35 <script> \u0e0b\u0e49\u0e33 -->\n<!-- \u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e16\u0e31\u0e14\u0e44\u0e1b\u0e01\u0e47\u0e43\u0e2a\u0e48\u0e2a\u0e39\u0e15\u0e23\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 -->\n<p>\n\\[ \u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21 = \u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29 (L*L)\\]\n\n\\[ \u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e35\u0e48\u0e27\u0e07\u0e01\u0e25\u0e21 = \\pi*r^2 \\]\n\n\\[ \\frac{\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21} = \\frac{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n\n\\[ \\frac{\\pi*r^2}{L*L} = \\frac{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n\n\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e35\u0e22\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21\u0e40\u0e15\u0e47\u0e21\u0e27\u0e07\u0e43\u0e19\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21\u0e08\u0e15\u0e38\u0e23\u0e31\u0e2a \u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49  L=2*r\n\n\\[ \\frac{\\pi*r^2}{(2*r)*(2*r)} = \\frac{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n\\[ \\frac{\\pi*r^2}{4*r^2} = \\frac{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n\\[ \\frac{\\pi}{4} = \\frac{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n\u0e2b\u0e23\u0e37\u0e2d\n\\[ \\pi= \\frac{4*\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e15\u0e01\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21}{\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14} \\]\n<\/p>\n\n\n\n\n\n<p class=\"wp-block-paragraph\">\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e2a\u0e38\u0e48\u0e21\u0e08\u0e33\u0e19\u0e27\u0e19\u0e21\u0e32\u0e01\u0e1e\u0e2d (\u0e40\u0e2d\u0e32\u0e1b\u0e32\u0e01\u0e01\u0e32\u0e08\u0e34\u0e49\u0e21\u0e1a\u0e19\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29\u0e08\u0e33\u0e19\u0e27\u0e19\u0e21\u0e32\u0e01\u0e1e\u0e2d) \u0e04\u0e48\u0e32 pi \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e01\u0e47\u0e08\u0e30\u0e43\u0e01\u0e25\u0e49\u0e01\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e08\u0e23\u0e34\u0e07\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2b\u0e23\u0e37\u0e2d\u0e16\u0e49\u0e32\u0e02\u0e35\u0e49\u0e40\u0e01\u0e35\u0e22\u0e08\u0e08\u0e34\u0e49\u0e21\u0e40\u0e2d\u0e07\u0e01\u0e47\u0e17\u0e33 Simulation \u0e43\u0e19\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e01\u0e47\u0e04\u0e37\u0e2d \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2a\u0e35\u0e48\u0e40\u0e2b\u0e25\u0e35\u0e48\u0e22\u0e21\u0e08\u0e15\u0e38\u0e23\u0e31\u0e2a\u0e02\u0e19\u0e32\u0e14 2&#215;2 \u0e2b\u0e19\u0e48\u0e27\u0e22 (\u0e15\u0e23\u0e07\u0e01\u0e25\u0e32\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e1e\u0e34\u0e01\u0e31\u0e14 0,0) \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e27\u0e07\u0e01\u0e25\u0e21\u0e23\u0e31\u0e28\u0e21\u0e35 1 \u0e2b\u0e19\u0e48\u0e27\u0e22\u0e44\u0e27\u0e49\u0e15\u0e23\u0e07\u0e01\u0e25\u0e32\u0e07 \u0e41\u0e25\u0e49\u0e27\u0e43\u0e0a\u0e49\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e2a\u0e38\u0e48\u0e21\u0e08\u0e38\u0e14 x \u0e01\u0e31\u0e1a y \u0e42\u0e14\u0e22\u0e04\u0e48\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07 -1 \u0e16\u0e36\u0e07 1 \u0e16\u0e49\u0e32\u0e2b\u0e32\u0e01<\/p>\n\n\n\n\\[ x^2 + y^2 <= 1 \\] \u0e41\u0e1b\u0e25\u0e27\u0e48\u0e32\u0e08\u0e38\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e27\u0e07\u0e01\u0e25\u0e21\n\u0e41\u0e15\u0e48\u0e16\u0e49\u0e32 \\[ x^2 + y^2 > 1 \\] \u0e41\u0e1b\u0e25\u0e27\u0e48\u0e32\u0e08\u0e38\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e19\u0e2d\u0e01\u0e27\u0e07\u0e01\u0e25\u0e21\n\n\n\n<p class=\"wp-block-paragraph\">\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e19\u0e33\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e48\u0e21\u0e19\u0e31\u0e1a\u0e44\u0e27\u0e49 \u0e21\u0e32\u0e2b\u0e32\u0e2d\u0e31\u0e15\u0e23\u0e32\u0e2a\u0e48\u0e27\u0e19\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e34\u0e21\u0e40\u0e25\u0e22 \u0e01\u0e47\u0e08\u0e30\u0e44\u0e14\u0e49\u0e04\u0e48\u0e32 pi \u0e17\u0e35\u0e48\u0e43\u0e01\u0e25\u0e49\u0e40\u0e04\u0e35\u0e22\u0e07\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07 (\u0e2b\u0e32\u0e01\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e38\u0e21\u0e21\u0e32\u0e01\u0e1e\u0e2d)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2b\u0e23\u0e37\u0e2d\u0e25\u0e2d\u0e07\u0e40\u0e25\u0e48\u0e19 Simulation \u0e02\u0e49\u0e32\u0e07\u0e25\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49\u0e14\u0e39\u0e01\u0e47\u0e44\u0e14\u0e49 \u0e2b\u0e27\u0e31\u0e07\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 (\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e25\u0e48\u0e32\u0e19\u0e30)<\/p>\n\n\n\n<div style='width:100%;'>\n<!-- Monte Carlo \u03c0 Estimation Animation with Counts -->\n<div id=\"monte-carlo-pi\" style=\"font-family: Arial, sans-serif; margin: 20px;\">\n  <h1>Animated Monte Carlo \u03c0 Estimation with Counts<\/h1>\n  <div id=\"controls\" style=\"margin-bottom: 20px;\">\n    <label>Samples:\n      <input type=\"range\" id=\"samplesSlider\" min=\"100\" max=\"5000\" step=\"100\" value=\"1000\" \/>\n      <input type=\"number\" id=\"samplesInput\" min=\"100\" max=\"5000\" step=\"100\" value=\"1000\" style=\"width:80px; margin-left:8px;\" \/>\n    <\/label>\n    <button id=\"runBtn\" style=\"margin-left:16px; padding:4px 12px;color:white;\">Run<\/button>\n  <\/div>\n\n  <!-- Convergence line chart -->\n  <svg id=\"convergence\" width=\"700\" height=\"300\" style=\"display:block; margin-bottom:40px;\"><\/svg>\n  <!-- Scatter plot of samples + counts -->\n  <svg id=\"scatter\" width=\"700\" height=\"500\" style=\"display:block;\"><\/svg>\n<\/div>\n<\/div>\n<!-- Load D3.js -->\n<script src=\"https:\/\/d3js.org\/d3.v7.min.js\"><\/script>\n<script>\n  \/\/ Controls binding\n  const slider = d3.select('#samplesSlider');\n  const inputN = d3.select('#samplesInput');\n  slider.on('input', () => inputN.property('value', slider.property('value')));\n  inputN.on('input', () => slider.property('value', inputN.property('value')));\n\n  \/\/ Convergence chart setup\n  const convSvg = d3.select('#convergence'),\n        convM = {top:20,right:20,bottom:40,left:60},\n        convW = +convSvg.attr('width') - convM.left - convM.right,\n        convH = +convSvg.attr('height') - convM.top - convM.bottom;\n  const convG = convSvg.append('g').attr('transform', `translate(${convM.left},${convM.top})`);\n  const xConv = d3.scaleLinear().range([0, convW]);\n  const yConv = d3.scaleLinear().domain([2.5,3.5]).range([convH,0]);\n  convG.append('g').attr('class','axis y-axis').call(d3.axisLeft(yConv));\n  convG.append('text')\n    .attr('transform','rotate(-90)').attr('y', -45).attr('x', -convH\/2)\n    .attr('text-anchor','middle').text('Estimated \u03c0');\n  const xAxisG = convG.append('g')\n    .attr('class','axis x-axis').attr('transform',`translate(0,${convH})`);\n  convG.append('text')\n    .attr('x', convW\/2).attr('y', convH+35)\n    .attr('text-anchor','middle').text('Number of Samples');\n  convG.append('line')\n    .attr('class','pi-line')\n    .attr('x1',0).attr('y1',yConv(Math.PI))\n    .attr('x2',convW).attr('y2',yConv(Math.PI))\n    .style('stroke','red').style('stroke-dasharray','5,5');\n  convG.append('text')\n    .attr('class','pi-line')\n    .attr('x', convW - 5).attr('y', yConv(Math.PI) - 10)\n    .attr('text-anchor','end').style('fill','red')\n    .text('\u03c0 \u2248 3.14159');\n\n  \/\/ Scatter + counts setup\n  const scSvg = d3.select('#scatter'),\n        scM = {top:20,right:20,bottom:40,left:40},\n        scW = 500 - scM.left - scM.right,\n        scH = 500 - scM.top - scM.bottom;\n  const scG = scSvg.append('g').attr('transform', `translate(${scM.left},${scM.top})`);\n  const xSc = d3.scaleLinear().domain([-1,1]).range([0,scW]);\n  const ySc = d3.scaleLinear().domain([-1,1]).range([scH,0]);\n  scG.append('g').attr('class','axis x-axis')\n     .attr('transform',`translate(0,${scH})`).call(d3.axisBottom(xSc).ticks(10));\n  scG.append('g').attr('class','axis y-axis')\n     .call(d3.axisLeft(ySc).ticks(10));\n  scG.append('circle')\n     .attr('class','circle-outline')\n     .attr('cx', xSc(0)).attr('cy', ySc(0))\n     .attr('r', xSc(1)-xSc(0))\n     .style('fill','none').style('stroke','#444').style('stroke-width','1.5px');\n\n  \/\/ Add text elements for counts\n  const countsG = scSvg.append('g').attr('transform', `translate(${scW + scM.left + 20},${scM.top})`);\n  countsG.append('text').attr('class','count-text').attr('id','insideCount').attr('y',0);\n  countsG.append('text').attr('class','count-text').attr('id','outsideCount').attr('y',20);\n\n  \/\/ Line generator\n  const lineGen = d3.line()\n    .x(d => xConv(d.samples))\n    .y(d => yConv(d.pi));\n\n  function animate() {\n    const n = +inputN.property('value');\n    const duration = 8000; \/\/ 8 seconds\n    const interval = duration \/ n;\n    let inside = 0, outside = 0;\n    const data = [];\n\n    \/\/ Prepare axes\n    xConv.domain([0,n]);\n    xAxisG.call(d3.axisBottom(xConv).ticks(10));\n    convG.selectAll('.line').remove();\n    scG.selectAll('.dot').remove();\n\n    \/\/ Reset counts display\n    d3.select('#insideCount').text('In Circle: 0');\n    d3.select('#outsideCount').text('Out Circle: 0');\n\n    let i = 0;\n    const timer = d3.interval(() => {\n      i++;\n      const x = Math.random()*2-1;\n      const y = Math.random()*2-1;\n      const isIn = x*x + y*y <= 1;\n      if (isIn) inside++; else outside++;\n      data.push({ samples: i, pi: 4*inside\/i });\n\n      \/\/ Update convergence line\n      convG.selectAll('.line').remove();\n      convG.append('path')\n        .datum(data)\n        .attr('class','line')\n        .attr('d', lineGen)\n        .style('fill','none').style('stroke','steelblue').style('stroke-width','2px');\n\n      \/\/ Plot sample point\n      scG.append('circle')\n        .attr('class', isIn ? 'dot inside' : 'dot outside')\n        .attr('cx', xSc(x))\n        .attr('cy', ySc(y))\n        .attr('r', 2)\n        .style('opacity', 0.6)\n        .style('fill', isIn ? 'steelblue' : 'tomato');\n\n      \/\/ Update counts\n      d3.select('#insideCount').text(`In Circle: ${inside}`);\n      d3.select('#outsideCount').text(`Out Circle: ${outside}`);\n\n      if (i === n) timer.stop();\n    }, interval);\n  }\n\n  d3.select('#runBtn').on('click', animate);\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e43\u0e19 Simulation \u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e04\u0e33\u0e19\u0e27\u0e19 Pi \u0e15\u0e25\u0e2d\u0e14\u0e40\u0e27\u0e25\u0e32\u0e41\u0e25\u0e30 plot \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e23\u0e32\u0e1f\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e31\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2a\u0e38\u0e48\u0e21\u0e25\u0e07\u0e44\u0e1b \u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e33\u0e19\u0e27\u0e19\u0e08\u0e38\u0e14\u0e21\u0e32\u0e01\u0e02\u0e36\u0e49\u0e19 \u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e04\u0e33\u0e19\u0e27\u0e13\u0e44\u0e14\u0e49\u0e08\u0e30\u0e22\u0e34\u0e48\u0e07\u0e43\u0e01\u0e25\u0e49\u0e04\u0e48\u0e32 pi \u0e21\u0e32\u0e01\u0e22\u0e34\u0e48\u0e07\u0e02\u0e36\u0e49\u0e19 \u0e41\u0e15\u0e48\u0e0a\u0e48\u0e27\u0e07\u0e41\u0e23\u0e01 \u0e46 \u0e04\u0e48\u0e32\u0e08\u0e30 Swing \u0e21\u0e32\u0e01<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e40\u0e23\u0e35\u0e22\u0e01\u0e27\u0e48\u0e32 Monte Carlo Method \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e38\u0e48\u0e21\u0e08\u0e33\u0e19\u0e27\u0e19\u0e21\u0e32\u0e01 \u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e08\u0e30\u0e25\u0e39\u0e48\u0e40\u0e02\u0e49\u0e32\u0e43\u0e01\u0e25\u0e49\u0e04\u0e48\u0e32\u0e2b\u0e19\u0e36\u0e48\u0e07 (\u0e0b\u0e36\u0e48\u0e07\u0e2d\u0e32\u0e08\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2b\u0e32\u0e04\u0e33\u0e15\u0e2d\u0e1a) \u0e17\u0e24\u0e29\u0e0e\u0e35\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e21\u0e32\u0e08\u0e32\u0e01 <strong>The Rule of Large Number<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e23\u0e30\u0e22\u0e38\u0e01\u0e15\u0e4c\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e04\u0e33\u0e15\u0e2d\u0e1a\u0e17\u0e35\u0e48\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e0b\u0e31\u0e1a\u0e0b\u0e49\u0e2d\u0e19\u0e44\u0e14\u0e49\u0e2d\u0e35\u0e01\u0e27\u0e34\u0e18\u0e35\u0e2b\u0e19\u0e36\u0e48\u0e07<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e08\u0e1a<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e04\u0e37\u0e2d\u0e44\u0e1b\u0e14\u0e39\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d\u0e02\u0e2d\u0e07 Vertasium \u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d\u0e19\u0e35\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e04\u0e38\u0e49\u0e19 \u0e46 \u0e27\u0e48\u0e32\u0e15\u0e2d\u0e19\u0e40\u0e23\u0e35\u0e22\u0e19\u0e21\u0e2b\u0e32\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e01\u0e47\u0e40\u0e04\u0e22\u0e17\u0e33\u0e2d\u0e30\u0e44\u0e23\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49 \u0e04\u0e37\u0e2d\u0e43\u0e0a\u0e49 Monte Carlo \u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e04\u0e48\u0e32 Pi \u0e41\u0e15\u0e48\u0e15\u0e2d\u0e19\u0e19\u0e31\u0e49\u0e19\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e04\u0e48\u0e2d\u0e22\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08 \u0e40\u0e1e\u0e34\u0e48\u0e07\u0e21\u0e32\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e08\u0e32\u0e01\u0e25\u0e2d\u0e07\u0e25\u0e49\u0e32\u0e07\u0e2a\u0e21\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19 \u0e25\u0e37\u0e21\u0e44\u0e1b\u0e01\u0e48\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e23\u0e39\u0e49\u0e27\u0e48\u0e32\u0e04\u0e48\u0e32 Pi \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e17\u0e48\u0e32\u0e44\u0e2b\u0e23\u0e48 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e27\u0e48\u0e32\u0e04\u0e48\u0e32 Pi \u0e19\u0e31\u0e49\u0e19\u0e21\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e17\u0e48\u0e32\u0e44\u0e2b\u0e23\u0e48\u0e01\u0e31\u0e19\u0e41\u0e19\u0e48 \u0e41\u0e1a\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e40\u0e2d\u0e32\u0e01\u0e47\u0e44\u0e14\u0e49 \u0e27\u0e34\u0e18\u0e35\u0e1a\u0e49\u0e32\u0e19 \u0e46 \u0e41\u0e1a\u0e1a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[39],"tags":[],"class_list":["post-2439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general"],"acf":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/posts\/2439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/comments?post=2439"}],"version-history":[{"count":16,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/posts\/2439\/revisions"}],"predecessor-version":[{"id":2460,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/posts\/2439\/revisions\/2460"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/media\/2449"}],"wp:attachment":[{"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/media?parent=2439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/categories?post=2439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cb.ax\/blog\/wp-json\/wp\/v2\/tags?post=2439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}