Code Monkey home page Code Monkey logo

point's Introduction

Утилита которая упрощает работу с координатами

Примеры

class Point

import Point, { Rectangle, MutableRectangle } from ".";

Method <Point>.equals

var a = new Point(0, 0);
var b = new Point(0, 0);

a.equals(b) // true
var a = new Point(0, 0);
var b = new Point(-1, 0);

a.equals(b) // false

Method <Point>.add

var a = new Point(10, 100);
var b = new Point(10, 10);

a.add(b) // Point(20, 110)

Method <Point>.sub

var a = new Point(10, 100);
var b = new Point(10, 10);

a.sub(b) // Point(0, 90)

Method <Point>.mult

var a = new Point(10, 100);

a.mult(10) // Point(100, 1000)
var a = new Point(-10, -100);

a.mult(5) // Point(-50, -500)

Method <Point get>.magnitude

var a = new Point(10, 0);

a.magnitude // 10 

Method <Point>.distanceTo

var a = new Point(-10, 0);
var b = new Point(100, 0);

a.distanceTo(b) // 110

Method <Point>.squaredDistanceTo

var a = new Point(-10, 0);
var b = new Point(100, 0);

a.squaredDistanceTo(b) // 12100

Примеры

class Rectangle

Method <Rectangle static>.fromPoints

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);

console.log(rectangle); // Rectangle(20, 50) 280 x 550
console.log(rectangle.left); // 20
console.log(rectangle.top); // 50
console.log(rectangle.right); // 300
console.log(rectangle.bottom); // 600

Method <Rectangle>.equals

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(1560, 50, 240, 230);

rectangle.equals(rectangle1) // false

Method <Rectangle>.intersection

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(1560, 50, 240, 230);

rectangle.intersection(rectangle1) // null
var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(160, 50, 240, 230);

rectangle.intersection(rectangle1) // Rectangle(160, 300) 140 x 550

Method <Rectangle>.intersects

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(1560, 50, 240, 230);

rectangle.intersects(rectangle1) // false
var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(160, 50, 240, 230);

rectangle.intersects(rectangle1) // true

Method <Rectangle>.boundingBox

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(1560, 50, 240, 230);

rectangle.boundingBox(rectangle1) // Rectangle(20, 50) 1780 x 550

Method <Rectangle>.containsRectangle

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(1560, 50, 240, 230);

rectangle.containsRectangle(rectangle1) // false
var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);
var rectangle1 = new Rectangle(20, 520, 20, 20);

rectangle.containsRectangle(rectangle1) // true

Method <Rectangle>.containsPoint

var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);

rectangle.containsPoint(new Point(40, 15)) // false
var leftTop = new Point(20, 50);
var rightBottom = new Point(300, 600);

var rectangle = Rectangle.fromPoints(leftTop, rightBottom);

rectangle.containsPoint(new Point(40, 159)) // true

Примеры

class MutableRectangle

Может тоже самое что и Rectangle но, в ходе использования можно изменить width и height

var rectangle = new MutableRectangle(20, 50, 300, 600);
console.log(rectangle); // Rectangle(20, 50) 300 x 600
console.log(rectangle.left); // 20
console.log(rectangle.top); // 50
console.log(rectangle.right); // 320
console.log(rectangle.bottom); // 650

rectangle.width = 200;
rectangle.height = 100;

console.log(rectangle); // Rectangle(20, 50) 200 x 100
console.log(rectangle.left); // 20
console.log(rectangle.top); // 50
console.log(rectangle.right); // 220
console.log(rectangle.bottom); // 150

point's People

Contributors

bjorn001585 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.