Voronoi diagram: Difference between revisions
Content added Content deleted
(Voronoi diagram en FreeBASIC) |
|||
Line 567: | Line 567: | ||
Canvas.Draw(0,0, img); |
Canvas.Draw(0,0, img); |
||
end; |
end; |
||
</lang> |
</lang> |
||
=={{header|FreeBASIC}}== |
|||
{{trans|Python}} |
|||
<lang freebasic>Dim Shared As Integer ancho = 500, alto = 500 |
|||
Screenres ancho, alto, 8 |
|||
Cls |
|||
Randomize Timer |
|||
Function hypot(a As Integer, b As Integer) As Double |
|||
Return Sqr(a^2 + b^2) |
|||
End Function |
|||
Sub Generar_Diagrama_Voronoi(ancho As Integer, alto As Integer, num_celdas As Integer) |
|||
Dim As Integer nx(num_celdas), ny(num_celdas), nr(num_celdas), ng(num_celdas), nb(num_celdas) |
|||
Dim As Integer x, i, y, j, dmin, d |
|||
For i = 1 To num_celdas |
|||
nx(i) = (Rnd * ancho) |
|||
ny(i) = (Rnd * alto) |
|||
nr(i) = (Rnd * 256) |
|||
ng(i) = (Rnd * 256) |
|||
nb(i) = (Rnd * 256) |
|||
Next i |
|||
For y = 1 To alto |
|||
For x = 1 To ancho |
|||
dmin = hypot(ancho-1, alto-1) |
|||
j = -1 |
|||
For i = 1 To num_celdas |
|||
d = hypot(nx(i)-x, ny(i)-y) |
|||
If d < dmin Then dmin = d : j = i |
|||
Next i |
|||
Pset (x, y), Rgb(nr(j), ng(j), ng(j)) |
|||
Next x |
|||
Next y |
|||
End Sub |
|||
Generar_Diagrama_Voronoi(ancho, alto, 25) |
|||
Bsave "Voronoi_diadram.bmp",0 |
|||
Sleep</lang> |
|||
=={{header|Go}}== |
=={{header|Go}}== |