These past few days, I've been delving deeper into oscillations looking beyond angular motion to real world applications such as a pendulum and a spring. Before that I've been exploring making additive waves using sine and noise functions, which makes a compelling visual animation. I've also made an array of oscillators in simple harmonic movement. In addition I've learnt the equation of a simple pendulum movement. I've taken it a step foward with multiple pendulums that either have random or fixed lengths , though due to the lack of interaction between bobs it is wholly inacurate. Friction between bobs is something I may add in the future. I've also made a bouncing spring sketch which I applied wind to. With these pass few sketches I liked seeing the intersection between forces and trigonometry concepts for oscillation.
This week I started Chapter 3 Oscillations in the Nature of Code. I learnt about angular motion and applied it to some of my previous p5.js sketches. One is an attractor with rotating squares which previously just had bubbles. Another is rotating squares in gravity and wind, which uses the bubble array sketch framework, but wind is already applied and it includes angular motion. This chapter involves a lot of trigonometry which like physics I haven't had much exposure to yet. However, Dan's really good at defining the terms simply and keeping the integrity of physics/math simulations in a simplyfied manner.
This week I built off what I learnt in Chapter 2. Specifically looking at attracting and repeling forces as well as the drag force which is liquid resistance. I made a code sketch using attracting and repeling forces depending if key or mouse is clicked. I found that this has a cool visual effect and as part of the culminating ecosystem project, it could be used for flying animals such as bees. I also made an array of bubbles moving through a liquid which implements the drag force.
This week I've been doing Chapter 2 Forces in the Nature of Code. Force requires a lot of math logic, but it's making sense so far. I made an object array of bubbles in an enviornment with gravity and wind. They are both just names for forces with pretty arbitrary values. Gravity is a force that pushes the object down and wind is one that pushes it to the left. In the future it would be fun to make them more acurate to real world physical equations, but for now I'm still applying concepts. In the sketch above, each object has a different mass so they interact with the enviornment differently. I've been trying to find a way to make the wind force interactive by making the x variable being tied to a numeric value, but I haven't been able to figure it out. That would make the wind force exert different amounts of power on the object.
I finished Chapter 1 Vectors in the Nature of Code and watched the videos. There's a lot of new terms, but I think I got a grasp on it. Although I don't have previous exposure to physics concepts, it's really fascinating and I've done some more reading on it. I uploaded two small p5.js projects this week. Ball with random velocity has a button to refresh. I like the css format flexibility I have once I add the p5.js sketch to sublime. Greyscale magnitude uses the magnitude of the vector as the background color. I got the idea, because I thought it would be visually interesting to apply the colors to a mouse position.
I've been watching series 6 and 7 in the Introduction to programming with p5.js videos from Dan Shiffman's coding train channel. I follow along by making some projects on the p5.js web code sketch editor . The color clicking one I made as a spinoff of a video on his mouse pressing video. I thought it would be cool to visualize the clicks with colors, so I made three variables that each get a random number through 200-10 and then feed them through the class into the fill function with rgb. I'm getting the hang of p5.js and next week I'm going to read Nature of Code and follow Dan's videos!
Response to Hi-Phi Nation Stastical Evidence Podcast
Before: To a certain point I think actions are an important reflection on one's character and thus can predict their actions in the future. At the same time, people change themselves and their behavior over the course of their life for better or worse. I'm not sure if someone's actions should be predicted from statistics. I don't think it makes sense to judge one person based on what people from similar background to them did. I also think it gets into the tricky territory of prejudice against race, gender or ethnicity.
After: From my answers above not much has changed about how I consider statistics or the past at predicting future actions, however I did learn more about the use of algorithms and risk assesments. I did know algorithms were being used to divide people into risk categories, but I didn't know the data points that went into it or that high risk people only had 8% chance of commiting a violent crime. I thought that the point made by Georgi Gardiner, a research fellow at Oxford University, encapsulates my thoughts on using statistical evidence. She recognizes that while indivizualized testimony is not totally reliable, the default is true. Also she regards that beyond bias people have an important advantage of stastical evidence, as cognitively and logically making sense of a story. Thus, I think that humans can be aided by statistical evidence, but that the algorithm should be monitored to check for unfair bias. Also I believe that a human judge should be the one making the ultimate desicion regardless of statistical data.
I started learning jQuery through Khan Academy and other websites. I made a music album sketch using animation elements as well as using a button to change a page. It's definitely one of my favorite websites as the side step animation effect looks really cool as well as the album covers. I think the library is very helpful for animation as it bypasses a lot of the steps used in javascript. I also started learning bootstrap as an extension of CSS and I've been remodeling my portfolio with it! I've also started to make it more web interactive.
I fixed the animal race sketch and made the animals speeds or pixels per 1/5 of a second correspond to their miles per hour. Algorithm: x=mph 60/x * 60 /5000 (px width per mile) /5 (px per 200 milliseconds). I can add more animals and I also think it would be interesting to explore the average movement of each animal throughout a prolonged period. In addition, I want to add a timer so that the movement of the animals in space and time is apparent to the user. I really liked applying math to this project. I think that a larger website like this would be a good educational tool for younger students.