Disabled external gits

This commit is contained in:
2022-04-07 18:46:57 +02:00
parent 88cb3426ad
commit 15e7120d6d
5316 changed files with 4563444 additions and 6 deletions

View File

@@ -0,0 +1,87 @@
# import pytest
import time
import pytest
import json
import sys
import igl
import numpy as np
sys.path.append('../')
sys.path.append('../src')
from src.energies import *
eps = 1E-6
with open('test_data2.json', 'r') as infile:
homework_datas = json.load(infile)
# @pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[0])
def test_shape_energy_correctness(data):
V = np.array(data[0], dtype=float)
E = np.array(data[1], dtype=int)
l0 = np.array(data[2], dtype=float)
shape_energy_ground_truth = np.array(data[3])
shape_energy_student = compute_shape_energy(V, E, l0)
assert np.linalg.norm(shape_energy_ground_truth - shape_energy_student) < eps
# @pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[1])
def test_equilibrium_engery_correctness(data):
V = np.array(data[0], dtype=float)
F = np.array(data[1], dtype=int)
x_csl = data[2]
equilibrium_engery_ground_truth = np.array(data[3])
equilibrium_engery_student = compute_equilibrium_energy(V, F, x_csl)
assert np.linalg.norm(equilibrium_engery_ground_truth - equilibrium_engery_student) < eps
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[2])
def test_faces_area_gradient_correctness(data):
V = np.array(data[0], dtype=float)
F = np.array(data[1], dtype=int)
faces_area_gradient_ground_truth_x = np.array(data[2])
faces_area_gradient_ground_truth_y = np.array(data[3])
[faces_area_gradient_student_x, faces_area_gradient_student_y] = compute_faces_area_gradient(V, F)
assert np.linalg.norm(faces_area_gradient_ground_truth_x - faces_area_gradient_student_x) < eps \
and np.linalg.norm(faces_area_gradient_ground_truth_y - faces_area_gradient_student_y) < eps
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[3])
def test_equilibrium_energy_gradient_correctness(data):
V = np.array(data[0], dtype=float)
F = np.array(data[1], dtype=int)
x_csl = data[2]
equilibrium_energy_gradient = np.array(data[3])
equilibrium_energy_student = compute_equilibrium_energy_gradient(V, F, x_csl)
assert np.linalg.norm(equilibrium_energy_gradient - equilibrium_energy_student) < eps
@pytest.mark.timeout(1)
@pytest.mark.parametrize("data", homework_datas[4])
def test_shape_energy_gradient_correctness(data):
V = np.array(data[0], dtype=float)
E = np.array(data[1], dtype=int)
l0 = np.array(data[2], dtype=float)
shape_energy_gradient_ground_truth = np.array(data[3])
shape_energy_gradient_student = compute_shape_energy_gradient(V, E, l0)
assert np.linalg.norm(shape_energy_gradient_ground_truth - shape_energy_gradient_student) < eps
n = 100000
F_big = np.arange(3 * n).reshape((n, 3))
V_big = np.random.random((3 * n, 3))
l0_big = np.zeros(3 * n)
E_big = igl.edges(F_big)
@pytest.mark.timeout(1)
def test_shape_energy_timing():
compute_shape_energy(V_big, E_big, l0_big)
@pytest.mark.timeout(1)
def test_faces_area_gradient_timing():
compute_faces_area_gradient(V_big, F_big)
@pytest.mark.timeout(1)
def test_equilibrium_energy_gradient_timing():
compute_equilibrium_energy_gradient(V_big, F_big, 0)
@pytest.mark.timeout(1)
def test_shape_energy_gradient_timing():
compute_shape_energy_gradient(V_big, E_big, l0_big)

View File

@@ -0,0 +1 @@
[[[[[0, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 1], [0, 2], [1, 2]], [0.0, 0.0, 0.0], 2.0], [[[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]], [[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]], [0.0, 0.0, 0.0, 0.0, 0.0], 3.0]], [[[[0, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 1, 2]], 0, 0.05555555555555555], [[[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]], [[0, 1, 2], [1, 3, 2]], 0, 0.125]], [[[[0, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 1, 2]], [[-0.5, 0.5, -0.0]], [[-0.5, -0.0, 0.5]]], [[[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]], [[0, 1, 2], [1, 3, 2]], [[-0.5, 0.5, -0.0], [-0.0, 0.5, -0.5]], [[-0.5, -0.0, 0.5], [-0.5, 0.5, -0.0]]]], [[[[0, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 1, 2]], 0, [[0.1111111111111111, 0.0], [0.1111111111111111, 0.0], [0.1111111111111111, 0.0]]], [[[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]], [[0, 1, 2], [1, 3, 2]], 0, [[0.125, 0.04166666666666667], [0.12499999999999999, -0.04166666666666666], [0.125, -0.04166666666666667], [0.12499999999999999, 0.04166666666666666]]]], [[[[0, 0, 0], [1, 0, 0], [0, 1, 0]], [[0, 1], [0, 2], [1, 2]], [0.0, 0.0, 0.0], [[-1.0, -1.0], [2.0, -1.0], [-1.0, 2.0]]], [[[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]], [[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]], [0.0, 0.0, 0.0, 0.0, 0.0], [[-1.0, -1.0], [2.0, -2.0], [-2.0, 2.0], [1.0, 1.0]]]]]