Question: You will create two classes for this project. The first will be a basic 3D Cartesian- Coordinate that stores and X,Y,Z value and has a

You will create two classes for this project. The first will be a basic 3D Cartesian- Coordinate that stores and X,Y,Z value and has a distance formula function to get the distance between two points.

The second class is a 3D Vector class that will do basic vector math. It will inherit from the Cartesian coordinate since both share a similar base.

Point3D.h/.cpp

This class will be a 3D Cartesian-Coordinate Properties: 

? double x,y,z Method:

? Constructor taking in x,y,z

? Getters and Setters

double GetDistance(Point3D*)

Vector3D.h/.cpp

This class inherits from Point3D since it also contains: X,Y,Z values and requires a distance formula.

Further Properties: 

? double size the size of the vector

? double ux,uy,uz the vector components as a unit vector

? double angle angle in radians

Further Methods 

? Vector3D(x,y,z) - Constructor that takes in X,Y,Z then calculates size, angle and unit vector

? Vector3D(p1,p2) - Constructor that takes in two Point3Ds and makes a vector from them

? private CalculateSize()

? private CalculateUnitVector()

? public Vector3D* getUnitVector()- create and return the unit vector

? public double dotProduct(Vector3D* other) returns dot product

? public Vector3D* crossProduct(Vector3D* other) returns cross product vector

? public Vector3D* add(Vector3D* other) add two vectors together get a third

? public Vector3D* subtract(Vector3D* other) subtract two vectors together get a

third

? public void scale(double value) multiply the vector by the value, dont forget

you might need to recalculate angle, size and unit vector components

? Getters and setters

? Anything else you need to make these things work!

Main.cpp

Create a simple program showing off ALL the functionality of your classes.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!