Photopea: the best alternative to Photoshop

Adobe Photoshop is a very useful and powerful tool. However, many users can't afford it. Users with Chrome OS or Linux can not use Photoshop either. Let's have a look at some Photoshop alternatives.

Symmetry Breaking in Automated Planning

This is my master thes 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.

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.

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.

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 scient+ists are already familiar with. Explore it in MM Tool.

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.

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.

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.

Fastest Gaussian Blur (in linear time)

I needed really fast Gaussian blur for one of my projects. After hours of struggling and browsing the internet, I finally found the best solution.

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.

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.

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.

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).

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.

My new WebGL games

I was playing with JavaScript and decided to create my own small framework for 2D games, based on WebGL. I have alredy made 2 small games on top of it.

State Machine Tool in Silverlight

I have made a "SM Tool" during the last summer. It is a program, which allows you to work and play with Finite-state machines. It was my credit work on Advanced programming for .NET.

Quadtree visualization in JavaScript

Today's post will be about Quadtrees. I have coded a little visualization, which may help you understand this data structure.

Binary relations and closures

I have made a little tool. Here you can specify some binary relation over a finite set. Then you can generate a closure of it.

Prolog tutorial – Matrices

This article can be a guide for solving some problems with Prolog. If you know it's syntax, maybe after reading this you will get an idea, how to use this language effectively.

Fortune’s algorithm and implementation

This text was created as a credit work at subject Algorithms nad data structures II, MFF UK. It contains an implementation in C++ (at the end) and ActionScript 3.0 (in previous posts).

Force-based graph drawing in JavaScript

Today I woud like to show you a remake of my previous flash app, which I rewrote into HTML5. It is the force-based graph algorithm form my previous article.

Voronoi diagram in JavaScript

I always wanted to try programming in JavaScript, so I decided to rewrite my implementation of Fortune's algorithm from C++ and ActionScript 3 into JavaScript.

Solving sliding puzzle with Prolog

This work has been created as my credit exam at subject Nonprocedural programming at MFF UK. It is about solving sliding puzzle with Prolog programming language.

The game like Untangle / Planarity

After last 2 posts about geometry, I decided to explain, how to make a game like Untangle (solving planar graph by moving vertices).

Basic geometry functions

In this article we will see how to implement some basic geometry functions in 2D space. We will wirte line segment intersection and circumcircle.

Voronoi diagram in AS3

In today's article I will introduce you my own small library for generating Voroni diagram in ActionScript 3. I used Fortune's algorithm, which is probably the fastest algorithm for solving Voronoi diagram.

Force-based 3D graph drawing in AS3

I decided to extend my last graph drawing algorithm - I added a "z" coordinate (for position, forces etc.). I used Away3DLite libraries for drawing a graph.

Aho-Corasick – implementation and animation

Today we will learn how to implement the Aho-Corasick algorithm. It is used for finding occurences of words in text and it is faster than other common algorithms. Code will be in ActionScript 3, but implementation in C, C++, C# or Java will be very similar.

Force-based graph drawing in AS3

This post will be dedicated to drawing graphs in an aesthetically pleasing way. We will use physics "spring" algorithm, and create real-time simulation.

Trie implementation in AS3

In this post, we will implement the Trie data structure in ActionScript 3. Then we will draw it to get a nice picture of this data structure.