Wednesday, April 20, 2011

OpenLayers: Free Maps for the Web

OpenLayers is a pure JavaScript library for displaying map data in most modern web browsers, with no server-side dependencies. OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with one important difference -- OpenLayers is Free Software, developed for and by the Open Source software community.

Furthermore, OpenLayers implements industry-standard methods for geographic data access, such as the OpenGIS Consortium's Web Mapping Service (WMS) and Web Feature Service (WFS) protocols. Under the hood, OpenLayers is written in object-oriented JavaScript, using components from Prototype.js and the Rico library. The OpenLayers code base already has hundreds of unit tests, via the Test.AnotherWay framework.
As a framework, OpenLayers is intended to separate map tools from map data so that all the tools can operate on all the data sources. This separation breaks the proprietary silos that earlier GIS revolutions have taught civilization to avoid. The mapping revolution on the public Web should benefit from the experience of history.
http://openlayers.org/

Tuesday, April 19, 2011

Javascript 3D Engine

three.js

Javascript 3D Engine

The aim of the project is to create a lightweight 3D engine with a very low level of complexity — in other words, for dummies. The engine can render using <canvas>, <svg> and WebGL.

Examples

WebGL (Context 3D)

equirectangular scissors lookat video dof ribbon vertexcolors particles lines shader materials_normalmap2 materials_grass materials_normalmap geometry_terrain_gl geometry_minecraft materials_shader_fresnel materials_cars materials_cubemap_refraction materials_cubemap_balls_reflection materials_cubemap_balls_refraction materials_cubemap_escher materials_cubemap materials_gl materials_shaders large_mesh

Canvas (Context 2D)

materials_reflection materials materials_depth materials_normal lights_pointlights interactive_cubes camera_ortographic geometry_birds geometry_earth geometry_terrain materials_video geometry_panorama geometry_cube particles_sprites particles_random particles_wave particles_floor

Featured projects

Photoparticles Plumegraph HelloRacer FastKat Sculpt Voxels The Wilderness Downtown Or so they say... Failure Space Cannon 3D Alocasia DDD jsflowfield4d spikeball

Thursday, April 7, 2011

PhantomJS

Full web stack
No browser required

PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

PhantomJS is an optimal solution for headless testing of web-based applications, site scraping, pages capture, SVG renderer, PDF converter and many other use cases.

http://www.phantomjs.org/

Using Local Storage as a Light Database for Form Submissions

Local storage, which is a widely supported component of HTML5 (including iOS which was the target medium for the app) seemed the best route to take. A connection to the server is irrelevant, you can store up to 5MB before the browser displays a grouchy warning, and the API was dead simple to integrate into the jQuery framework I was already building.

http://www.graphicpush.com/using-localstorage-api-as-a-light-database

gury

gury (pronounced "jury") is a JavaScript library designed to aid in the creation of HTML5/Canvas applications by providing an easy-to-use chain based interface.
With gury you can create a canvas tag, resize and style it, add renderable objects, animate those objects, and place it anywhere on the page in a single chained expression.

http://guryjs.org/

Monday, April 4, 2011

Microsoft Mathematics 4.0

Microsoft Mathematics provides a graphing calculator that plots in 2D and 3D, step-by-step equation solving, and useful tools to help students with math and science studies.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9caca722-5235-401c-8d3f-9e242b794c3a

Sunday, April 3, 2011

Understanding CSS3 2D Transforms

What Are Transform(ation)s?

Transformations, in their strictest and broadest mathematical sense, are mathematical operations that map a set of items X onto another set, Y. In geometric terms, this means that we can apply a mathematical operation on a set of objects in space to map them onto a new space geometry.
In layman's terms, we can take an object and apply what we call transformation groups. These are ordered lists of operations (called transforms) that we can use to movescalereflectrotate and skew objects. Sounds simple enough, right?
But before we jump right into the whole business of object manipulation, we need to look into how these transformation groups work, exactly. As mentioned, transformation groups are an ordered set of transformation operations, the implication being that the order of transformations matters and gives different results depending on the ordering of those operations. This is because transformations take into account every object's geometric properties, including its current position.

http://msdn.microsoft.com/en-us/scriptjunkie/gg709742.aspx