Programmer for 25 years. Only time I have ever used math more complicated than simple multiply/divide was… actually never.
That one time when I copy/pasted a formula for linear interpolation, was still just multiplication and division. And I still have no idea how it works.
I’ve even done OpenGL and graphics programming and still haven’t needed any algebra/trig/etc, although I don’t do complex 3D rendering or physics or anything like that.
I wish I knew how to do cool programming stuff like draw circles and waves and stuff though, but I’ve never seen a tutorial that didn’t go WAY over my head immediately.
Drawing a circle is actually pretty simple! Say we want to draw one with:
radius r=5
center C=(0,0)
1000 points
The logic would be:
for (let i = 0; i < 1000; i++) {
// full circle is made up of 2 * PI angles -> calculate current loop angleconst angle = (2 * Math.PI) * (i / 1000)
const x = r * Math.cos(angle)
const y = r * Math.sin(angle)
drawPixel(x, y)
}
The circle starts being drawn at (5, 0). As y approaches -5, x gets smaller until it hits 0. Then x approaches -5 and y approaches 0, and so on.
Never really understood people who say they don’t use algebra. I use it very regularly.
Programmer for 25 years. Only time I have ever used math more complicated than simple multiply/divide was… actually never.
That one time when I copy/pasted a formula for linear interpolation, was still just multiplication and division. And I still have no idea how it works.
I’ve even done OpenGL and graphics programming and still haven’t needed any algebra/trig/etc, although I don’t do complex 3D rendering or physics or anything like that.
I wish I knew how to do cool programming stuff like draw circles and waves and stuff though, but I’ve never seen a tutorial that didn’t go WAY over my head immediately.
Drawing a circle is actually pretty simple! Say we want to draw one with:
The logic would be:
for (let i = 0; i < 1000; i++) { // full circle is made up of 2 * PI angles -> calculate current loop angle const angle = (2 * Math.PI) * (i / 1000) const x = r * Math.cos(angle) const y = r * Math.sin(angle) drawPixel(x, y) }
The circle starts being drawn at (5, 0). As y approaches -5, x gets smaller until it hits 0. Then x approaches -5 and y approaches 0, and so on.