Spaces:
Running
on
T4
Running
on
T4
""" | |
# Copyright 2020 Adobe | |
# All Rights Reserved. | |
# NOTICE: Adobe permits you to use, modify, and distribute this file in | |
# accordance with the terms of the Adobe license agreement accompanying | |
# it. | |
""" | |
import numpy as np | |
def area_of_triangle(pts): | |
AB = pts[1, :] - pts[0, :] | |
AC = pts[2, :] - pts[0, :] | |
return 0.5 * np.linalg.norm(np.cross(AB, AC)) | |
def area_of_polygon(pts): | |
l = pts.shape[0] | |
s = 0 | |
for i in range(1, l-1): | |
s += area_of_triangle(pts[(0, i, i+1), :]) | |
return s | |
def area_of_signed_triangle(pts): | |
AB = pts[1, :] - pts[0, :] | |
AC = pts[2, :] - pts[0, :] | |
return 0.5 * np.cross(AB, AC) | |
def area_of_signed_polygon(pts): | |
l = pts.shape[0] | |
s = 0 | |
for i in range(1, l-1): | |
s += area_of_signed_triangle(pts[(0, i, i+1), :]) | |
return s |