Simple dx render example.

This commit is contained in:
jmsgrogan 2023-01-05 16:40:27 +00:00
parent 36515556b8
commit e0cad34d55
22 changed files with 339 additions and 60 deletions

View file

@ -49,12 +49,15 @@ double Point::getZ() const
double Point::getDistance(const Point& point) const
{
return std::sqrt(mX*point.getX() + mY*point.getY() + mZ*point.getZ());
const auto deltaX = getDeltaX(point);
const auto deltaY = getDeltaY(point);
const auto deltaZ = getDeltaZ(point);
return std::sqrt(deltaX* deltaX + deltaY* deltaY + deltaZ* deltaZ);
}
double Point::getDistance(Point* point) const
Vector Point::getDelta(const Point& point) const
{
return std::sqrt(mX*point->getX() + mY*point->getY() + mZ*point->getZ());
return Vector(point.mX - mX, point.mY - mY, point.mZ - mZ);
}
double Point::getDeltaX(const Point& point) const
@ -66,3 +69,22 @@ double Point::getDeltaY(const Point& point) const
{
return point.getY() - mY;
}
double Point::getDeltaZ(const Point& point) const
{
return point.getZ() - mZ;
}
void Point::scale(double x, double y, double z)
{
mX = x * mX;
mY = y * mY;
mZ = z * mZ;
}
void Point::translate(double x, double y, double z)
{
mX += x;
mY += y;
mZ += z;
}