Giter VIP home page Giter VIP logo

non-circular-gears's Introduction

non-circular-gears

Gears are not always round. Non-circular gears were sketched by Leonardo da Vinci back in the 15th century. Such gears are designed to convert rotational speed in a nonconstant manner. They also look cool.

This project is a non-circular gears system generator: the central gear in orange has an unusual shape, and all the other gears in red are built to accomodate it. All of them have a fixed rotation axis in green. You can also add more gears with the left mouse button.

See it live here.

Donate

Preview

Illustration 1

Illustration 2

Illustration 3

Explanations

The theory for this project was partially inspired by the excellent Kisssoft paper by Dr. Aljaž Pogačnik. You can find documents in the \src\research folder.

Base idea

Each gear is described in polar coordinates: for each angle, a radius. The main gear can be any function if the radius variations are not too fast. The other gears are built around it to accomodate this geometry.

In a nutshell, the 3 principles are:

  • the gears are always in contact
  • the gears roll without slipping
  • the gear ratio is non-constant, since the radii vary with the angle

This is explained more precisely in the research papers.

For computation, the gears are simplified to their operating pitch lines. The teeth are only added for the rendering.

Antialiasing result

Operating lines on the left. Same gears with teeth added for rendering on the right.

Obviously, this is a great simplification, since in real life such gears require very precise teeth shapes to work together.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.