The Deep Magic Of 3D Graphics Perspective

Many of us of a certain age will have had their first true, good 3D video game experience with Super Mario 64. Unlike previous 3D games, the camera was an object controllable by the player, rather than a first-person-ony mode or one where the game tries to guess the best placement for the camera. We might take this mechanic for granted today, but 3D was a new technology at the time that took experimentation before settling on the norms we have today. From a programming perspective, 3D graphics can be a bit of a head-scratcher but [Gabriel] shows that perspective and the camera can be as simple as a few lines of math.

When starting out as a programmer, [Gabriel] used various tools that provided a camera somewhat automatically. But after reaching the limits of these types of frameworks, the next step is to learn how that works from scratch. It turns out that it’s a bit of matrix math, with values for foreground and background clipping planes as well as aspect, field of view, and position. This basically replicates a trapezoidal prism which can be thought of as a viewer looking at a scene from the perspective of a camera. To provide the depth effect, the X and Y coordinates are divided by the Z coordinate within this matrix system, making far-away objects smaller and generating the 3D effect.

On [Gabriel]’s site which explains this method, there are a few sliders in several examples that demonstrate how changing values of each of these variables changes the perspective and the object being displayed. For a math lesson it is very interactive and helps intuit these concepts. Cameras aside, the generation of 3D objects has its own unique set of math equations to learn about that are “equally” interesting.

Designing A Fully 3D-Printed Mechanical Calculator

Even if almost tragically impractical in a world where digital calculators are cheap as chips, mechanical calculators and their big mechanical computer brethren remain an absolute marvel of engineering. Using nothing but elements like simple gears their motion is used to calculate everything from a simple multiplication to the proper targeting instructions for an Iowa-class battleship’s guns.

This fascination, along with the mind-bendingly high prices for commercial digital calculators led [3D all Workshop] to spend 2 months on designing his own mechanical calculator. Fully FDM 3D-printed, of course.

In the video the design process and troubleshooting step are covered along with the workings of the mechanisms for both addition and multiplication. While this may seem simple, basically converting numbers of rotations into a final indicator position, aspects like carrying a digit and adding a multiplication feature to the mechanism require some proper engineering.

Of course, using FDM printing for tolerance-sensitive things like gears meant that a lot of time was spent redesigning aspects of the mechanism, going through about a hundred design iterations until it worked, with the help from a bit of lubrication.

Naturally this isn’t the first 3D-printed mechanical calculator, not to mention ones made from wood, but always it’s pretty cool to see one made from first fundamentals.

Continue reading “Designing A Fully 3D-Printed Mechanical Calculator” →

Improved Double-Sided Toner Transfer Method

In the era before PCB shops would make almost any PCB imaginable, as well making many other manufacturing processes for prototypes available to hobbyists, there were several ways of making PCBs at home. Many of which involve harsh chemicals and were easy to mess up. Getting a single-layer PCB using the toner transfer method, for example, took a bit of practice (and a fume hood) to get right. [Bettina Neumryr] is working on a custom two-layer PCB, and has a new trick to get it to come out right despite the added complexity of the second layer.

The method starts out as a standard single-layer board in effect. Toner is ironed onto a copper board, in this case using a laminator, which allows the board to go into an acid bath which washes away all of the un-tonered copper. But with the second layer exposed, this would wash away the other side of the board completely. [Bettina] is using a new method here to protect that layer during the first bath: covering it in ink from a magic marker. With the first board etched, the ink and toner get washed off and the second layer is carefully lined up, put through the laminator, and then the opposite side gets covered in ink for the second acid bath.

After the process is complete and many layers of ink and toner are removed, [Bettina] is left with a PCB that’s ready to receive electronic components, if a little stained from all the ink. As to what this specific board is going to be used for, she’s kept that a bit cryptic as it’s the subject of a future video. Her builds usually revolve around designs from antique elecronics magazines, so it’s almost certainly something of that nature, and that’s also why this specific design couldn’t be just sent off to a board shop.

Continue reading “Improved Double-Sided Toner Transfer Method” →

Electromechanical TV Goes 3D With This Light-field Display

A mechanical TV — the kind that makes an image with a Nipkow disk and a single lamp with some help from persistence of vision — is easy enough to wrap your head around. Moving that technique into the third dimension, though? That’s a bit of a head scratcher. Luckily for us [AncientJames] provides a simple visual explanation for how the magic happens.

