Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions