See the animations here: https://www.desmos.com/calculator/ln3asgblz0
Here’s an embedded version:
When I first heard about this project, I already had a picture of what my card was going to be in my head, I have made ‘artistic’ graphs in Desmos before, so I already knew all of Desmos’s features, and it’s drawbacks too. To start off my graphing project, I wanted to cover all of the required functions first so that I could mess around after, looking back, I really shouldn’t’ve worried about that, because I ended up using every function except log more than once, and log was already reserved for my logs in the fireplace joke, so I was safe there too.
As I was adding my functions, I realised how time-consuming it was to type in the same number over and over for the transformations of similar functions, so I solved this by making a few constants that all my functions could use, that way I only needed to adjust the translation relative to the object I was making (if constant was 10 for example, 11 would be c+1). Because I knew I was going to use a lot of circles in my graph, which are implicit relations with y not isolated, I wanted to solve for y and get 2 solutions so that I could use as many transformations as possible, a tool I found helpful to test graphs and solve is Wolfram Alpha, which allows you to copy Desmos’ functions in and returns solutions. Another disappointing thing about Desmos is the syntax for things like domain/range constraints, Desmos does not support commas, so if you want to apply a restriction to both x and y, you have to use 2 separate clauses. One thing I discovered Desmos does let you do, however, is set a restriction on a function defined by itself, so for example, you can shade in a function and apply a restriction that lets the shading keep its curve. Desmos also doesn’t let you set more than one constant at a time, for example y={1,2} should draw 2 lines, but does nothing. Because desmos will only let you use inequalities when equating to y, I got around it by defining my function, but not graphing it, then adding the restrictions in a separate line, for example: y>f(x). I also tried to use as few constant graphs as possible, and whenever I could, I used a high degree polynomial to draw 3 lines, but Desmos didn’t seem to like degrees too high, so the corners are slightly rounded, but I still think it was a good use of the function. I also encountered some cosmetic errors, for example, because the rational expression in my star never reealy does have a zero, there was a gap between the sides, which I ended up filling with a point, and it ended up looking pretty nice. When it came to my self-portrait, I really tried to bring out my non-existent art skills, but anything I tried was too scary looking, so instead, I put all my creativity into my clothes, to make the polka-dots, I used a relation with trig functions, that made circles, I then added vertical and horizontal scaling, and made it an inequality to shade the circles in, this would have taken much longer to do using normal circles, let alone semicircles. I also wanted to add many vertical stripes, and because Desmos didn’t like my use of restrictions, I just ended up using a transformed tangent graph, which produced similar vertical lines, again, saving me many function entries. Another thing that saved me from redefining a function was adding a second argument. If I knew I was going to rescale a function, I would define it as f(x,s) where s is scale factor, this again saved me from having to make new functions. Because Desmos doesn’t allow you to take the inverse of an already defined function (like f⁻¹), I avoided using the sine function, and instead used inverse sine (arcsine) whenever possible, the only downside to this is that arcsine is only defined for acute angles. Another challenge I faced other than Desmos itself was the letter m, I knew it needed to be quartic, but wasn’t sure how to get it in the right spot, I ended up figuring it out by first making a factored version at the origin, and adding the same translation to every one of the 4 x’s, and I ended up with it in the right spot. The only other challenge I faced was space, as I was writing out ‘merry christmas’, I ran out of space, but didn’t want to rescale every letter, I simply fixed this by writing R², because, it is the same thing after all. Finally, after completing the required parts of my christmas card, I knew I could have some fun with animations, after I accidentally stumbled upon the slider options while setting a constant. I started with a variable that increased indefinitley, and every time I wanted to use it to measure time, I would first take the remainder after dividing by a certain number, where a greater number is better, I did this using the modulo operator. After that, I subtracted it from a number, so that it would be negative for a fraction of a cycle, I could then use the sign function to return a negative or positive number based on the time. I ended up using this time variable to make an actual clock, which actually works. I also used the time variable to add flashing lights to my tree, smoke from the chimney, and a giant snowflake which took a table of points and transformations with sine and cosine. I definitely would not have known how to use these functions if it weren’t for computer programming, where these functions are used all the time. After my card was complete, I noticed it was very slow, and Desmos seemed to have not rendered all my graphs, especially the roof, which had some disappearing spots, but I couldn’t do anything about it. Because of this, my screenshot is made up of several zoomed-in ones, so all detail should be a bit better. I also added comments within my project, explaining some functions, so make sure to check it out to see the animations!
Overall, although this project took over 3 days somehow, I think it was an excellent way to review transformations, as I remembered how scales are always about the axis, and how you have to factor when you have both a scale and transformation. The project also showed how when solving for x instead of y, the opposite happens, and the y translation becomes negative instead of the x, this was very important when transforming relations.