mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-03-12 20:42:45 -07:00
26 lines
629 B
Python
26 lines
629 B
Python
import numpy as np
|
|
import math
|
|
from .umeyama import umeyama
|
|
|
|
def get_power_of_two(x):
|
|
i = 0
|
|
while (1 << i) < x:
|
|
i += 1
|
|
return i
|
|
|
|
def rotationMatrixToEulerAngles(R) :
|
|
sy = math.sqrt(R[0,0] * R[0,0] + R[1,0] * R[1,0])
|
|
singular = sy < 1e-6
|
|
if not singular :
|
|
x = math.atan2(R[2,1] , R[2,2])
|
|
y = math.atan2(-R[2,0], sy)
|
|
z = math.atan2(R[1,0], R[0,0])
|
|
else :
|
|
x = math.atan2(-R[1,2], R[1,1])
|
|
y = math.atan2(-R[2,0], sy)
|
|
z = 0
|
|
return np.array([x, y, z])
|
|
|
|
def polygon_area(x,y):
|
|
return 0.5*np.abs(np.dot(x,np.roll(y,1))-np.dot(y,np.roll(x,1)))
|