Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Haskell Programming Here is the definition of a data type for representing a few basic shapes. A figure is a collection of shapes. The type

Haskell Programming

image text in transcribed

Here is the definition of a data type for representing a few basic shapes. A figure is a collection of shapes. The type BBox represents boending boxes of objects by the points of the lower-left and upper-right hand corners of the smallest enclosing rectangle. (a) Define the function width that computes the width of a shape. width::ShapeLength For example, the widths of the shapes in the figure f are as follows. f=[Pt(4,4),Circle(5,5)3,Rect(3,3)72]>mapwidthf[0,6,7] (b) Define the function bbox that computes the bounding box of a shape. bbox::ShapeBBox The bounding boxes of the shapes in the figure f are as follows. >napbboxf[((4,4),(4,4)),((2,2),(8,8)),((3,3),(10,5))] 4 (c) Define the function minX that computes the minimum x coordinate of a shape. minx::ShapeNumber The minimum x coordinates of the shapes in the figure f are as follows. >mapminx+[4,2,3] (d) Define a function nove that moves the position of a shape by a vector given by a point as its second argument. move::ShapePointShape It is probably a good idea to define and use an auxiliary function addPt : : Point Point Point, which adds two points component wise

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions