CISC 6745 Computer Visualization Spring 2019 Take-Home Mid Term
Several of the students in the class approached me and asked me whether a take-home
Mid-term is possible considering the facts 1)that we had two consecutive weeks with no class meetings
due to President’s day and the snow storm on Feb 12, 2019. 2) A take-home exam would be more meaningful
in terms of students conducting investigations at the Graduate-Level and undertaking application design based
upon concepts and methodologies previously presented in the slides , computer PYTHON codes and TABLEAU
Therefore, I am providing this take-home exam. Unlike the homework, I can’t give significant guidance toward
deriving solutions and I am giving you two weeks to complete the exam.
• Please work entirely on you own. Quote all sources of outside material not originated by you
• Please use the previously developed PYTHON codes as a basis for extending
applications to answer these questions
• Due on Friday, March 15, 2019. Penallty points subtracted for each day of late submissions
• You must submit the actual codes and tableau files so I can examine what you created and be able to test it.
1) a) In the random scatter code, after the section which horizontally re-orders the data, create some additional code which computes an array of slopes between the ordered points, that is
slope[i] = (y[i+1]- y[i])/(x[i+1]- x[i]), where x[] and y[] are the randomly generated scatter data that have been
ordered with the x-coordinate inside the code.
. Then, take the average of all these slopes and use that resulting average slope to fit a straight line approximation to all the data.
b) How would the result in 1a) compare to a straight line fit through the 0rigin (0,0) using (xmin,ymin) to (xmax,ymax) as coordinates to fit a straight line.
where xmin = minimum (all of the x data), ymin = minimum ( all of the y data),
xmax = maximum (all of the x data) ymax = maximum (all of the ydata)
2) In Q1 Color the scattered data dots in the original scatter application according to the level of the y-data in the scatter plot.
3) Create two of your own (different than the one shown in class) color migration schemes using the python inner nested rectangular shading application, or by using the rows of circles with migrated color application. You may select a migration pattern involving planes, or lines or a combination of planes and lines in RGB space. Demonstrate the color pattern output. Here are some examples of migration patterns
4) Take the several specified color migration patterns in a),b) and c) below and assign the colors (map) within the pattern onto the two-dimensional function f(x,y) =abs((sin(x)/x) X (sin(y)/y)). Normalize the function data between 0 and 1 and map the color onto it. To generate contours,plot a square grid region of very tiny circles using the circle plot command on the x-y planar function plot using those assigned colors to represent the values of the function withn a plane. The values of the f(x,y) function are for x and y both ranging between -20 and +20
a) migrate along an axis and a plane in RGB space
b) migrate along planes in RGB space
c) migrate along the gray diagonal in RGB space
Congratulations- you have just produced a contour plot of the function above using your own algorithm.(do
NOT use the built-in python routine which accomplishes this that we examined last month- )Here you have given yourself more of a choice of the color regions and graduations of color you wish to use.
Note that also, since the size of the circle can be made to approach a pixel size, that you in essence have created a bitmap of data which can be stored on an external file and recreated as an image for other applications
5) Extend the code in problem 4 to
a) Make the contour plot brighter
b) tint/hue the contour plot
6) Take the data generated in the python scatter code and bar chart codes and put it into an excel sheet and create a Tableau application which shows the data in scatter formats and bar chart formats. Also plot the moving average line fit to the data generated by the scatter plot code using a line plot visualization. Select colors for the dots according to their y-value
7) Extending question 6, in one Tableau sheet,create user-defined “measure” functions in Tableau which create the centroid for all the scatter data and display the centroid as a rectangle with a color dependent upon its level and include the straight line plot. ( The centroid is the average vector for the data X[] and y[])
8) Create a Tableau sheet which takes the bar chart data for the histogram generated in Q 6 and convert it
into a tree diagram with a text for the data value inside and the square being the size of the data value,
and the size of the square depending upon the level of the data
9) In the world data Tableau application, on the map sheet, create measure functions which determine the
ratio of each numeric parameter for each country with the US data value for that numeric parameter
and display this data as scatter data on the latitutde versus longitude sheet. Create another function which creates the maximum ratio for each of these user-defined parameters and displays this separately as s square.
10) Modify the shaded line application to shade radially ( circular shading from black to white) instead of linearly
from left to right.
11) EXTRA BONUS QUESTION
Take the function data generated in Q4 and create an excel sheet or txt file that contains that function data. You can use sequential file processing techniques in Python for writing data to external txt files. Input that data into a tableau application and show selected modes for displaying the data, including a contour plot, or selected line plots or bar charts, as desired.