BBarySlate
Producto

Funciones del programa · Coordenadas baricéntricas exactas

01

En BarySlate, discute la orientación del triángulo y los pesos con signo antes de decidir si un punto está dentro.

01

Modelos

Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

02

Proyecto

Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.

03

Cambios

Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.

Coordenadas baricéntricas exactas

● ● ●BarySlate●
Flujos de trabajo · Coordenadas baricéntricas exactas ×
from fractions import Fraction

def barycentric(vertices, point):
    vertices, point = tuple(tuple(v) for v in vertices), tuple(point)
    if len(vertices) != 3 or any(len(v) != 2 for v in vertices) or len(point) != 2:
        raise ValueError("triangle.shape")
    if any(type(c) is not int or abs(c) > 10000 for v in vertices + (point,) for c in v):
        raise ValueError("coordinate.range")
    (x0, y0), (x1, y1), (x2, y2) = vertices
    x, y = point
    den = (y1-y2)*(x0-x2) + (x2-x1)*(y0-y2)
    if den == 0:
        raise ValueError("triangle.degenerate")
    a = Fraction((y1-y2)*(x-x2) + (x2-x1)*(y-y2), den)
    b = Fraction((y2-y0)*(x-x2) + (x0-x2)*(y-y2), den)
    return a, b, 1-a-b
✳Calcula pesos baricéntricos exactos para tres vértices enteros y un punto entero con coordenadas de magnitud máxima 10000.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
Espacio de programación con IA

Tu próxima idea empieza aquí.

Descargar para Windows ↗