2.Write a Slicer
One of the key steps in processing an STL file for printing is slicing. STL files were written
s were written to make slicing a low memory task by storing each triangle at a single place.
We already have code to do the following:
A Generator that returns a triangle one at a time from an STL file (specifically an ASCII STL file). It Return the triangle as a list of 3D points (tuples), ignoring the normal. (from HW4)
A function that takes a list of line segments, each line segment is a list of 2D points (tuples) and returns a single list of 2D points where the start of one segment is the end of another. ( from HW 3)
A function that converts a list of 2D points to G-Code (lab 2)
A function that writes GCode to a file
To make a slicer you need to:
Write a function that calculates the intersection of a triangle with a horizontal plane. The input of the function should be a list of 3D points (tuples). It should return a list of 3D points. See this website for hints on the mathematics http://geomalgorithms.com/a06-_intersect-2.html#Triangle-Plane (Links to an external site.)
( https://web.archive.org/web/20180706054857/http://geomalgorithms.com/a06-_intersect-2.html (Links to an external site.) )
Next you need to combine all of these different functions into a single workflow that takes in an STL file, a slicing height, print temperatures, movement speed , and extrusion speed and returns a G-code String which prints the walls of the STL file. It should have an outer iteration over slice heights of the STL, for each slice height, it should scan all triangles and make a list of the line segments that intersect the plane at that Z height. Then it should order those segments into a list of points. That list of points is then converted into gcode movement and extrusion commands. The entire system combines these slices with setup and shutdown Gcode for the ender 3 printer to make the print job. You may write to a file a layer at a time or at the end.
Once the slicer is done:
Run the previous function with a vase file such as one of the following files:
Submit your code as a Jupiter notebook with the .gcode in it and, and an image of your print.
3.ssay 1: Person I Admire
This essay assignment is the culmination of all your previous work in this module. You have
in this module. You have already engaged in the beginnings of the writing process of this essay. You have:
Brainstormed ideas (see Chapter 11 in SMG) about the essay in the Discussion Board.
Condensed your ideas down into manageable points around a working thesis.
Displayed knowledge of Description essays from Learning Activities
Drafted a Writing Activity (WA2) about this Description essay.
Consulted with a writing tutor to find areas of strength and areas of improvement.
Finally, you will now compose the final draft of a description essay that:
contains a clear thesis
identifies clear points to support your thesis
engages in critical thought about the subject chosen
uses 2-4 main ideas (points) that support your overall essay thesis
allows you to expand on your chosen topic
This essay assignment represents the first steps in writing any written essay for any academic course. The idea of thesis and support are the cornerstones of all essays. They represent the last part of the writing process. However, you may still revise your essay before final submission. This form of essay writing is the basis for all other academic writing pursuits. This skill translates to almost all careers that require critical thinking, critical reading, and responding in writing. Practicing "how to" write an essay carries over into any field's task of "what" you need to write. This skill will help with all formal writing.
Write a 900-word essay, in MLA format, about a person or fictional character in whom you have an interest.
Select a subject (person or fictional character you admire)
Look to your Discussion (D1) and Writing Activity 2 (WA2) for your subject
The person may be current or historical
Some fictional characters have positive traits that can be identified.
Select several (2-4) traits about the person or character that you admire and write about these. These will be the essay's main ideas.
Biographical information should be used only to support claims.
Your essay should focus on the traits you admire. Do not write a biography or tell a story.
Example of what not to do: This person was born in 1979. They were born in middle Tennessee. They went to elementary school is 1985. They graduated in 1998.
Instead, follow this example: This person was born in middle Tennessee. Entering elementary in school in 1985 was hard for them. They never felt that they belonged in kindergarten. However, they persevered, learning that school was a place for them to grow and be themselves.
Focus on the "why" you admire them instead of a list of traits. In the above example, perseverance and learning to be themselves are the traits the writer of the essay admires.
Organize your main ideas to establish the essay's pattern of organization.
Your main ideas (traits you have chosen) need to be clearly organized.
Decide in what order you wish to discuss these main ideas (traits)
This organization needs to be presented in your introduction, preferably as the last sentence of your introduction in the thesis statement.
Note: your thesis is generally the last sentence in your introduction, but it not a requirement.
Follow this structure throughout the rest of the essay.
Always check to see if your main ideas/topic sentences, in each paragraph, relate back to your thesis statement.
Compose 5 well-developed paragraphs that support a clear thesis statement that is arguable.
5 paragraph minimum
introduces your essay and presents your thesis
three body paragraphs
Each paragraph contains one of your chosen admirable traits about your subject
expressed in a topic sentence in your paragraph
Each trait needs to transition to the next one in the next paragraph
look to your chosen pattern of development
rephrases your traits into one last paragraph
reflects the earlier thesis, but with the knowledge of your traits expressed throughout the essay
This essay is a basic form of an argument essay. The essay should make an argument such as that the person or character selected is worthy of admiration because of the traits selected.
Criteria for Success
A successful essay:
Meets basic requirements of the assignment
Has been written by the student submitting the essay, for this class, and for this semester,
Does not contain plagiarism of any kind
Academic dishonesty is an offense of the NSCC Student Code of Conduct, punishable by a failing grade or zero
Has a clear thesis, main ideas, and pattern of organization
Has been carefully edited and proofread to minimize grammatical and other editing errors
These can be remedied by editing and with Writing Tutor visits and peer reviewing
Follows MLA style and guidelines (spacing, indent, margins, etc. )
The essay will be graded with the Grading Rubric for Essays. Please familiarize yourself with this rubric before you submit your essay. Here is the condensed version of the rubric:
4.Directions: You are part of a fireworks crew assembling a local fireworks display.
There are two parts to the fireworks platforms:
rts to the fireworks platforms: one part is on the ground and the
other part is on top of a building. You are going to graph all of your results on one
coordinate plane. Make sure to label each graph with its equation. Use the following
equations to assist with this assignment.
• The function for objects dropped from a height where t is the time in
seconds, h is the height in feet at time it t, and 0 h is the initial height is
0 ht t h ( ) 16 =− + .
• The function for objects that are launched where t is the time in seconds, h is
the height in feet at time t, 0 h is the initial height, and 0 v is the initial velocity
in feet per second is 2
0 0 ht t vt h ( ) 16 =− + + .
Select the link below to access centimeter grid paper for your portfolio.
Centimeter Grid Paper
First, conduct some research to help you with later portions of this portfolio
• Find a local building and estimate its height. How tall do you think the
• Use the Internet to find some initial velocities for different types of fireworks.
What are some of the initial velocities that you found?
Respond to the following items.
1. While setting up a fireworks display, you have a tool at the top of the
building and need to drop it to a coworker below.
a. How long will it take the tool to fall to the ground? (Hint: use the first
equation that you were given above, 2
0 ht t h ( ) 16 =− + . For the building’s
height, use the height of the building that you estimated in Task 1.)
b. Draw a graph that represents the path of this tool falling to the
ground. Be sure to label your axes with a title and a scale. Your graph
should show the height of the tool, h, after t seconds have passed.
Label this line “Tool”.
5.You are given a set of five and a set of seven contiguous boxes as shown in the figures above.
task is to move all the reds from the left to the right and all the blacks from the right to the left. The middlebox is empty to allow moves.
The moves follow strict rules.
Rule # 1: the reds can only move to the right and the blacks can only move to the left. No backward moves are allowed
Rule # 2: Equally applicable to the black and the reds, each dot can only move one step forward in the box in front of it is empty, and can skip the contiguous box is occupied by a different colored dot to the following box if empty.
While moving your pieces, carefully record all the moves you made. Start first with the 5-boxes set, then the 7-boxes set
Try the same rules for a 9-boxes set and then for an 11-boxes set. Record all your moves on paper
Examine all four cases and find a pattern that relates the number of moves to the number of dots. Explain how you arrived at this conclusion
Create a general formula that will give the number of moves based on the number of dots regardless of how many dots you have.
6.Design a Java interface called Priority that includes two methods: setPriority and getPriority. This interface would define a way to
interface would define a way to establish numeric priority among a set of objects. Your numeric priority values should be on a scale. For easy comparing of priorities, make 1 the lowest priority. It should be more complex than just 1, 2, 3 (low, medium, high). Define constants in the interface for the low, medium, and high priority values. Design and implement a class called Task that represents a task (e.g., something on a to-do list) that implements the Priority interface from above, as well as the Comparable interface from the Java standard class library. A task should have some sort of description. Illustrate your design with a UML class diagram. Create a driver whose main method exercises some Task objects. Make sure you have enough tasks to produce comparisons where a given task is higher, lower, or equal in priority to some other task. Implement the interface such that the tasks are ranked by priority. Create a driver class that shows these new features of Task objects.
You are asked to carry out a study on behalf of a business analytics specialised consultancy on a subsample
on a subsample of weekly data from Randall’s Supermarket, one of the biggest in the UK. Randall’s marketing management team wishes to identify trends and patterns in a sample of weekly data collected for a number of their loyalty cardholders during a 26-week period. The data includes information on the customers’ gender, age, shopping frequency per week and shopping basket price. Randall’s operates two different types of stores (convenient stores and superstores) but they also sell to customers via an online shopping platform. The collected data are from all three different types of stores. Finally, the data provides information on the consistency of the customer’s shopping basket regarding the type of products purchased. These can vary from value products, to brand as well as the supermarket’s own high-quality product series Randall’s Top. As a business analyst you are required to analyse those data, make any necessary modifications in order to determine whether for any single customer it is possible to predict the value of their shopping basket.
Randall’s marketing management team is only interested in identifying whether the spending of the potential customer will fall in one of three possible groups including:
• Low spender (shopping basket value of £25 or less)
• Medium Spender (shopping basket value between £25.01 and £70) and
• High spenders (shopping basket greater than £70)
For the purpose of your analysis you are provided with the data set Randall’s.xls. You have to decide, which method is appropriate to apply for the problem under consideration and undertake the necessary analysis. Once you have completed this analysis, write a report for the Randall’s marketing management team summarising your findings but also describing all necessary steps undertaken in the analysis. The manager is a competent business analyst himself/herself so the report can include technical terms, although you should not exceed five pages. Screenshots and supporting materials can be included in the appendix.
After completing your analysis, you should submit a report that consists of two parts. Part A being a non-technical summary of your findings and Part B a detailed report of the analysis undertaken with more details.
Part A: A short report for the Head of Randall’s Marketing Management (20 per cent). This should briefly explain the aim of the project, a clear summary and justification of the methods considered as well as an overview of the results.
Although, the Head of Randall’s Marketing Management team who will receive this summary is a competent business analytics practitioner, the majority of the other team members have little knowledge of statistical modelling and want to know nothing about the technical and statistical underpinning of the techniques used in this analysis. This report should be no more than two sides of A4 including graphs, tables, etc. In this report you should include all the objectives of this analysis, summary of data and results as well as your recommendations (if any).
Part B: A technical report on the various stages of the analysis (80 per cent).
The analysis should be carried out using the range of analytics tools discussed:
• SPSS Statistics
Ensure that the exercise references:
• Binary and multinomial logistic regression
• Linear vs Logistic regression
• Logit Model with odds Ratio
• Co-efficients and Chi Squared
• MLR co-efficients
• Assessing usefulness of MLR model
• Interpreting a model
• Assessing over-all model fit with Psuedo R-Squared measures
• Classification accuracy (Hit Ratio)
• Wald Statistic
• Odd ratio exp(B)
• Ratio of the probability of an event happening vs not happening
• Ratio of the odds after a unit change in the predictor to the original odds
• Residuals analysis
• Cook’s distance
• Adequacy (with variance inflation factor VIF and tolerance statistic)
• Outliers and influential points cannot just be removed. We need to check them (typo? – unusual data?)
• Check for multicollinearity
Write a short and concise report to explain the technical detail of what you have done for each step of the analysis.
The report should also cover the following information:
• Any type of analysis that might be useful and check whether the main assumptions behind the analyses do not hold or cannot be
• Give evidence of the understanding of the statistical tools that you are using. For example, comment on the model selection procedure and the coefficient interpretation, e.g. comment on the interpretation of the logistic regression coefficients if such a method is used and provide an example of
• Conclusions and explanation, in non-technical terms, of the main points
8.To gain experience with the operations involving binary search trees. This data structure as linked list uses dynamic memory allocation
list uses dynamic memory allocation to grow as the size of the data set grows. Unlike linked lists, a binary search tree is very fast to insert, delete and search.
When an author produce an index for his or her book, the first step in this process is to decide which words should go into the index; the second is to produce a list of the pages where each word occurs. Instead of trying to choose words out of our heads, we decided to let the computer produce a list of all the unique words used in the manuscript and their frequency of occurrence. We could then go over the list and choose which words to put into the index.
The main object in this problem is a "word" with associated frequency. The tentative definition of "word" here is a string of alphanumeric characters between markers where markers are white space and all punctuation marks; anything non-alphanumeric stops the reading. If we skip all un-allowed characters before getting the string, we should have exactly what we want. Ignoring words of fewer than three letters will remove from consideration such as "a", "is", "to", "do", and "by" that do not belong in an index.
In this project, you are asked to write a program to read any text file and then list all the "words" in alphabetic order with their frequency together appeared in the article. The "word" is defined above and has at least three letters.
Your result should be printed to an output file named YourUserID.txt.
You need to create a Binary Search Tree (BST) to store all the word object by writing an insertion or increment function. Finally, a proper traversal print function of the BST should be able to output the required results.
The BST class in the text can not be used directly to solve this problem. It is also NOT a good idea to modify the BST class to solve this problem. Instead, the following codes are recommended to start your program.
//Data stored in the node type
TreeNode * left;
TreeNode * right;
// Two function's prototype
// Increments the frequency count if the string is in the tree
// or inserts the string if it is not there.
void Insert(TreeNode*&, string);
// Prints the words in the tree and their frequency counts.
void PrintTree(TreeNode* , ofstream&);
//Start your main function and the definitions of above two functions.
Please type the text file name: Lincoln.txt
Please give the output text file name: mus11.txt
You are done! You can open the file "mus11.txt" to check.
Press any key to continue
The Gettysburg Address
November 19, 1863
Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in
Liberty, and dedicated to the proposition that all men are created equal.
Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and
so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate
a portion of that field, as a final resting place for those who here gave their lives that that nation
might live. It is altogether fitting and proper that we should do this.
But, in a larger sense, we can not dedicate -- we can not consecrate -- we can not hallow -- this ground.
The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add
or detract. The world will little note, nor long remember what we say here, but it can never forget what
they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they
who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great
task remaining before us -- that from these honored dead we take increased devotion to that cause for
which they gave the last full measure of devotion -- that we here highly resolve that these dead shall not
have died in vain -- that this nation, under God, shall have a new birth of freedom -- and that government
of the people, by the people, for the people, shall not perish from the earth.