Giter Club home page Giter Club logo

laba6's Introduction

Лабораторная работа №6

Это файл README.md, написанный с использованием разметки markdown. Моя программа вычисляет площадь пересечения или объединения прямоугольников, заданных координатами верхней и нижней точек.

Оглавление

  1. Первая функция
  2. Вторая функция
  3. Вставка изображения

Первая функция

Первая функция inters_size вычисляет площадь пересечения двух прямоугольников, причем если они не пересекаются - результат работы функции - 0.

Код функции:

def inters_size(x1: int, y1: int, x2: int, y2: int, x3: int, y3: int, x4: int, y4: int) -> int:
    """
    Функция, находящая площадь пересечения двух прямоугольников
    заданных верхней левой точкой ((x1, y1), (x3, y3))
    и правой нижней точкой ((x2, y2), (x4, y4))
    :return: int, площадь пересечения
    """
    if (res := (min(y1, y3) - max(y2, y4)) * (min(x4, x2) - max(x1, x3))) < 0:
        return 0
    else:
        return res

Вторая функция

Вторая функция union_size. Она с использованием первой функции вычисляет площадь объединения двух прямоугольников, причем если они не пересекаются - результат работы функции - сумма их площадей.

Код функции:

def union_size(x1: int, y1: int, x2: int, y2: int, x3: int, y3: int, x4: int, y4: int) -> int:
    """
    Функция, находящая площадь объединения двух прямоугольников
    заданных верхней левой точкой ((x1, y1), (x3, y3))
    и правой нижней точкой ((x2, y2), (x4, y4))
    :return: int, площадь объединения
    """
    s_rect1 = (x2 - x1) * (y1 - y2)
    s_rect2 = (x4 - x3) * (y3 - y4)
    rect_inter = inters_size(x1, y1, x2, y2, x3, y3, x4, y4)
    if rect_inter == s_rect2 and rect_inter == s_rect1:
        return rect_inter
    elif rect_inter == s_rect2 or rect_inter == s_rect1:
        return s_rect1 + s_rect2 - rect_inter
    else:
        return s_rect1 + s_rect2 - rect_inter * 2

Вставка изображения

Пример вставки изображения: Пример изображения


laba6's People

Watchers

Leo 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.