Jaspers Personal webpage
Home
Blog
Projects
Various smaller projects
About me

Various smaller projects

I have small projects too, some just for the heck of it. A tarball most of these can be found here. There are a few more i would put up here if i cleaned them up better. I keep a readme for each of the ones listed here:

Hashtable
Basic ray tracer
Laplace solver by Relaxation method
Basic stuff
Little dependency system
Little repl
Pathfinder
Regular tree
2D shape system
Simplification
Drawer of spherical harmonics
Numerical vectors via cl:vector

Drawer of spherical harmonics

Draws spherical harmonics, like those which are measured when measuring variations in gravity . Written with Lisp, with GSL via cffi. Cl-opengl and lispbuilder-sdl were used to show it in the test.

I applied it to spherical harmonics components of the Moon and the Earth. Nasa uses the same format for gravity information on other planets/moons, (which i obtained here) but i didn't bother inputting them. For the Earth i used data from ITG.

One thing that would be nice to have is error margins and a way to determine which components to use when a particular precision is required.

Spherical harmonics readme, autodoc for spherical-harmonics, its test.

Pathfinder

Wrote a pathfinder in lisp.

It is basically Dijkstras algorithm, you can, and i did add a heuristic, but not sure if i made the heuristic strong enough to call it A*. C might be better for the task.

Readme, autodocumentation: pathfind, its test.

Hashtable

Made a pretty old hashtable, made a crude s-expression reader aswel. Readme file.

Raytracer

Very basic raytracer in C and SDL that works by continually checking minimum radius to objects, and then going forward by that distance. It is terribly slow. One thing i somehow couldn't get to work properly is moving a whole set of points forward simultaniously. (Which should be a lot faster, but still slow of course.)

Really, though, sometimes raytracing are overrated as being 'actual light simulation' well, its principle is closer, but unless you do pretty fancy stuff, i bet many of the operations done in 'painters algorithm' way of graphics are just equivalent. (Close enough, anyway.)

readme, and folder.

Little repl

Just a little repl thingy based on *input-stream*. Gets rid out outer parenthesis, allows you to change its behavior via *repl-handle-expr* . Autodocumentation, and the file itself, and readme.