class Point:
def __init__(self, xVal, yVal):
self.xCoord = xVal
self.yCoord = yVal
def distanceTo(self, anotherPoint):
a = self.xCoord - anotherPoint.xCoord
b = self.yCoord - anotherPoint.yCoord
return math.sqrt((a * a) + (b * b))
class Line:
def __init__(self, verticesList = []):
self.vertices = verticesList
Я разрабатываю фиктивную географическую информационную систему с нуля, используя приведенное ниже описание для моих векторных данных.Я чрезвычайно вне моей области знаний (отсюда и очень мало кода, который я смог написать для этого), и мне очень хотелось бы, как это сделать, используя всю предоставленную информацию.
Объекты типа point должны иметь следующие атрибуты и методы:
xCoord |Расположение точки на оси х.
yCoord |Расположение точки на оси Y.
distanceTo (anotherPoint) |Метод, принимающий другой точечный объект и возвращающий расстояние от этой точки до этой точки, используя теорему Пифагора.
init (xVal, yVal) |Инициализация ожидает два объекта с плавающей точкой и использует их для установки этой xCoord и этой yCoord.
У объектов типа line должны быть следующие атрибуты и методы:
vertices |Список, содержащий последовательность точечных объектов, определяющих вершины вдоль линии.
convertLength () |Метод, который возвращает длину этого линейного объекта путем вычисления суммы расстояний между последовательными вершинами в линии.
init (verticesList) |Инициализация ожидает список, который должен быть точечными объектами, и устанавливает этот атрибут вершин вместе с ним.
Объекты типа polygon должны иметь следующие атрибуты и методы:
кольцо |Линейный объект, определяющий периметр многоугольника.
getBoundingBox () |Метод, который возвращает 4-кортеж, представляющий ограничивающие координаты этого многоугольника, формата (minX, minY, maxX, maxY).
init (aLine) |Инициализация ожидает объект линии, устанавливая этот атрибут кольца с ним.
Позиции вершин: (0,0, 0,0) (1,0, 1,0) (3,0, 1,5) (3,9, 0,25) (2,0, -0,7) (0.0, 0.0)
Мне также было поручено создать линейный объект длиной 6 вершин и закрытый с использованием положений вершин, с получением многоугольника.