fix coords

main
moscowsky 1 month ago
parent aabd02ff80
commit f5919882bd

1
.gitignore vendored

@ -0,0 +1 @@
*.pyc

@ -135,7 +135,7 @@ def gen_new_point(piece, trs, vs, existing_ps, dist_limit, vert_shift):
# если после множества попыток это не получится, смиримся # если после множества попыток это не получится, смиримся
# и примем ту, что есть # и примем ту, что есть
curr_trial = 0 curr_trial = 0
max_trials = 100 max_trials = 500
while curr_trial < max_trials: while curr_trial < max_trials:
# выбрать случайный треугольник # выбрать случайный треугольник
tr_ind = random.randrange(len(piece)) tr_ind = random.randrange(len(piece))
@ -153,6 +153,8 @@ def gen_new_point(piece, trs, vs, existing_ps, dist_limit, vert_shift):
c2 = vs[ind2,:] c2 = vs[ind2,:]
p = c0 + (c1-c0)*alpha + (c2-c0)*beta p = c0 + (c1-c0)*alpha + (c2-c0)*beta
p[2] += vert_shift p[2] += vert_shift
if p[2] > 1.:
continue
# проверить совпадение координат с существующими точками # проверить совпадение координат с существующими точками
succ = True succ = True
for ep in existing_ps.values(): for ep in existing_ps.values():
@ -231,9 +233,12 @@ class GenLocationsOnMeshNode(Node):
self.state_pub_msg.z = [] self.state_pub_msg.z = []
for l_id, p in self.existing_points.items(): for l_id, p in self.existing_points.items():
self.state_pub_msg.location_id.append(l_id) self.state_pub_msg.location_id.append(l_id)
self.state_pub_msg.x.append(p[0]) # self.state_pub_msg.x.append(p[0])
self.state_pub_msg.y.append(p[1]) # self.state_pub_msg.y.append(p[1])
self.state_pub_msg.z.append(p[2]) # self.state_pub_msg.z.append(p[2])
self.state_pub_msg.x.append(-p[1] - 400.)
self.state_pub_msg.y.append(p[2])
self.state_pub_msg.z.append(p[0] + 400.)
# опубликовать их # опубликовать их
self.state_pub.publish(self.state_pub_msg) self.state_pub.publish(self.state_pub_msg)

Loading…
Cancel
Save