Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "trigonometry"
-
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
recently started game development... used trigonometry and algebra for the first time in real life..3
-
Every programming language I know of does trigonometry in radians.
Yet I have been puzzled for 4 hours whether JS was broken because it kept saying Math.sin(30) != Math.sin(150), trying all kinds of values, looking up basic trigonometry stuff again and again.
After that, 10 minutes of wondering why my json was invalid... right, you can't comment things out.
Then 15 minutes being baffled by a simple script tag not working, because I wrote script href instead of script src.
Finally, I threw a liter of chocolate milk over a $400 keyboard.
I really need to stop setting up new projects at 3am.7 -
I wrote a Blender plugin that uses vector math, matrices, calculus, trigonometry, and likely other types of math. There's recursion, filesystem access, image processing, interface logic, and on and on.
And worst of all - other people are expected to use it, so there's added pressure to do a good job.
Oh, the hours I spent trying to figure out why the imported geometry looked like an exploded mess. Fumbling around with mathematics I didn't fully understand was exhausting. Finding help was impossible at times because I didn't have the vocabulary to even describe the problems I was having. And getting it to complete an import before the heat death of the universe was not easy.
Every time I made progress and thought I was done, I would discover a bug that other importers didn't have, leaving me to sift through languages that definitely aren't Python to see if I could reverse engineer the logic they used.
I almost gave up a few times, but didn't.
Now I have something that, while not used by many people, works very well, is very efficient, and doubles as a palette cleanser when I need to do something for fun or for a challenge. Plus I learned a lot along the way.4 -
So honestly this is kinda like an update on what I am currently doing rather than anything else, but I think it's pretty cool. So I'm in 9th grade right now and we're learning Trigonometry. I grasped the concept on the first day and I began to make a program that would solve a Trig. problem. So far, if you don't know about Java, I have done the 'front-end' part of the program, just flashy text, descriptions, and a bit more. I'm still going to be working on it today, but I just wanted to share because I think I may be working on it for the next few days. I really like this challenge to my self, as it is helping me use the code I have learned to do something for "the real world." Anyways, here it is:
https://github.com/DylanPerez1/... -
Math.abs(x) I use this a lot, along with all trigonometry functions, which I love and am also glad they are implemented2
-
So if you haven't read my last rant (https://devrant.com/rants/1980559/...), for the past 2 days I have been working on a Trigonometry Solver because I am in 9th grade and we are currently learning this in my Math class. I have a GitHub open to display my project so I highly suggest you go and check it out (the link is in my previous rant). If you read the GitHub's most recent upload, the description pretty much gives an update of what I did (sorta) and what I hope to do in the future for the program. If you are still reading this (props to you) then here is the GitHub repository link: https://github.com/DylanPerez1/...
I hope the code is understandable and if any professional or well-learned Java developers can, it would be awesome if you could critique my work so I know what I need to work on! -
my head complains about lack of trigonometry and too many variables. and it's just about drawing and positioning some circles. no 'real' math.1