Munching squares: Difference between revisions
Content added Content deleted
m (removed "thumb" attribute from the images because it introduces a CSS float right which doesn't display nicely) |
(rendered image) |
||
Line 41: | Line 41: | ||
Run with: |
Run with: |
||
$ ocaml graphics.cma xor_pattern.ml |
$ ocaml graphics.cma xor_pattern.ml |
||
Output: |
|||
[[File:xor_pattern_ocaml.png|OCaml output|200px]] |
Revision as of 17:58, 28 November 2011
Munching squares is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Render a graphical pattern where each pixel is colored by the value of 'x xor y' from a color table.
Mathematica
<lang Mathematica> ListDensityPlot[
Table[Table[ FromDigits[BitXor[IntegerDigits[x, 2, 8], IntegerDigits[y, 2, 8]], 2], {x, 0, 255}], {y, 0, 255}]]
</lang>
Output #1:
<lang Mathematica> ArrayPlot[Array[BitXor, {511, 511}]] </lang>
Output #2:
OCaml
<lang ocaml>open Graphics
let () =
open_graph ""; resize_window 256 256; for y = 0 to pred (size_y()) do for x = 0 to pred (size_x()) do let v = (x lxor y) land 0xFF in set_color (rgb v (255 - v) 0); plot x y done; done; ignore(read_key())</lang>
Run with:
$ ocaml graphics.cma xor_pattern.ml
Output: