Ortodontalio / less-math

A small project is a library containing mathematical models and methods for manipulating them.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


GitHub stars watching_count watching_count tags
Typing SVG

Preface

This library is a product of my inspiration. As a student of the Faculty of Mathematics, I have repeatedly created small projects for various mathematical problems, which was the reason for my decision to create a library - repository of mathematical formulas, functions and small tasks for creating more complex mathematical models, solving more global problems. My main goal is to implement as extensive and flexible a mathematical library as possible.

Main concepts

This library is divided into packages, each of which represents a specific section of mathematics. At the moment, the following sections and models are fully or partially implemented:

  • Geometry:
    • Plane (2D):
      • Point;
      • Line;
      • Segment;
      • Triangle.

In this library, the logic is implemented in such a way that more complex objects can be obtained from more elementary objects, for example, a segment can be obtained from two points, a line from a segment, a triangle from three segments, and so on.

Implemented mathematical logic

This section provides a list of available mathematical functions in this library.

Geometry

This section provides a list of functions that relate to geometric operations.

Point (2D)

  • Determine whether a point is the center of a coordinate system;
  • Determine whether a point lies on the OX axis;
  • Determine whether a point lies on the OY axis;
  • Determine whether the points lie on the same line;
  • Determine whether the points lie on the same sides;
  • Determine the distance from the point to the specified line.

Line (2D)

  • Determine whether a line includes some point;
  • Determine whether a line is parallel to the OX axis;
  • Determine whether a line is parallel to the OY axis;
  • Determine whether a line passes through the center of coordinates;
  • Convert the equation of a line to an equation resolved with respect to the ordinate (with an angular coefficient);
  • Convert the equation of a line with angular coefficient to an equation in the general equation;
  • Shift the center of coordinates and calculate the new equation of a line;
  • Rotate the coordinate axes and calculate the new equation of a line;
  • Determine whether the lines are parallel;
  • Determine whether the lines are perpendicular;
  • Determine the intersection point of two lines;
  • Determine the angle (in degrees) between two lines;
  • Determine a new line having the specified angle with the line;
  • Determine a new line passing through the specified point parallel to the line;
  • Determine a new line passing through the specified point perpendicular to the line.

Segment (2D)

  • Determine the point, that divides the segment in the specified ratio.

Triangle

  • Get a segment-median that is drawn from the vertex of the triangle to the opposite side;
  • Determine that the triangle is rectangular;
  • Determine that the triangle is isosceles;
  • Determine that the triangle is equilateral.

License

This library is licensed by Apache 2.0. Please read the license agreement before using the source code of this project.

About

A small project is a library containing mathematical models and methods for manipulating them.

License:Apache License 2.0


Languages

Language:Java 100.0%