Orion-Sehn

image

About Me

I’m a guy who likes to make bad jokes!

I am also interested in Computational Geometry, aperiodic tilings, pathing algorithms, and DevOps. I currently work for PCL construction as a Data Scientist. My current work focuses on doing graph visualization and path optimization, azure cloud parallelization (Azure Batch), and other fun stuff.

This is a little place where I can make my projects available.

Contact Me

Projects - Things I’ve made

Blender NetworkX Add-on Early Prototype - 2023

add_edge

This is a very early prototype of a graph visualization and calculation tool, which I hope someday to make into an open source project. The idea is to combine the ease of use and many algorithms defined in NetworkX, with the blazing fast Visualization and Animation tools of Blender. This would allow users to build and query very large graphs, in context with models associated with their projects. Collaborators:

Anytime Dynamic A* - An Anytime Dynamic Planning Algorithm implemented for NetworkX - 2023

image

This algorithm returns a path from a start state to a goal state. The algorithm is able to return a suboptimal path in a short amount of time. The algorithm is able to iteratively improve the path over time by calling the compute_or_improve_path method. The algorithm is also able to cope with dynamic environments by calling the update_graph function, which updates the graph with new weights. The algorithm makes use of previous work done when there are changes to the graph. Based on the work completed in this paper:

[1] Likhachev, Maxim, David I. Ferguson, Geoffrey J. Gordon, Anthony Stentz, and Sebastian Thrun. “Anytime dynamic A*: An anytime, replanning algorithm.” In ICAPS, vol. 5, pp. 262-271. 2005.

Source Code: https://github.com/OrionSehn-personal/networkx/blob/ada_star/networkx/algorithms/shortest_paths/ada_star.py

Collaborators:

Aperiodic Jigsaw Puzzle Generation and Edge Uniqueness Optimization - 2022

image image

This is a study on generating puzzle piece edges as a set of Bezier Curves, parameterizing their shape as an 18 dimensional vector with each component between 0 and 1. The challenge was to maximize the uniqueness of each of these edges by choosing these components to be as different as possible from the rest of the puzzle piece edges. The algorithm is applied to generate puzzles of different types of tiling, square, triangular, and Penrose, although in theory, it could be applied to any set of lines.

Website: https://orionsehn-personal-aperiodicpuzzle-puzzlesite-yy40ro.streamlit.app/

Source Code: https://github.com/OrionSehn-personal/AperiodicPuzzle

Collaborators:

Guide to Parallelizing Legacy Applications using Containerization and Azure Batch - 2022

image

A guide to using Microsoft’s Azure Batch to parallelize an arbitrary executable, using Docker Containers. This is a cloud computing architecture which enables users to spin up many virtual machines to complete many small tasks over many computers thereby amassing far more computing power than any single device could manage.

Link: https://orionsehn-personal.github.io/BatchGuide/

Collaborators:

One-Dim Substitution Tiling Visualization and Diffraction - 2020

image

image

This is a tool used for visualizing one dimensional substitution tilings. The user can define a substitution, and its first few iterations will be displayed as a segment diagram. Also included is the diffraction intensity function and the diffraction pattern of the tiling. Additional key elements of the tiling is also such as the Perron-Frobenius eigenvector, and if the subsitution is pisot.

Website: https://funmaster524-1-dimsubstitutionviewer-streamlit-sub-sx3uuu.streamlit.app/

Source Code: https://github.com/OrionSehn-personal/1-dimSubstitutionViewer

Collaborators: