CS151 project 1 Hoa Nguyen & Arlinda Rezhdo

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Hoa Nguyen and Arlinda Rezhdo:

1. Draw 6 hexagons, each with edge 100 co-lateral with two other hexagons and inside a blue circle of radius 100.

2.Make an archery target with proportionate concentric circles of different colors in it

Explanation:
• An archery target: It has 10 circles and a cross at the center
• Circles: The biggest circle has a radius of 100
• Proportionate: Every circle after that is 10 units smaller in radius

3.
1 angular unit – 90 degrees
1 unit – 50 forward

Pen down
Pen forward
Pen left
Pen up
Pen forward
Pen down
Pen forward
Pen forward
Pen left
Pen up
Pen forward
Pen down
Pen forward
Pen forward
Pen left
Pen up
Pen forward
Pen down
Pen forward
Pen forward
Pen left
Pen up
Pen forward

4.
1 angular unit: 60
1 unit: 15

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward

Pen Down
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Left
Pen Left
Pen Forward
Pen Up
Pen Left
Pen Forward
Pen Down

5.
1 angular unit – 90 degrees
1 unit – 100 forward

Pen down
Execute list shapeA
Pen up
Pen forward
Pen right
Pen forward
Pen down
Execute list shapeB

6. 1 angular unit: 60
1 unit: 15

Label: ShapeD
Pen Down
Pen Forward A
Pen Left 2
Pen Forward A
Pen Left 2
Pen Forward A
Pen Left 2
Pen Forward A
Pen Up
Pen Left
Pen Forward B

Pen Down
Pen Forward B
Pen Left 2
Pen Forward B
Pen Left 2
Pen Forward B
Pen Left 2
Pen Forward B
Pen Up
Pen Left
Pen Forward C

Pen Down
Pen Forward C
Pen Left 2
Pen Forward C
Pen Left 2
Pen Forward C
Pen Left 2
Pen Forward C
Pen Up
Pen Left
Pen Forward D

Pen Down
Pen Forward D
Pen Left 2
Pen Forward D
Pen Left 2
Pen Forward D
Pen Left 2
Pen Forward D
Pen Up
Pen Left
Pen Forward E

Pen Down
Pen Forward E
Pen Left 2
Pen Forward E
Pen Left 2
Pen Forward E
Pen Left 2
Pen Forward E
Pen Up
Pen Left
Pen Forward F

Pen Down
Pen Forward F
Pen Left 2
Pen Forward F
Pen Left 2
Pen Forward F
Pen Left 2
Pen Forward F
Pen Up
Pen Left
Pen Forward F
Pen Down

Label: ShapeE
Pen Down
A = 1
B = 2
C = 3
D = 1
E = 2
F = 3
Execute list ShapeD
Pen Up
Pen Forward 4
Pen Down
A = 1
B = 2
C = 1
D = 2
E = 1
F = 2
Execute list ShapeD

Did the artist draw the shape you expected for the first task? If yes, what shared knowledge permitted that to occur? If not, why not?

Yes. Shared knowledge included understanding of what a hexagon and a circle are and common limited knowledge of what the turtle can do.

Besides the set of instructions, what assumptions, or knowledge did you have to share between yourself and your partner for the first two tasks? After seeing the artist's rendering of your commands, did you feel like there was information missing?

We don't feel like there was information missing. The director was able to explain exactly what he wanted the artist to carry out with his instructions and the further explanations for certain key words.

How much flexibility, or ambiguity existed in your first two instruction sets compared to the later command sets? How much ambiguity can a computer handle?

We definitely had more flexibility with the first two instruction sets than the later sets. With the first two command sets, we were not restricted to just the 6 commands like in the later sets. Having more flexibility means more room for ambiguity for these sets of commands. The allowed 10 words for each key word in the second command set really helped with clearing ambiguity. As for the first instruction set, it was a tough task for the director to instruct the artist exactly what he wanted to happen in only twenty words.

Describe how much information was given from one person to another for task 3 compared to task 4. Was there a difference? Why?

We think more information was given from one person to another for task 4 than for task 3. This is because task 3 got us used to working with the restricted set of commands given. In other words, we got more experience from doing the same task twice.

Did the idea of labeling a set of commands make it easier to make more complex scenes or multiple copies of the shape? Why?

Yes. The labeling definitely saves a lot of time and space when multiplying copies of the shape or when repeating a set of commands but with a different set of values (all we had to do was to change the value of each of the label we had assigned earlier).

What do you think would happen if a set of commands tried to execute itself?

If there is an error somewhere along the way, obviously it will not fix itself. Meaning, the commands will not be able to successfully execute itself. Also, there would be no one around to witness the results of this set of commands. Just like a tree falling deep in the forest with no one around to hear it, the same philosophical argument can be applied to this case.

For the third task, your list of commands could create only one shape. How many different shapes could you create with the last version of your shape command list using variables?

There will be so many more shapes that can be created by changing variables. However, since computers have a maximum capacity, we can only create as many shapes as the computers allow us.

In the last task, if you changed your Shape D, would you need to change your Shape E? Does Shape E care what list of commands it calls?

No. We don't need to make any change to the list of commands of shape E because it is predefined by shape D. Therefore, shape E does not care what list of commands it calls because it is simply a variation of shape D.

What was the most challenging aspect of getting your shapes to draw in python?

Calculating the angles to create the shapes that we want.