Package: chronotva
ChronoTVATable of ContentsOverviewFeaturesRequirementsInstallationUsageCommand-Line ArgumentsImage SizeExamplesDefault ParametersCustom Colors and Output FormatAdjusting View AnglesHigh-Resolution OutputImage Size in PixelsImage Size in InchesSelective Unfolding and Axis DisplayCustom Output DirectoryCombination of Various OptionsFull CustomizationFurther ReadingEmbeddingsLicenseContactOverviewChronoTVA (TheChronomancer'sTesseractVisualizationAid) is a Python 3.9+ command-line tool designed for generating images from three-dimensional coordinates of unfoldings of a tesseract.This has been tested with Python3.9,3.10,3.11, and3.12. The only dependency ismatplotlib.For more information on the unfolding process, please read theFurther Readingsection.FeaturesColor Customization: Customize block and edge colors using RGBA format or named colors.View Angle Adjustment: Set elevation and azimuth angles for 3D plot perspective.Output Format Options: Generate images in PNG, SVG, or PDF format.Image Dimensions & DPI: Control the dimensions and resolution (DPI) of the output image.Transparency and Shading: Option to enable transparency and shading in the plot.Axis Display: Toggle the display of axes in the plot.Automatic Output Directory Management: Saves plots to a specified directory or creates a default one based on the current date and time.Selective Unfolding ID Plotting: Plot specific unfoldings by providing their numeric identifiers.Whitespace Removal: Automatically remove whitespace around the image.Flexible Dimension Specifications: Set image dimensions either in pixels or inches.Robust Error Handling: Includes validations and error handling for input arguments and plot configurations.Command-Line Interface: Offers a user-friendly command-line interface for configuring and running the plotting process.Dynamic Plotting Capabilities: Capable of plotting varying data sets based on provided unfolding IDs.RequirementsPython 3.9+MatplotlibInstallationEnsure Python 3.9 or higher is installed on your system.Install via pip:pipinstallchronotvaUsageRun the script from the command line. Default values will be used and an output directory with the current date and time will be created.chronotvaYou can also specify the desired parameters. For example:chronotva--block-color"255,0,0,1"--edge-color"0,255,0,1"--output-formatpngCommand-Line Arguments-b, --block-color: Block color in RGBA format or color name. Default: '230,230,230,1'-e, --edge-color: Block edge color in RGBA format or color name. Default: '25,25,25,1'-v, --elevation: Elevation angle for the plot in degrees. Default: 30-a, --azimuth: Azimuth angle for the plot in degrees. Default: 22.5-f, --output-format: Output file format (png, svg, pdf). Default: 'svg'-d, --output-dir: Output directory for the plots.-p, --dpi: DPI for the output image. Default: 300-t, --transparent: Enable transparency in the output image. Default: True-s, --shade: Enable shading in the 3D plot. Default: False-x, --show-axes: Show axes in the plot. Default: False-w, --whitespace-removal: Remove whitespace around the image. Default: True-u, --unfolding-ids: Comma-separated numeric identifiers of unfoldings to plot.Image SizeFor image size, you can provide either pixel height and width, or inch height and width. Pixels will be converted to inches based off of the DPI value provided, 300 by default.--pixel-height: Height of the output image in pixels.--pixel-width: Width of the output image in pixels.Or provide:--inch-height: Height of the output image in inches. Default: 6.4--inch-width: Width of the output image in inches. Default: 4.8If you want the image to be the exact size in pixels and inches with no trimming, make sure to pass in--whitespace-removal false.ExamplesDefault ParametersRun ChronoTVA with default parameters. This will generate an SVG image with default colors, dimensions, and angles, saving it in a directory named with the current date and time.chronotvaCustom Colors and Output FormatGenerate a PNG image with red blocks and green edges.chronotva--block-color"255,0,0,1"--edge-color"0,255,0,1"--output-formatpngAdjusting View AnglesSet a specific elevation and azimuth angle for a different perspective.chronotva--elevation45--azimuth45High-Resolution OutputCreate a high-resolution image with increased DPI and transparency enabled.chronotva--dpi600--transparenttrueImage Size in PixelsGenerate an image with specific pixel dimensions, ensuring no whitespace removal for exact sizing.chronotva--pixel-height1080--pixel-width1920--whitespace-removalfalseImage Size in InchesCreate an image with custom dimensions in inches, using SVG format.chronotva--inch-height8--inch-width10--output-formatsvgSelective Unfolding and Axis DisplayPlot specific unfoldings of the tesseract and display axes.chronotva--unfolding-ids1,3,5--show-axestrueCustom Output DirectorySave the generated images in a specified directory.chronotva--output-dir"/path/to/custom/directory"Combination of Various OptionsA combination of various options, including color customization, view angle adjustment, and selective unfolding plotting.chronotva--block-color"blue"--edge-color"yellow"--elevation60--azimuth30--unfolding-ids2,4,6Full CustomizationFully customize the image with block and edge colors, DPI, transparency, shading, axis display, whitespace removal, and image size in pixels.chronotva--block-color"128,0,128,0.5"--edge-color"255,165,0,1"--dpi450--transparenttrue--shadetrue--show-axestrue--whitespace-removalfalse--pixel-height1200--pixel-width1600Further ReadingTheunfoldingswere created byMoritz Firschingand are fromexploringhow a tesseract, a four-dimensional hypercube, can be projected or unfolded into three-dimensional space. This process systematically analyzes the geometric relationships and connectivity of all cubes composing the tesseract. The process reveals 261 unique configurations, each representing a distinct unfolding of the tesseract, which can be visualized or rendered in three-dimensional space.For a much more thorough explanation of the complete unfolding process, check outUnfolding the TesseractbyPeter D. Turneyfrom the Journal of Recreational Math.LicenseThis software is released under the MIT License.ContactFor support or contributions, please contactJacob 'the-chronomancer' Coleman.