I totally thought that map was a photo of 3d printed shapes, but it makes sense that you're using luxrender now. Is there a video of the animation online somewhere?
On Wed Feb 25 2015 at 6:13:25 PM Karsten Schmidt <i...@toxi.co.uk> wrote: > That's a good point, Bruce! To be honest, I don't know anymore, but it > makes complete sense to change it. Consider it done! :) > > As for your mapping question, yes, of course! I've done a few of them. > E.g. the first pic on the website [1] was a project for The ODI in > 2013 and is a map of different council/borough stats of London (here > knife crime). The shape files were first retrieved & processed with > the thi.ng/trio lib directly from the UK statistics office's SPARQL > endpoint [2], then projected to Mercator, converted to 2d polygons, > smoothed them and then extruded as 3D walled meshes and exported as > STL files using geom. To create that rendered image, another function > then combined all borough meshes into a complete render scene for > Luxrender (using the luxor lib). Since this all was for a 60sec > animation, I also wrote the tweeny lib for that project to allow me to > define the timeline for the various camera, mesh, light & shader > changes. The whole bundle was then sent to EC2 and rendered on 340+ > CPUs... basically, spawned a private render farm. > > Alternatively with < 30 lines of code you could query any UK > constituency (or use similar endpoints for other countries), do those > initial shape transformations and send the resulting STL mesh file > straight to a 3D printer... For online use, of course the SVG or WebGL > modules would be more interesting, but these really would just deal > with that last transformation/visualization step, i.e. turning a > thi.ng.geom.Polygon2 into an SVG <polygon> node or tesselate it and > stuff it into WebGL buffer to display... > > For more flexible mapping, it'd be great to port some/all of the > projections from [3] in its own clj lib for easier (and non-JS > related) access... > > [1] http://thi.ng/img/04.jpg > [2] http://statistics.data.gov.uk/doc/statistical-geography > [3] https://github.com/d3/d3-geo-projection/ > > Hth! > > On 25 February 2015 at 22:34, Bruce Durling <b...@otfrom.com> wrote: > > Karsten, > > > > Is there a reason why you went with a README.md and then an index.org > > rather than a plain README.org? > > > > (love all the rest of it and loved your use of it at The Barbican. I > > need to get my head around it all. I'm wondering if I can use it for > > some of the geographic and other charting things I do a lot of). > > > > cheers, > > Bruce > > > > On Wed, Feb 25, 2015 at 5:06 AM, Karsten Schmidt <i...@toxi.co.uk> > wrote: > >> Hi guys, > >> > >> thi.ng is a collection of over a dozen largely x-platform Clojure & > >> Clojurescript libs for computational/generative design & data > >> visualization tasks. > >> > >> I just wanted to give a little heads up that this project has recently > >> seen a number of releases and, as a whole, by now is generally quite > >> stable and usable (*is used*) for realworld projects (although most > >> libs remain in constant parallel development to make them more feature > >> complete). I've collated a number of images of projects and links to > >> the most important libs here: > >> > >> http://thi.ng/ > >> > >> Most notably of those: > >> > >> http://thi.ng/geom > >> By far the largest sub-project and backbone for most others: A 2D/3D > >> geometry package w/ comprehensive vector algebra, swizzling, > >> intersections, matrix types & helpers, quaternions, pure shape > >> primitives with ~50 protocols for polymorphic enquiry & manipulation, > >> meshes (incl. I/O), mesh subdivisions, CSG mesh ops, Verlet physics > >> engine (only particles, springs, behaviors)... Most of this lib is > >> pure geometry w/ no rendering specifics, although there're separate > >> modules for SVG rendering w/ shader support & decorators [1], WebGL > >> wrapper and converters from shapes/meshes to VBOs and various shader > >> presets/utils. > >> > >> http://thi.ng/shadergraph > >> GLSL (WebGL) pure function library & dependency graph (based on > >> com.stuartsierra/dependency), GLSL minification during CLJS compile > >> time > >> > >> http://thi.ng/color > >> RGB, HSV, CMYK, CSS conversions, color presets (incl. D3 category > schemes) > >> > >> http://thi.ng/luxor > >> Complete scene compiler DSL for http://luxrender.net, based around > thi.ng/geom > >> > >> http://thi.ng/morphogen > >> Declarative 3D form evolution through tree-based transformations, > >> basically an AST generator of geometric operations to transform a > >> single seed node into complex 3D objects > >> > >> http://thi.ng/tweeny > >> Interpolation of nested (presumably animation related) data > >> structures. Allows tweening of deeply nested maps/vectors with > >> completely flexible tween fns/targets and hence easy definition of > >> complex timelines > >> > >> http://thi.ng/validate > >> Purely functional, composable data validation & optional corrections > >> for nested data. Supports both maps & vectors, wildcards, comes with > >> many predefined validators, but extensible... > >> > >> http://thi.ng/trio > >> A generic, non-RDF specific triple store API and feature rich > >> SPARQL-like query engine > >> (and my prime example of using the literate programming approach with > >> org-mode[2][3]) > >> > >> Last but not least: Super special thanks are due to the following > people: > >> > >> Rich, Alex + rest of clojure.core > >> David (+everyone else involved) for the immense effort on making CLJS > >> proper useful, > >> Chas, Kevin and anyone else working on CLJX... > >> none of this would have been possible without these amazing tools! > >> > >> Best, K. > >> > >> Ps. There're a number of other libs in this collection which are in > >> dire need of updating (last touched spring 2013) - these are related > >> to general OpenCL functionality and voxel rendering. Some of the > >> example images on the above site were created with these... > >> > >> [1] https://github.com/thi-ng/geom/blob/master/geom-svg/src/ > examples.org > >> [2] https://github.com/thi-ng/trio/blob/master/src/query.org > >> [3] http://orgmode.org/ > >> > >> -- > >> Karsten Schmidt > >> http://postspectacular.com | http://thi.ng/ > >> > >> -- > >> Note that posts from new members are moderated - please be patient with > your first post. > >> --- > >> You received this message because you are subscribed to the Google > Groups "ClojureScript" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an email to clojurescript+unsubscr...@googlegroups.com. > >> To post to this group, send email to clojurescr...@googlegroups.com. > >> Visit this group at http://groups.google.com/group/clojurescript. > > > > -- > > Note that posts from new members are moderated - please be patient with > your first post. > > --- > > You received this message because you are subscribed to the Google > Groups "ClojureScript" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to clojurescript+unsubscr...@googlegroups.com. > > To post to this group, send email to clojurescr...@googlegroups.com. > > Visit this group at http://groups.google.com/group/clojurescript. > > > > -- > Karsten Schmidt > http://postspectacular.com | http://toxiclibs.org | http://toxi.co.uk > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to a topic in the > Google Groups "ClojureScript" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/clojurescript/RlESPn4PHkM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > clojurescript+unsubscr...@googlegroups.com. > To post to this group, send email to clojurescr...@googlegroups.com. > Visit this group at http://groups.google.com/group/clojurescript. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.