Billiard on Qt

So... In honor of Cosmonautics Day and coincidentally the faculty day at our university, I had a great chance to win some money and participate in a contest of physical modelers... One of the tasks was to write a billiard game on Qt (well, I've embellished it with Qt =) Here's what I came up with.

Bitwise operations in C

In our first lesson (/start-working-with-atmel-avr-microcontrollers/), we got acquainted with the working principle of microcontrollers. But, of course, it's not very convenient to simply write numbers in binary or hexadecimal form in registers. What if you need to change only one bit on a port, without touching the others? Change its value from 0 to 1 or vice versa? We'll answer that question a little later.

The principle of working with Atmel microcontrollers (AVR)

Microcontroller - a device, a microchip, designed to control other devices. The microcontroller contains a processor, memory, as well as peripheral devices. In fact, the controller "toggles its pins" - sends pulses of different duration to the pins.

Using QwtPlotSpectroCurve

Using QwtPlotSpectroCurve (first familiarize yourself with QwtPlotCurve here) you can display information that requires representation in three dimensions; create pseudo 3D graphs on a two-dimensional plane. The third dimension will be conveyed through color gradients - these graphs are called spectrograms. Unlike the QwtPlotSpectrogram component, you control each point on the curve, rather than intervals. The QwtPlotSpectroCurve component is less functional but more logical for graph plotting.

The MVC principle in web programming

MVC principle in web programming (Model - View - Controller) is one of the most successful ideas to date. The MVC principle is intuitive at first glance, but not very simple when delving into it. First, let's consider what it is intended for.

Rotating the scene in OpenGL using the mouse (Qt)

To study the material of the article "Rotating a Scene in OpenGL Using the Mouse", you first need to study the material of this article.

The idea is very simple - intercept the mouse event, determine the mouse pointer movement speed, and based on this, calculate the scene rotation angle. Essentially the same as in the previous example, but the rotation is not done by a timer, but by a mouse event (mouse movement with a pressed button).