RSSAmplifier

Blog

Algorithms and Stuff

Algorithms and Stuff

blog.ivank.netRSS feed ↗15 posts

Latest posts

Mathematical foundation of music

Let s discuss how the current music is created, and what was the motivation of the current system of musical tones. Sound is a vibration (e.g. of a string, of a drum, of a speaker ) which propagates through air, and can be detected e.g. by a human ear or by a microphone. It can not [ ]

How Vector Graphics Work

I have worked with vecor graphics for more than 15 years, but some mechanisms were not clear to me. Now, I think I have figured it out and I would like to explain it to you. Vector graphics usually consists of points, which are connected with straight or curved lines (Bézier curves, circular arcs). Together, [ ]

Symmetry Breaking in Automated Planning

This is my master thesis about exploiting structures in automated planning (through symmetry breaking). You can read it here: Exploiting structures in automated planning. The domains and problems, that were used for testing, are here: Domains. Symmetry breaking Several ways of symmetry breaking have been proposed for automated planning in the past. I decided to [ ]

Viterbi Algorithm Clarified

All articles about Vitebi algorithm, which I found, seemed too complicated and hard to understand. They either had too much theory and no examples, or too complex example without an abstract description. I will try to write a my own article and clarify things a little. Defining a problem It is hard to understand something [ ]

Monty Hall problem makes no sense, or does it?

It has been 8 years since I heard about Monty Hall problem for the first time. I never completely trusted the offical solution. The only solution I would completely trust is my own simulation of thousands of games, so I decided to make one and prove the rest of the world wrong. Here is a [ ]

Introduction to Metamath

Official Metamath description has 211 pages. This is a shrinked version, which does not contain introduction to logic, history of logic, definitions and statements, that mathematicians and computer scientists are already familiar with. Explore it in MM Tool. Having a formal (precise) system for mathematical theories and proofs is useful in many ways. Formal proof [ ]

Fourier Transform Clarified

This article should allow you to understand Fourier transform much better. It should clarify basic principles and several important details, which are not said in other articles. It is a little informal, but all formalities should be obvious after reading it. Prerequisities Before you start to read, you must know, what is complex number, trigonometric [ ]

Taylor polynomial clarified

I decided to write this article, because all other articles I found on the internet seemed too complicated and did not explain the basic principles. I will avoid formalism, but I am sure formalisms will be clear to you after reading this article. Prerequisities Before you start to read, you must know, what is polynomial, [ ]

3D Tool – web based 3D model viewer

Let me present you 3D Tool, web-based model viewer with a simple renderer I made during this summer. It has basic functionality and can deal with several basic 3D formats. 3DTool.ivank.net. After loading 3D models, the random color is attached to each part of the model. It can be rendered using Path Tracing as a [ ]

Fastest Gaussian Blur (in linear time)

I needed a really fast Gaussian blur for one of my projects. After hours of struggling and browsing the internet, I finally found the best solution. Beginning My solution is based on Fast image convolutions by Wojciech Jarosz. Presented ideas are very simple and I don t know who is the original author. I am going [ ]

SmallPT in Javascript

I recently found a very interesting project, called SmallPT. It is photorealistic 3D renderer, written in 99 lines. So I decided to rewrite it into JavaScript. SmallPT SmallPT is a photorealistic renderer. It uses Monte Carlo path tracing to render the scene. It contains 3 materials: diffuse material, mirror and glass, and one primitive: sphere. [ ]

Pathtraced online game

I have made a Raytraced Online Game few months ago. It looks nice, but it does not look realistic, so I decided to rewrite it into Path Tracing. Scene The scene geometry is the same, as in raytraced version, with one difference I made bigger sun. All materials are perfectly diffuse. There is a [ ]

Interpolation with Cubic Splines

Adobe Photoshop, Gimp and many other image editors have a tool called Curves. There are several knots and while you move them, it computes a curve in between. I always wondered, how is this curve computed. About cubic splines First, I must say, that we are going to interpolate a function of one real variable, [ ]

Floyd-Steinberg dithering in JavaScript

There are many smart algorithms in 2D graphics and Floyd-Steinberg error diffusion is one of them. Attached demo demonstrates a dithering on webcam output (or Bucks Bunny video, when webcam is not available). Open demo in a new window What is the problem The problem is, that we have an image (table of pixels) in [ ]

First raytraced online game

I had some free time last weekend, so I decided to try to write some simple raytracer. It runs in real time on the GPU, it is controlled by JavaScript. Inspiration The first time when I heard about raytracing was about 3 years ago. I was fascinated, though, I had absolutely no idea how it [ ]