Skip to content

Computing basic structural properties of the shapes obtained from cutting a Möbius strip and its generalisations with arbitrary number of half-twists.

License

Notifications You must be signed in to change notification settings

esimonov/paradromic-rings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Möbius strip dissections CLI

Paradromic rings are shapes created by cutting a Möbius strip across its width. This CLI can be used for computing their basic structural properties.

The main goal of the project was to explore Scheme's capabilities as a general purpose programming language. It's implemented in R5RS Scheme and uses SRFI-28 for string formatting.

The idea for a subject was inspired by Dr Tadashi Tokieda's course Topology & Geometry.

Why?

Some surprising properties show up when dissecting Möbius strips and similar structures.

A mathematician confided
That a Mobius band is one-sided,
And you'll get quite a laugh,
If you cut one in half,
For it stays in one piece when divided.

Cut along the centerline

When the strip is dissected off-center instead, the result may seem even stranger:

Off-center cut

Let's use the CLI to verify what we've just seen!

Let L and W denote the initial length and width of the strip, respecitively.

Enter the number of initial half-twists (or 'q' to quit) : 1
Enter D>=2 to mark the line 1/D along which the strip will be dissected (or 'q' to quit) : 2
---------
When dissecting a strip with 1 half-twist 1/2 way across its width, you get a single connected strip which is 2 times longer than the original one:

Length: 2L
Width: W/2
Number of half-twists: 4


---------

Let L and W denote the initial length and width of the strip, respecitively.

Enter the number of initial half-twists (or 'q' to quit) : 1
Enter D>=2 to mark the line 1/D along which the strip will be dissected (or 'q' to quit) : 3
---------
When dissecting a strip with 1 half-twist 1/3 way across its width, you get two linked strips, one of which is 2 times longer than the other:

Strip #1
Length: 2L
Width: W/3
Number of half-twists: 4

Strip #2
Length: L
Width: W/3
Number of half-twists: 1



---------

Let L and W denote the initial length and width of the strip, respecitively.

Enter the number of initial half-twists (or 'q' to quit) : q
Goodbye!

Basic santity check:

Enter the number of initial half-twists (or 'q' to quit) : 0
Enter D>=2 to mark the line 1/D along which the strip will be dissected (or 'q' to quit) : 2
---------
When dissecting an untwisted strip 1/2 way across its width, you get two disconnected strips of the same length:

Strip #1
Length: L
Width: W/2
Number of half-twists: 0

Strip #2
Length: L
Width: W/2
Number of half-twists: 0

Basic insanity check:

Enter the number of initial half-twists (or 'q' to quit) : 101
Enter D>=2 to mark the line 1/D along which the strip will be dissected (or 'q' to quit) : 7
---------
When dissecting a strip with 101 half-twists 1/7 way across its width, you get two linked strips, one of which is 2 times longer than the other:

Strip #1
Length: 2L
Width: W/7
Number of half-twists: 204

Strip #2
Length: L
Width: 5W/7
Number of half-twists: 101

Original image sources:

How to run

Compile and run with CHICKEN Scheme:

csc main.scm
./main

Or interpret without compilation:

csi main.scm

About

Computing basic structural properties of the shapes obtained from cutting a Möbius strip and its generalisations with arbitrary number of half-twists.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages