F# to c++ compiler

This is a source code to the F# to C++ project which is in progress called (FunC++).


BSpline submarine

This time I will present just a final result of my 5-months project in Geometric modelling. Things you can do in this aplication are to create any curve of surface with any up to C2 (for example C2 means that second derivative is continous). Both can be computed in Bernstein or Bezier Base and can be controlled using points on curve/surface or using De Boor points (the second one is way better).

As a result You can see below a submarine which consist of two BSpline clamped surfaces.

Yellow dots are de Boor points.On this vertical part of submarine (how is it called?) three rows of De Boor points are moved into one place thus loosing continouity to C0.

However you can see that this vertical part goes through the main part of submarine. To remove this unnecessary surface user can point a point near to the intersection of both surfaces. Then gradient descent method is used to find the exact point of intersection. Then Newton method is used to find all points of intersection with given delta. Finally a map of parameters is created and fulfilled using floodfill algorithm. Finally surfaces are splitted into two and user can choose which one to draw. Below You can see the submarine with removed unnecessary surface patches, parameter map and points of intersection found by Newton method (yellow points).

Stereoscopic torus

This time I will present the most impressive project, in stereoscopy. To fully see the 3D effect you need to have anaglyph glasses with red filter on left, blue on right.

Necessarily see the video below.  All the lags are due to low quality of video recorded which max fps is 30.(do u know a good free one?)

It is a part of assignment in subject named : geometric modeling. In few weeks I will present  next part of project with Bezier curves and surface.

Global Management 2012 Polish finals

Today the finals of Polish edition of GMC were held. GMC is a management symulation where a team of 4-5 people take control of a virtual company. Teams are divided into groups of 6-8, and they play on the same market starting with excatly the same company situation, competing with each other and trying to achieve the biggest profit and market stock. The teams make a decision each week for 5 rounds, then the best team goes to next stage. The simulations are really extensive, with a great number of factors that make each simulation totally different from another one. What I liked the most about it is that for almost all variables (probably for every one) mathematical models can be constructed that anticipates result for some decisions. Anyway, pretty hard it is.

My team made it to semi-finals. Today congratulations for winners and especially for my friend team Lazy Boys who were on the 1 position before the last decision, but in the final they didn’t make it. I’m definately going to participate in next year once again.

Direct X – mirrored Mouebious strip in dodecahedron

The goal of this project was to develop a following application on directX framework made by tutor : on the scene there is a dodecahedron which walls acts as mirrors. In the midts of it there is in a moebious strip ( with butterly (ilustrated by 2 rectangles) flying around strip.

To achieve dodecahedron the first (front) wall was build using triangulation. Next 5 walls were created using appropriate transformation (rotation and translation) of the first wall. Last 6 walls were created by rotating first 6 walls over Z-axis with 180 degrees.

Then the mirror effect was achieved using also appropriate transformations of world matrix. Moebious strip was created using parametrization. Quite a challenge was to calculate normal vectors for all objects on the scene.

L. Susskind – Cosmic Landscape

Leonard Susskind – “The cosmic landscape. String theory and the illusion of great design”.

Definately the best book on multiverse I have read. The book starts with explantation what an extraordinary coincidence lead to a world that can be inhabited by living beings us ours. Amazing it is if U think about how many physical constants might be slightly different and the universe will absolutely different from our ones with no life on it. Especially a cosmological constant is very sensitive, which is of the order of 10^-122! and almost any change would made our universe with no life ever.

This extremely small probability of our universe to hapenned lead to us to “illusion of great design”. L. Susskind is a proponent of the anthropic principle. Knowing the controversions about it he even call it the “A word”. Anyway L. changes the meaning of the principle (devoting one chapter to “A word”), which results in quite reasonable idea. Many criticism were given to this part of book but I believe after reading his version of anthropic principle it looks not that controversial.

So due to authors words our universe is just an extraordinary (but still random) part of the cosmic landscape that inludes up to 10^500 universes, all with different law of physics. Great part of them with conditions that no life could ever exist there.
What I mosty liked about the book is that author put a lot of effort to explain all scientific backgrounds of multiverse idea which helps reader to fully understand the idea and implications of it. Another advantage of this book is that U can read about string theorem from one of its fathers.
Absolutely recommended!


Udacity is a great site found by professors from Standford University offerring many courses on computer science from AI, programming a robotic car to web application developing. After signing up every week U would be able to see a video for the next lesson and get an optional homework to do. Lesson are really well prepared starting from the easy ones, and going to real world, advanced topics.

It’s a really brilliant site, I recommend it work everyone. Be aware that if U want to take advantage from the lessons and put them into practice U will need quite a lot of time.

Constructive Solid Geometry

Constructive Solid Geometry

CSG is a technique that allows to create object by using Boolean operator (sum, difference, intersection) on some objects that are organized in a tree. Below U can see a great ilustration of it.

My first lab assignment of computer graphics was to make an application that will read from a file a description of spheres and lighting model and will display an object using ray-tracing(ray-tracing generates image by tracing the path of light for each pixel). Below U can see a monster that was created from 21 spheres, I belive it’s quite impressing if U think about how it was created. As ray-tracing is optimal but expensive technique the image generation was optimized by recursively calculating the minimal cuboid that surrounds object and limit to ray-tracing to this cuboid. The figure can be rotated in any direction, for light Phong Model was used.