Wonky Wheels
by Dinosu
Instructions
ā ļø Too slow? Run the project on Turbowarp: https://turbowarp.org/690349930 Paste your save codes here: https://scratch.mit.edu/discuss/topic/604485/ ------ Instructions (also in project) ------ 1. Draw a wonky wheel shape between the two dashed rings, or load one of the examples. 2. Click and drag your mouse slowly across the dashed horizontal line, and then press "Generate." Watch as your wheel runs smoothly on a strange road! Generate a save code if you like! ------ Experiment ------ What happens when you try these shapes? - Long rectangle - Oval/ellipse - Random squiggle ------ Guide for remixers ------ - The broadcast event "get road" occurs when the user presses "Generate." - Most of the variables are set in the "get wheel" sprite. - The variables that do not change throughout the project are denoted in all capital letters. - "WHEEL CENTER X" and "WHEEL CENTER Y" are variables that define where the wheel is shifted. For instance, if you wanted the road to be high on the screen, you would set "WHEEL CENTER Y" to a large number. - The "axis" sprite is simply the black dot in the center of the wheel. - The "clouds" sprite is pretty self-explanatory if you want to add to it or remove it. ------ Math explanation ------ This is how the project works: 1. User creates a drawing. Some points in the drawing are stored in a list in which each index is the angle from the center of the wheel to the point, and the item at the index index is the distance from the center to the point. This is known as "polar coordinates," based on a radius and angle. 2. The project uses linear interpolation to smooth the user's drawing and fill in any gaps that weren't detected in the drawing stage. 3. The project "unravels" the user's wheel drawing in order to form a road that it will roll smoothly on. Specifically, each value in the list of radii of the wheel are subtracted from the height of the wheel's center so that the new point just skims the outside of the wheel. 4. The wheel is rotated by taking the first item of the list, appending it to the end, and then deleting the first item. ------ Credits ------ Thanks to @colinmacc for the suggestion to include save codes! Thanks to https://i.imgur.com/tpQa868.jpg for the formula I used to load the example polygons (polar equation for an n-gon).
Project Details
- Visibility
- Visible
- Comments
- Enabled
More Cool Projects
Plants vs. Zombies (PVZ) V1.4 remix
by deltatale141321
beat up elmo
by Draven1205
Number Blocks 1-20 Incredibox
by BENJAMIN10A
beat up greg heffley football
by incredibleguy_67
Blue Mist Plus - Latest Infcycleone thousands Jumpscares remix copy copy copy copy copy copy c⦠copy
by JMG3000
Sesame street Elmo's world hands wild wild west version fixed!
by 13and14plus15
MYO: Total Drama Action
by StylishOlivia
ļ¼1+1ļ¼ćÆć©ć¹å Øå”ćå·»ćč¾¼ćć ć¢ć³ć±ć¼ćļ¼ļ¼
by ibukia
Ads.
by Xx-spider_wick-xX
Beat Up Troll Face
by robloxoff87
Coding 1a
by vincentl1
Friday Night Funkin' Tails Gets Trolled | No Villains
by CharizardAaroshdude
Abstract - A Cloud Scrolling Platformer (Server 1)
by wolfnet
ā Capture the Flag (Online)
by sceptile100
Deeper The Dungeon v1.4.2
by Collin_The_Newmaker
beat up mr dweller but it's low quality v9
by REKT_DDDDDDDDD
Sonic Before the Sequel EXPANDED 2022 SAGE
by kakeaaron
Spongebob Jetpack (V.1.1) Alpha Build
by Cryptierz
Barney error maker Bestboy087 Edition
by toodles867
å¹»ę³é·ć¢ććæć¼
by Tokoyo_mituki
Fnwmt Sprite Pack
by Jonabren
My talking Angela 2 remix
by PlanetCocukYediYasve
Minion Clicker 2
by bennyson3123
Yeardateblocks Band 7009
by yeardateblocksband