Instead of a disk doing a raster scan of the display, he’s using a rapidly-spinning drum with holes in it. In place of a single lamp, he’s got an array of LED matrix displays, each 32 pixels by 64 pixels in resolution. The trick is splitting the model up into a light field, so each hole projects its own image of the object at the proper angle.

In this demo there are three matrix displays, though that does limit the viewing angle as they’re arranged as one half of a hexagonal prism — you’d need more screens to get a full 360. The effective resolution through the drum is only about 100 pixels by 48 pixels per eye, but that’s still enough to play DOOM with.

This isn’t the first time this particular [Ancient] has got DOOM going on a volumetric display, and based on previous results, it probably won’t be the last time either. This implementation, which keeps the displays stationary and does not require a pricey laser projector, looks the most accessible to us, as long as you watch your fingers.

Continue reading “Electromechanical TV Goes 3D With This Light-field Display” →

Geothermal Cooling For New York’s Subways

You might think that if you dug some tunnels down into the ground where you could be out of the sunshine, that you might find them to be relatively cool and comfortable inside. Yet, fill those tunnels with trains and supporting equipment and millions of commuters, and you’ll instead find yourself sweltering in the heat.

New York’s subways are too hot for comfort, and have been for some time. Unfortunately, unlike any old regular building, you can’t just air condition a subway and call it done. Instead, authorities are looking for other solutions to beat the heat on the famous underground transit network.

Continue reading “Geothermal Cooling For New York’s Subways” →

Testing Coulomb’s Law And Similar Fundamentals Yourself Remains Tricky

How easy is it to build a simple demonstration at home that proves fundamental law of physics, such as Coulomb’s inverse square law, or Maxwell’s equations? This is one of those questions that always nagged at [Casual Physics Enjoyer] as they sought to find ways to develop a more intuitive understanding of these fundamentals with simple DIY-at-home experiments. Unfortunately this turned out to be rather tricky for Coulomb’s law.

Us H. sapiens – courtesy of a few bright individuals – have figured out many of the fundamentals that underlie this physical world over the past few thousands of years. Even if we still got some pretty massive fundamentals left today for equally bright-minded folk to bash their collective heads against, basics like Coulomb’s law or Maxwell’s equations ought to be a snap now for the average person to replicate since they were after all performed in an era before quantum mechanics, computers or even electrification.

To the dismay of the average physics student, experiments that demonstrate these fundamental laws of physics are still pretty hard to replicate without some solid time and monetary investment. This is demonstrated quite succinctly in the linked article, where the question of how to demonstrate the force between two charged particles, as in Coulomb’s law, and that it is an inverse square relationship is attempted.

Whereas the Wikipedia entry claims it to be a ‘simple experiment’ with just two identical spheres, in a DIY setting this is somewhat tricky, including the part where you have to charge up the spheres and measure the force. Using some aluminium foil and wires you can get the two ends to separate as you’d expect, but quantifying the force is a whole other matter.

The many polygons of Solid Snake on an ESP-driven LCD

Metal Gear Solid Moves From PlayStation To ESP32

If you haven’t heard of Metal Gear, you probably haven’t played video games these last few decades. The original Metal Gear dates back to 1987 and launched on the MSX, but the real rise to fame probably started with Metal Gear Solid on the original PlayStation in 1998. What needed a hefty console in 1998 can comfortably fit on a microcontroller in 2026, though, as [David Montero Crespo] demonstrates with his port of MGS to the ESP32-S3.

[David] is — as we always are — standing on the shoulders of giants with this hack. Most specifically, the project relies entirely on the [FoxdieTeam] MGS Reversing decompliation project. Of course what one team decompiles, another can recompile, and in this case [David] chose to recompile the game for Expressif’s exceptional ESP32. It wasn’t quite as easy as just forking the repo and compiling with the ESP32 as a target though, as the blog post explains.

We won’t spoil it, but [David] did have to make some changes to account for the different quirks the MIPS processor in the PlayStation has compared to the Xtensa cores on the microcontroller. Then to make it playable, he put the ESP32-S3 module onto some perfboard with an analog stick from a drone controller, an ILI9341 LCD panel, and a resistor ladder to run the buttons for a barebones handheld.

Fans of MSG and its many sequels may appreciate this replica of the codex communicator. Fans of the ESP32 may remember the Wipeout clone we featured earlier, which already proved the popular microcontroller could handle PlayStation-level graphics. If you were hoping for actual solid metal gears, you can cut your own at home.