Last time I left off with a virtual ball moving towards a virtual wall after touching on the basics of how we determine if and when the mathematical ball virtually hits the mathematical wall. It amounts to detecting when one geometric shape overlaps another geometric shape.
In the physical world, objects simply can’t overlap due to physics — electromagnetic forces prevent it. An object’s solidity is “baked in” to its basic nature. In contrast, in the virtual world, the very idea of overlap has no meaning… unless we define one.
This time I want to drill down on exactly how we do that.
Last time we saw that, while we can describe a maze abstractly in terms of its network of paths, we can implement a more causal (that is: physical) approach by simulating its walls. In particular, this allows us to preserve its basic physical shape, which can be of value in game or art contexts.
This time I want to talk more about virtual walls as causal objects in a maze (or any) simulation. Walls are a basic physical object (as well as a basic metaphysical concept), so naturally they are equally foundational in the abstract and virtual worlds.
And ironically, “Something there is that doesn’t love a wall.”
First I discussed five physical causal systems. Next I considered numeric representations of those systems. Then I began to explore the idea of virtual causality, and now I’ll continue that in the context of virtual mazes (such as we might find in a computer game).
I think mazes make a simple enough example that I should be able to get very specific about how a virtual system implements causality.
With mazes, it’s about walls and paths, but mostly about paths.
This is the third of a series of posts about causal systems. In the first post I introduced five physical systems (personal communication, sound recording, light circuit, car engine, digital computer). In the second post I considered numerical representations of those systems — that is, implementing them as computer programs.
Now I’d like to explore further how we represent causality in numeric systems. I’ll return to the five numeric systems and end with a much simpler system I’ll examine in detail next time.
Simply put: How is physical causality implemented in virtual systems?
November shouldn’t pass with just the one post. I intended a post last Science Fiction Saturday to rave about the new Doctor Who episode (celebrating 50 years of Doctor Who), but the day slipped to Sunday before I got the writing motor started. I’ll rave about it now: it was really, really good! A wonderful, delightful milestone marker and, as always, built on a damn good story.
I’ve not been idle lately! Dedicated post-retirement loafing finally shook the work dust off my shoes, and I’ve gotten back into personal project work. Seriously into it. In the 16-hour sessions, sleep and eating are unwelcome distractions, not knowing what time of day (let alone what day of the week) it is sense of seriously.
And I read some really good vampire novels!
As reported earlier, this week got off to a rough start. I let my guard down (foolishly) and got nabbed by the greedy PC rapists. All I wanted was to find a particular font for a project. The next day a more careful search turned up exactly what I needed, the fonts and just the fonts (ma’am).
Monday I mentioned that I planned to share my font-needing project with you. It’s not finished (many of my projects live a long time as I tweak them — some are living things that grow and improve forever). But it turned out so much better than I expected, I just had to share it with you this Science Fiction Saturday.
I’m also going to boldly try a new WordPress blogging trick!
Speaking of Happiness Moments, I finished my POV-Ray Tardis project.
Or more accurately, I finished the first phase of the project. The beauty of something like this is that you can return to it later and add details or make improvements. Sometimes you learn a new trick that can be retro-fitted to an older project.
That can happen on programming projects, too. Exposure to the Smalltalk and Lisp communities gave me a view of code as a living thing that evolves (sometimes daily) as all living things do.
I’ll write about that sometime, but today I just want to show off my Tardis!
Back on my first Sideband post, I wrote that, “Sideband posts are miscellaneous thoughts that accompany the main thread of posts. Think of them as small paths that meander off the main road. Some branch off, go a short ways and die after a short while. Others are scenic trails that follow along the main road.”
They never quite achieved that vision, so this year one goal is getting Sidebands back on track with that original “mission statement.”
And I’m going to start with fun topic: computer-generated 3D images!