generated from mwc/problemset_typeface
I accidentally missed the part where I was to submit after each letter. Sorry! I'll answer the prompt for all 4 letters. A: I realized while it was easy to draw any line segment by hand, it was not immediately obvious how I might draw a line of any slope, as opposed to a slope of 0, -1, 1, or undefined, using the tools I already had. I happened to know it involved the inverse tangent, so it was just a matter of googling whether that was already a function in Python. I was excited that I knew the mathematics I needed to figure out the angle I would have to rotate, but did wonder I how would've felt had I not know how to transfer to the computer what I had first sketched on paper. J: Since I had done all straight lines with A, I wanted to use the circle function in this letter. The documentation you provided on it mentioned that the radius was the distance from the starting position to the center of the circle that was left of the turtle. I found, in both A and J, I had difficulty understanding whether to turn right or left and by what angle from the perspective of the turtle. I was actually a bit frustrated with this letter, and I found myself at various times rotating my head, body, and computer to figure it out. I falso figured out, through trial and error, that I could specify a negative radius if I wanted the center to be to the turtle's right. I would change a parameter, run the program, and decide if it needed further changing or if a different parameter needed to be changed. Q: For Q, I opted to use straight lines, but I decided I wanted a vertical bar through the open space of the Q. I was inspired by the set of rational numbers, but I forgot it was through the left side instead of the right, although I ended up liking the way it came out. I started with the simpler problem of making a Q without the bar first. It was only after I figured out how to make a regular Q when I figured out where and when to the put up or down so I could draw a vertical bar through it without having overlapping segments. One thing I noticed as I was writing was that the way I made the sort of elliptical part of the Q could be rewritten as a for loop iterating 4 times, which worked for the case of the normal Q. I was originally excited about getting the opportunity to use a for loop, but it didn't make sense to loop 4 times when I needed to move the pen up and down on the right side only as I drew the vertical bar. It was briefly annoying that my idea to use a loop for the entire Q besides the tail didn't work, but it was a fairly quick adjustment, since I could still have it loop twice on the left side that remained the same in the original version and what I ended up with. Z: I was really proud of how I did my Z! I chose a symmetrical design for it, so I was able to write half the letter out in a for loop that ran twice to do it. Being intentional about the way I designed the Z paid off in the relative ease in which I was able to write the code for it. |
||
---|---|---|
.commit_template | ||
.gitignore | ||
grid.py | ||
poetry.lock | ||
proof.py | ||
pyproject.toml | ||
test.py | ||
typeface.py |