При генерации случайных точек на PictureBox появляются полосы - Visual Basic .NET
Формулировка задачи:
Привет. Делаю программу для нахождения числа Пи методом Монте-Карло и столкнулся с такой проблемой: когда я генерирую случайные координаты для последующей точки и наношу её на PictureBox у меня проявляется странная закономерность. Из сгенерированных точек вырисовываются прямые, причем чем больше количество точек тем они отчетливее. Прикладываю скриншоты и код.
Как это можно вылечить? Я подозреваю, что проблема в генерации координат этих самых точек, так как, насколько я знаю, случайности не случайны, а генерируются по формуле.
Решение задачи: «При генерации случайных точек на PictureBox появляются полосы»
textual
Листинг программы
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim g As Graphics = PictureBox1.CreateGraphics g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias Dim p As New Pen(Color.Black, 2) Randomize() For i = 1 To 50000 Dim random1 As Integer Dim random2 As Integer ' Randomize() random1 = 2 + Rnd() * 648 ' Randomize() random2 = 2 + Rnd() * 648 g.DrawEllipse(p, random1, random2, 1, 1) count += 1 If ((random1 - 324) * (random1 - 324) + (random2 - 324) * (random2 - 324) > 105625) Then outside += 1 Else inside += 1 End If Next Label2.Text = count Dim pi As Single pi = inside / count Label4.Text = pi * 4 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д