مجتبی جوادی
جمعه 13 اسفند 1400, 19:12 عصر
درود
از دوستان کسی به زبان پایتون تسلط داره کد زیر را بری من به سی شارپ تبدیل کنه؟ از یک مبدل آنلاین استفاده کردم ولی بازهم هم مشکل داره!
با سپاس
def dist(e_x, e_y, semi_major, semi_minor, angle, p):
def rot2d(angle):
s, c = np.sin(angle), np.cos(angle)
return np.array([[c,-s], [s, c]])
p, p_ellipse = np.array(p), np.array([e_x, e_y])
p_rot = rot2d(-angle).dot(p - p_ellipse)
p_abs = np.abs(p_rot)
t = np.array([0.707, 0.707])
s = np.array([semi_major, semi_minor])
ss_sub = (s*s)[0] - (s*s)[1]
efac = np.array([ss_sub, -ss_sub])
for _ in range(3):
xy = s * t
e = efac * (t ** 3) / s
q = p_abs - e
rq = np.linalg.norm(xy - e, 2) / np.linalg.norm(q, 2)
t = (q * rq + e) / s
t /= np.linalg.norm(t, 2)
p_edge = np.copysign(xy, p_rot)
dst = np.linalg.norm(p_edge - p_rot, 2)
p_edge_rot = rot2d(angle).dot(p_edge) + p_ellipse
return dst, p_edge_rot
از دوستان کسی به زبان پایتون تسلط داره کد زیر را بری من به سی شارپ تبدیل کنه؟ از یک مبدل آنلاین استفاده کردم ولی بازهم هم مشکل داره!
با سپاس
def dist(e_x, e_y, semi_major, semi_minor, angle, p):
def rot2d(angle):
s, c = np.sin(angle), np.cos(angle)
return np.array([[c,-s], [s, c]])
p, p_ellipse = np.array(p), np.array([e_x, e_y])
p_rot = rot2d(-angle).dot(p - p_ellipse)
p_abs = np.abs(p_rot)
t = np.array([0.707, 0.707])
s = np.array([semi_major, semi_minor])
ss_sub = (s*s)[0] - (s*s)[1]
efac = np.array([ss_sub, -ss_sub])
for _ in range(3):
xy = s * t
e = efac * (t ** 3) / s
q = p_abs - e
rq = np.linalg.norm(xy - e, 2) / np.linalg.norm(q, 2)
t = (q * rq + e) / s
t /= np.linalg.norm(t, 2)
p_edge = np.copysign(xy, p_rot)
dst = np.linalg.norm(p_edge - p_rot, 2)
p_edge_rot = rot2d(angle).dot(p_edge) + p_ellipse
return dst, p_edge_rot