Skip to content
View radcli14's full-sized avatar

Highlights

  • Pro

Block or report radcli14

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
radcli14/README.md

Summary

  • Hi, I’m @radcli14, an aerospace and mechanical engineer, specialized in dynamics (physics of motion)
  • I founded DCDC LLC, for District of Columbia Dynamics & Control, and host the website dc-engineer.com
  • My résumé is hosted on GitHub and created in Markdown text
  • I’m interested in mobile application development and 3D graphics
  • I am skilled in writing data analysis and simulation code in MATLAB and Python
  • I have released several applications on the App Store and Google Play, and am familiar in native Swift and Kotlin programming
  • I’m currently learning Unity and C#

Top Langs

Leetcode Stats

Projects

Mobile Multibody Dynamics

"MOMDYN" is a long term personal project of mine, and is the first ever multibody dynamics app on mobile devices. My vision is that this app, and other concepts I'm considering, fill an un-tapped market for useful engineering applications that students and professionals can access while on-the-go, whenever their creativity strikes. Originally created in pure Python, using the Kivy framework, I have since ported to native code using Python for the scientific back-end. Notably, combining Python and Swift is a major challenge, and in the process I developed the Bee Swift repository, which I believe to be the only existing clear procedure that explains how to combine Python and SwiftUI. MOMDYN is currently available on both the App Store and Google Play.

Native iOS With SwiftUI and SceneKit Native Android with Kotlin and Filament.

YouKon

It is an everyday task of a mechanical engineer to receive parametric data from some source (contractor, collaborator, etc), and have to store and convert it to the intended format and units to be used in a model. Frequently, we depend on multiple sources, each with their own systems and conventions. My idea with YouKon is to create a unit converter app, but rather than converting a single measurement at a time, allow the user to store multiple measurements in a project, and multiple projects in their user account. This is also my first foray into the Kotlin Multiplatform Mobile framework, which I will use to have a common backend architecture that deploys to both Android and iOS.

YouKon Block Diagram

Juego de la Rana

The Basque "Juego de la Rana" ("Igel Jokoa" in Euskera, or simply "Frog Game") is a popular tavern game where one must attempt to throw a metal disc into the mouth of a brass frog statue. This is an augmented reality (AR) version of "Juego de la Rana," allowing one to repeatedly flick a coin into a mouth of a virtual frog, from any location you choose. A 3D model of the frog statue was generated using XCode RealityKit and photogrammetry, and mounted on top of a model of the game board in Blender.

"Making of" video on YouTube Photogrammetry Model
YouTube video for the making of Juego de la Rana in AR 3D frog statue created using photogrammetery

Euler Rotations in 3-Dimensions

While putting together a presentation on dynamics for aerospace applications, my team created a slide on 3D kinematics and Euler angles. The math and stationary diagrams were not particularly intuitive, which inspired me to create my own visualization. The ER3D iOS app includes slider bars to control yaw, pitch, and roll angles, which are animated using three frames and a spaceship. Also, a globe is rendered beneath the ship, with a physics-based diffuse and normal mapped material, and you may drag on the globe to update the latitude and longitude to view different parts of the Earth. Context menus inside the app also include text descriptions of the kinematic properties.

Yaw Pitch Roll
Yaw Pitch Roll

dRuBbLe

dRuBbLe is the first app I ever released, based on a game we used to play in real life when I was in college. We would take bar stools and try to run and bounce a kickball off of the top of the stools for as far of a distance as we could across a parking lot. The original version was written in pure Python using the multiplatform framework Kivy to deploy on iOS and Android. I have recently started re-writing a 3D version of the game in Unity.

dRuBbLe in Python with Kivy dRuBbLe in Unity

Real-Time Simulation in Unity for Scientists and Engineers

In fall of 2022 I took an 8 week course in Unity that is offered by my workplace. As we are aerospace engineers (not game developers), the course focused on the attributes of the Unity engine that are useful to the hard sciences. In particular, an emphasis was placed on scripting and the C# programming language. My own interest was in evaluating the built-in physics engine, with focus on its capacity to accurately simulate dynamics. Unfortunately, I came away with the impression that the physics engine only "looks" real, its not viable as an engineering tool on its own. However, I did gain experience in writing my own, accurate simulation models in the C# language, and rendering them in 3D. I have since applied the knowledge gained in my professional job, creating lifelike visualizations of rocket launches using kinematic states estimated from accelerometers.

All The Planets Bouncy Attractors
Gravity Well Spinning Wrench

Two Links

During a period of time where I was binging double-pendulum videos on Youtube, I thought I should make my own version of one in app form. The physics of the double pendulum were initially evaluated in a Jupyter notebook using the Python sympy.physics.mechanics module. These equations were then translated into Swift and Kotlin code, and user interface was developed for iOS and Android. A user can control the dimension of the pendulum, and its colors. In the background is the moon and Earth.

Swifty TwoLinks KotlyOtly DobleDosLinks

Pinned Loading

  1. BeeSwift BeeSwift Public

    Add Python to a SwiftUI application with the BeeWare Briefcase

    Python 5 1

  2. Simulation of a four bar linkage usi... Simulation of a four bar linkage using sympy.physics.mechanics
    1
    {
    2
     "cells": [
    3
      {
    4
       "cell_type": "markdown",
    5
       "metadata": {},
  3. er3d er3d Public

    Euler Rotations in 3-Dimensions

    Swift

  4. twolinks twolinks Public

    SwiftyTwoLinks and KotlyOtlyDobleDosLinks

    Swift

  5. youkon youkon Public

    Unit conversions and projects for engineers

    Kotlin 1

  6. larana larana Public

    3D Augmented Reality version of the Basque Juego de la Rana

    Swift