logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Isaiah RobertsComputer science
(5/5)

834 Answers

Hire Me
expert
Mohammad KaifAccounting
(5/5)

510 Answers

Hire Me
expert
Pam SalvasLaw
(5/5)

782 Answers

Hire Me
expert
Lesley RobertsGeneral article writing
(5/5)

969 Answers

Hire Me
C Sharp Programming

In this assignment, you will write a program that plot ASCII text approximations of the Mandelbrot set.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Assignment 2

In this assignment, you will write a program that plot ASCII text approximations of the Mandelbrot set.

 

Problem 1

Consider the function𝑃(π‘₯,𝑦)defined as follows

𝑃(π‘₯,𝑦)(𝑒, 𝑣) = (𝑒2− 𝑣2+ π‘₯, 2𝑒𝑣 + 𝑦)

We define the orbit𝑂(π‘₯, 𝑦)of a point(π‘₯, 𝑦)to be an infinite list of items

𝑂(π‘₯, 𝑦) = {(0, 0), 𝑃(π‘₯,𝑦)(0, 0), 𝑃(π‘₯,𝑦)(𝑃(π‘₯,𝑦)(0, 0)), 𝑃(π‘₯,𝑦)(𝑃(π‘₯,𝑦)(𝑃(π‘₯,𝑦)(0, 0))), ...}

In other words, the nth entry of the list𝑂(π‘₯, 𝑦)is the𝑃(π‘₯,𝑦)function composedwith itself n times and then applied to(0, 0)

Define a F# functionorbitthat takes a single point(π‘₯, 𝑦)and index𝑖asan arguments and returns anπ‘–π‘‘β„Želement of the infinite list corresponding to𝑂(π‘₯, 𝑦).

You may want to define a helper function corresponding to𝑃(π‘₯,𝑦).

Problem 2

Define a recursive function disp that takes two arguments: - a number d, and - a list of tuples pairs.

Every tuple in this input list consists of a number followed by a character, and you can assume the input list is always in ascending order. For example, a possible input list might be:

[(0.15, '#'), (0.5, 'x'), (1.0, '.')]

The function disp should return the character from the list that corresponds to the smallest number on the list that is greater than the input d, and if d is larger than all the number in the list, disp should return a space character, ’ ’. For example,

disp 0.01 [(0.15, '#'), (0.5, 'x'), (1.0, '.')] = '#'

disp 0.4 [(0.15, '#'), (0.5, 'x'), (1.0, '.')]     = 'x'

disp 100 [(0.15, '#'), (0.5, 'x'), (1.0, '.')]     = ' '

Problem 3

One way to approximate the Mandelbrot set is to consider a certain element within the orbit of every point on the plane (such as the 12th element) and to check whether that element is within a a certain distance from the origin; if it is within this distance, then a non-blank character should be printed, else it should be left blank. You should use the following function to calculate distances of points from the origin:

let norm (x,y) = x*x + y*y

These distance values can then be used with disp and orbit to turn points on the plane into appropriate ASCII characters within an ASCII plot of the Mandelbrot set.

Define a function mandelbrot that takes three arguments: - the resolution of the approximation, r (used with the plane function), - the index of the elements, i, to check in the orbit lists of the points, and - the formatting list, l (to be used with the disp function).

This function should return a list of characters that corresponds to a picture approximating the shape of the Mandelbrot set on the plane.

You will need to combine the split, plane, disp, and orbit functions appro- priately; list comprehensions are allowed.

Once you’ve defined the function mandelbrot, you can generate an ASCII ver- sion of an approximation of the Mandelbrot set by evaluating the expression:

mandelbrot1712disp_symbols |> printfn"%s";;

 

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. ThisΒ  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme