SShoalMetric
Рабочая среда с ИИ для кода

Ориентированная площадь многоугольника

ShoalMetric помогает обсуждать арифметику многоугольников в контексте проекта. Сравните порядок вершин и целочисленные операции с совместимой моделью, затем проверьте предложенный код на обратных и самопересекающихся контурах.

● ● ●ShoalMetric●
Конкретная отправная точка · Ориентированная площадь многоугольника ×
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
✳Верните удвоенную ориентированную площадь для 3–256 целочисленных вершин с модулями координат до 1000000.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
  1. Проверьте перед применением

    Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

  2. Подключение

    Базовый URL, учётные данные и доступный сервер.

  3. Проект

    Проверьте обратный порядок и коллинеарность, трактуйте самопересечения алгебраически и отклоняйте некорректные координаты.

Сценарии

Ориентированная площадь многоугольника

Сценарии ↗
Конкретная отправная точка
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
Рабочая среда с ИИ для кода

Свяжите правила координат с использующим их кодом

ShoalMetric — рабочая среда для программирования с ИИ в Windows, где вычисления обсуждаются в контексте использующего их приложения. Выберите папку проекта и опишите систему координат, ожидаемый результат и случаи, которые приложение должно отклонять. Попросите подключённого помощника изучить валидацию и код-потребитель до предложения изменений. Так геометрическая задача получает конкретные программные границы, а её смысл не остаётся внутри отдельной формулы.

Например, при работе с polygon.py можно выяснить, почему обратный порядок точек меняет результат вычисления ориентированной площади. Приведите пример многоугольника и укажите, нужны ли вызывающему коду ориентация, абсолютная величина или другое представление. Проверьте предложенную правку на соответствие этому требованию, включая порядок поступления вершин. Полезный результат — код, значение которого согласовано во всех местах использования.

После изучения запустите проверки проекта на простой фигуре, обратном порядке вершин и вырожденных случаях, предусмотренных контрактом. Сравните вычисления и последующее поведение, затем верните расхождения в обсуждение. ShoalMetric поддерживает подключения к моделям через совместимые с OpenAI интерфейсы или Anthropic с учётными данными при необходимости. Если доступна модель без ограничений, её можно выбрать с учётом правил поставщика; инструменты, объём контекста и ограничения ответов всё равно зависят от настроенной модели и сервера. Проверка ожидаемого геометрического поведения остаётся вашей задачей.

Геометрические допущения, которые нужно согласовать

Нужно ли считать отрицательную площадь ошибкой?

Это зависит от того, использует ли вызывающий код величину со знаком для сохранения ориентации. Уточните требуемый смысл, прежде чем менять знак или брать модуль, затем проверьте влияние на код, использующий результат.

Зачем тестировать обратный порядок вершин?

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

Проверяет ли пример корректность любого многоугольника?

Из вычисления площади этого не следует. Если приложению нужны проверки пересечений или других геометрических свойств, укажите эти требования отдельно и изучите соответствующую реализацию, не предполагая, что вычисление их подтверждает.

Как выбрать границы координат?

Исходите из ограничений приложения и числового представления. Сообщите их помощнику, изучите, как они обеспечиваются, и протестируйте близкие к границам значения. Пределы в примере кода не подтверждают точность или производительность при другом масштабе данных.

Скачать для Windows ↗

ShoalMetric · Обновлено 2026-10-25