Allow the rotate function to specify an axis in 2D
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 24k
- Forks
- 3.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 25
Description
Most appropriate sub-area of p5.js?
- Core/Environment/Rendering
Feature enhancement details:
I want to be able to rotate objects in 2D without the center of rotation being the origin. I noticed that it is possible to move the origin using the translate function but this then requires me to reposition objects with respect to the new origin and that won't work if I want different objects to rotate around different centers (for example to make a 2D simulation of a planetary system with moons).
I'm hoping to support the following syntaxes:
rotate(angle, centerX, centerY);
rotate(angle, createVector(x, y));
Implementation
I'm planning to try to implement this myself but any thoughts others have on implementation details are welcome :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing rotate, translate, and createVector APIs and how 2D transformations are represented. Define how rotate(angle, centerX, centerY) and rotate(angle, createVector(x, y)) should behave, then verify that objects rotate around the requested center while existing rotate(angle) behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100