Talk:Boids: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1:
== Racket code ==
Why is the Racket code published off-site? Can we move it to the wiki or is it copyrighted? [[User:Fwend|Fwend]] ([[User talk:Fwend|talk]]) 23:33, 22 April 2016 (UTC)
 
== Task specification ==
Should the task define specific rules the birds follow, so implementations won't be too arbitrary? --[[User:Ledrug|Ledrug]] 18:40, 7 January 2013 (UTC)
 
Line 8 ⟶ 12:
 
::: This Python version is readable and it doesn't have obstacles. http://code.activestate.com/recipes/502240-boids-version-11/ Removing the GUI code it's about 120 lines of non-comment Python code. Is this too much for a RosettaCode Task?
::::It's not very good practice to rely on code as an explanation for an entire task. Explaining things in English, pseudocode, or diagrams/tables is preferred. Not everybody can read Python (including me). --[[User:Mwn3d|Mwn3d]] 04:27, 8 January 2013 (UTC)
 
::: A few things would be helpful:
:::# What each bird would consider its ''local'' flock;
:::# How much does individuals in a local flock affect a bird's steering (how close is crowded, by how much does a bird adjust its current heading to fit into its local flock, etc)
:::# You asked for the birds to fly from left to right and avoid obstacles, again how much does each weigh in each bird's steering consideration.
::: I haven't looked into it carefully, but I think these should be mandated by the task for consistent implementations. Also it's questionable if a console text representation has enough spatial resolution to make the simulation workable, but that's a separate issue. --[[User:Ledrug|Ledrug]] 07:16, 8 January 2013 (UTC)
 
Huh. The output of that Racket implementation just crashes my browser about half a second in. It's been a while since I've come across such a total JS implementation bug. There ''might'' be a bug in the Racket code — I've not checked, to be honest — but the browser keeling over in response is really wrong. –[[User:Dkf|Donal Fellows]] ([[User talk:Dkf|talk]]) 12:31, 25 January 2014 (UTC)
: It worked find for me. Like you said, no matter what the Racked output does, the browser should not crash, so I think we should focus the blame on your browser for now (what is it, BTW?). --[[User:Ledrug|Ledrug]] ([[User talk:Ledrug|talk]]) 00:25, 26 January 2014 (UTC)
 
== Python code for cave generation ==
The board was generated by this simple Python code:
<lang python>from array import array
from math import hypot
 
nx = 85
ny = 16
background = '.'
foreground = '#'
 
mat = [array("c", background) * nx for _ in xrange(ny)]
 
def add_circle(mat, (cx, cy, r)):
for y in xrange(cy - r, cy + r + 1):
for x in xrange(cx - r, cx + r + 1):
if hypot(cx - x, cy - y) <= r:
if x >= 0 and x < len(mat[0]) and y >= 0 and y < len(mat):
mat[y][x] = foreground
 
for c in [(14, 2, 8), (nx / 2, ny / 2, 3), (nx - 17, ny - 2, 9)]:
add_circle(mat, c)
 
for row in mat:
print row.tostring()</lang>
Anonymous user