Constrained random points on a circle: Difference between revisions
Content added Content deleted
(Added Wren) |
(add lambdatalk) |
||
Line 1,970: | Line 1,970: | ||
o o |
o o |
||
</pre> |
</pre> |
||
=={{header|Lambdatalk}}== |
|||
<lang scheme> |
|||
{def circ |
|||
{lambda {:cx :cy :r} |
|||
{div {@ style="position:absolute; |
|||
top: {- :cy :r}px; left: {- :cx :r}px; |
|||
width: {* 2 :r}px; height: {* 2 :r}px; |
|||
border: 1px solid #000; border-radius: :rpx;"}} }} |
|||
-> circ |
|||
{def fuzzy_circle |
|||
{lambda {:cx :cy :rmin :rmax :n} |
|||
{circ :cx :cy :rmax} |
|||
{circ :cx :cy :rmin} |
|||
{S.map {{lambda {:cx :cy :rmin :rmax :i} |
|||
{let { {:cx :cx} {:cy :cy} |
|||
{:rmin :rmin} {:rmax :rmax} |
|||
{:x {- {round {* {random} {* 2 :rmax}}} :rmax}} |
|||
{:y {- {round {* {random} {* 2 :rmax}}} :rmax}} |
|||
} {let { {:x {+ :cx :x }} |
|||
{:y {+ :cy :y }} |
|||
{:rr {+ {* :x :x} {* :y :y}}} |
|||
{:r2min {* :rmin :rmin}} |
|||
{:r2max {* :rmax :rmax}} |
|||
} {if {or {< :rr :r2min} {> :rr :r2max}} |
|||
then else {circ :x :y 2}} |
|||
}}} :cx :cy :rmin :rmax} |
|||
{S.serie 1 :n}} }} |
|||
-> fuzzy_circle |
|||
{fuzzy_circle 200 700 80 120 1000} |
|||
-> plots 1000 dots between the circles r=80 and r=120 centered at [200,700] |
|||
directly in the wiki page (out of any canvas or svg contexts) as it |
|||
can be seen in http://lambdaway.free.fr/lambdawalks/?view=fuzzy_circle |
|||
</lang> |
|||
=={{header|Liberty BASIC}}== |
=={{header|Liberty BASIC}}== |