catidog
3/6/2020 - 8:33 AM

2D coordinate transformation

import numpy as np

def 2D_Trans(point, point_axis, input_global):
  '''
    point: new coordinate original point
    point_axis: new coordinate axis
    input_global : transformation input global point
  '''
  tran_m = np.array([[point_axis[0][0], [point_axis[0][1], point[0]],
                     [point_axis[1][0], [point_axis[1][1], point[1]],
                     [0, 0, 1]])
                     
  input_p = np.array([input_global[0], input_global[1], 1])
  output_local = np.dot(tran_m, input_p)
  return output_local
import numpy as np

def 2D_Trans(point, point_axis, input_local):
  '''
    point: new coordinate original point
    point_axis: new coordinate axis
    input_global : transformation input local point
  '''
  tran_m = np.array([[point_axis[0][0], [point_axis[0][1], point[0]],
                     [point_axis[1][0], [point_axis[1][1], point[1]],
                     [0, 0, 1]]).T
                     
  input_p = np.array([input_local[0], input_local[1], 1])
  output_global = np.dot(input_p, tran_m)
  return output_global