Sale!

# CSc 21200 – Homework 2

\$30.00 \$18.00

## Description

Create a class called Point with the following:
1. Private members: x, y and z as double.
2. Write a default constructor and set the point to (0, 0, 0).
3. Write a constructor and set the point to user input, if z is not inputted, set it to 0.
4. Write a copy constructor.
5. Write the set functions for each individual member, x and y together, and x, y, and z
together.
6. Write the get functions for each individual member.
7. Write a member function called print() that print out the point as (x, y, z)\n.
8. Write a member function called distance() that return the distance between the origin and
the point.
9. Write a member function called distance(param) that return the distance between a pt2
and the point.
10. Write a member function called origin() that return true if the point is the origin.
11. Write a member function called line(param) that return true if pt2 is on the same line as
the origin and the point. Otherwise, return false. Also return false if the origin and the
point do NOT make a line.
12. Write a member function called cross(param) that return a point that is the cross product
of a pt2 and the point.
14. Overload the output (<<) and input (>>) operators. The output should be (x, y, z)\n.
15. Write a non-member function called plane(param) that takes an array of exactly three
points and a target point. Return true if the target point is on the plane created by the
static array of three points. Otherwise, return false.
To find the plane
i. Find u and v where u is pt2-pt1 and v is pt3-pt1.
ii. Find the normal vector to the plane by using the cross product of u and v.
iii. Using the Point-Normal Form, the normal vector, and any of the three
points, the equation of the plane is a(x-x0) + b(y-y0) + (cz-z0) = 0, where
is the normal vector and P(x0, y0, z0) is one of the three points.
Thus, any points P(x, y, z) that satisfy this equation is on the plane.
16. Write a non-member function called square(param) that takes a static array of unique
points and the size of the array. Return true if the array of points can create at least one
square. Otherwise return false.
17. Write a non-member function called centroid(param) that takes a static array of points
and the size of the array and return the centroid of the array of points. If there is no
center, return the origins.