Question
Introduction The aim of this assignment is to have you work with Object Oriented C++ with simple inheritance. Objectives - Build a Point3D Class -
Introduction
The aim of this assignment is to have you work with Object Oriented C++ with simple inheritance.
Objectives
- Build a Point3D Class
- Build a Vector3D Class that inherits from Point3D
- Demonstrate the classes working
Outcomes:
- Creation and use of classes
- Inheritance
- Pointer use, management and manipulation
Description:
You will create two classes for this project. The first will be a basic 3D CartesianCoordinate 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.
Specifications
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
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started