pref: 换用卡马克的快速开方求倒函数
虽然用的地方不是很多()
This commit is contained in:
@@ -141,8 +141,8 @@ void GetLinesResample(float pts_in[][2], int32_t num1, float pts_out[][2], int32
|
||||
float dx1 = x1 - x;
|
||||
float dy1 = y1 - y;
|
||||
|
||||
float dist0 = sqrt(dx0 * dx0 + dy0 * dy0);
|
||||
float dist1 = sqrt(dx1 * dx1 + dy1 * dy1);
|
||||
float dist0 = Q_sqrt(dx0 * dx0 + dy0 * dy0);
|
||||
float dist1 = Q_sqrt(dx1 * dx1 + dy1 * dy1);
|
||||
|
||||
float r0 = (dist1 - dist) / (dist1 - dist0);
|
||||
float r1 = 1 - r0;
|
||||
@@ -200,7 +200,7 @@ void GetMidLine_Left(float pts_left[][2], int32_t pts_left_count, float mid_left
|
||||
for (int i = 0; i < pts_left_count; i++) {
|
||||
float dx = pts_left[clip(i + approx_num, 0, pts_left_count - 1)][1] - pts_left[clip(i - approx_num, 0, pts_left_count - 1)][1];
|
||||
float dy = pts_left[clip(i + approx_num, 0, pts_left_count - 1)][0] - pts_left[clip(i - approx_num, 0, pts_left_count - 1)][0];
|
||||
float dn = sqrt(dx * dx + dy * dy);
|
||||
float dn = Q_sqrt(dx * dx + dy * dy);
|
||||
dx /= dn;
|
||||
dy /= dn;
|
||||
mid_left[i][0] = pts_left[i][0] + dx * dist;
|
||||
@@ -215,7 +215,7 @@ void GetMidLine_Right(float pts_right[][2], int32_t pts_right_count, float mid_r
|
||||
for (int i = 0; i < pts_right_count; i++) {
|
||||
float dx = pts_right[clip(i + approx_num, 0, pts_right_count -1)][1] - pts_right[clip(i - approx_num, 0, pts_right_count -1 )][1];
|
||||
float dy = pts_right[clip(i + approx_num, 0, pts_right_count -1)][0] - pts_right[clip(i - approx_num, 0, pts_right_count -1)][0];
|
||||
float dn = sqrt(dx * dx + dy * dy);
|
||||
float dn = Q_sqrt(dx * dx + dy * dy);
|
||||
dx /= dn;//sin
|
||||
dy /= dn;//cos
|
||||
mid_right[i][0] = pts_right[i][0] - dx * dist;
|
||||
|
||||
Reference in New Issue
Block a user