For this assignment, I planned to incorporate something that I have been passionate about for 10 years now which is archery. Truthfully, I’m pleased with how this task turned out. My life has involved archery greatly and continues to do so. And it’s awesome to be able to integrate that aspect of myself somewhat with my university education.
In order for this assignment to be interactive, when mouse is clicked the archery target appears circle by circle. Each circle color resembles a score. Realistically speaking, I wanted the colors to be as accurate as possible that’s why I chose the colors that I did. For it to be as close to the target as possible. Overall, i’m pleased with the outcome of this assignment.
let circleColors = [[255, 255, 0], [255, 0, 0], [0, 0, 255], [0, 0, 0]]; // Yellow, Red, Blue, Black
let circleSizes = [100, 200, 300, 400];
let circleIndex = -1;
function setup() {
createCanvas(600, 600);
textAlign(CENTER, CENTER);
textSize(48);
fill(255, 255, 255);
}
function draw() {
background(240, 255, 255);
// Draw the circles for the archery target
for (let i = circleIndex; i >= 0; i--) {
fill(circleColors[i][0], circleColors[i][1], circleColors[i][2]);
stroke(0);
strokeWeight(1);
let circleSize = circleSizes[i];
ellipse(width / 2, height / 2, circleSize);
}
// Draw the arrow-shaped letters
let nickname = "Shroon";
let startX = (width - (nickname.length - 1) * 50) / 2;
let startY = height / 2;
let arrowSize = 50;
let spacing = 50;
for (let i = 0; i < nickname.length; i++) {
drawArrow(startX + i * spacing, startY, arrowSize, nickname.charAt(i));
}
}
function mouseClicked() {
if (circleIndex === circleSizes.length - 1) {
circleIndex = -1; // Reset to show innermost circle again
} else {
circleIndex++; // Increment to show the next circle
}
}
function drawArrow(x, y, size, letter) {
// Draw the arrow body
fill(255);
stroke(0);
strokeWeight(2);
beginShape();
vertex(x - size / 4, y - size / 8);
vertex(x - size / 4, y - size / 2);
vertex(x + size / 4, y - size / 2);
vertex(x + size / 4, y - size / 8);
vertex(x + size / 2, y - size / 8);
vertex(x, y + size / 2);
vertex(x - size / 2, y - size / 8);
vertex(x - size / 4, y - size / 8);
endShape(CLOSE);
// Display the letter
fill(0);
textSize(size / 2);
textAlign(CENTER, CENTER);
text(letter, x, y - size / 8);
}
function drawArrow(x, y, size, letter) {
// Draw the arrow body
fill(255);
stroke(0);
strokeWeight(2);
beginShape();
vertex(x - size / 4, y - size / 8);
vertex(x - size / 4, y - size / 2);
vertex(x + size / 4, y - size / 2);
vertex(x + size / 4, y - size / 8);
vertex(x + size / 2, y - size / 8);
vertex(x, y + size / 2);
vertex(x - size / 2, y - size / 8);
vertex(x - size / 4, y - size / 8);
endShape(CLOSE);
// Display the letter
fill(0);
textSize(size / 2);
textAlign(CENTER, CENTER);
text(letter, x, y - size / 8);
}
Reading Response:
Don Norman’s book “The Design of Everyday Things” addresses the difficulties people encounter with everyday possessions by emphasizing the design concepts of affordances, signifiers, and mapping. Norman illustrates the uncertainty and frustration brought on by poor design by sharing personal tales about his problems with doors and other everyday items. He highlights the significance of discoverability and understanding in effective design, talking on the necessity of clear and understandable signals that convey the right information about what may be done and how.
Furthermore, he emphasizes how important it is for designers to comprehend both technology and human behavior. He draws attention to the difficulties brought about by technology advancements, such as the growing complexity of everyday items as a result of functional additions. Norman talks on the paradox of technology, which has the ability to improve people’s lives and make things easier, but it also creates complexity that can cause users to become frustrated and struggle. Additionally, when designing products, the interaction of psychology and technology is crucial to making sure that people find the end result delightful and pleasurable as well as useful. Norman’s observations highlight the necessity for designers to put behavior and human needs design (HCD) first while utilizing technology to improve the user experience as a whole.According to him, the foundation of successful design is a thorough understanding of people and their wants, which is attained by observation and adaptive design processes that guarantee products actually satisfy user needs.