Code: Select all
vertices = [(CX, CY), (CX, CY+50), (CX+100, CY+50), (CX+125, CY+25), (CX+100, CY)]
I'd like to have an impulse act on the vertex at (CX, CY+50) or the "rear driver's side corner". So, I've setup an impulse:
Code: Select all
| 500
|
\ /
+------------------------+
| \
| +
| /
+------------------------+
Code: Select all
angle = ship.body.angle
v = Vec2d(0, -500).rotated(angle)
Code: Select all
# (1)
p = Vec2d(-50, 25)
ship.body.apply_impulse(v, p)
Code: Select all
# (2)
p = Vec2d(-50, 25).rotated(angle)
ship.body.apply_impulse(v, p)
Code: Select all
# (3)
p = ship.body.local_to_world(Vec2d(-50, 25).rotated(angle))
ship.body.apply_impulse(v, p)
Code: Select all
# (4)
p = ship.body.local_to_world(Vec2d(-50, 25)).rotated(angle)
ship.body.apply_impulse(v, p)
Code: Select all
# (5)
px = shape.body.position.x
py = shape.body.position.y
p = ship.body.local_to_world(Vec2d(px-50, py+25)).rotated(angle)
ship.body.apply_impulse(v, p)
Thanks for the help!