You should select a CRS that is apt for measurements and reproject your points to this CRS. I don't know what your area of interest is, so as a general rule, use the local UTM zone. For this exercise, let's say our ship is near the eastern coast of Sicily, thus we use UTM zone 33N, EPSG:6708. See here which UTM zone to use.
If you have points distributed over the whole world, you need different CRS. See below how to deal with this.
You need some value of the orientation of the ship, so in which direction it is going. Let's say each point contains an attribute azimuth: the angle from north of the line from the antenna to the bow. If you set this value to 0, the ship is heading towards north, 180 towards south etc.
Use Geoemtry Generator (for visualization only) or Geometry by expression (for actual geometries; see here for differences between both options) with this expression:
make_polygon( make_line (
project ($geometry, 100, radians(azimuth)),
project ($geometry, 5, radians(azimuth-90)),
project ($geometry, 20, radians(azimuth-180)),
project ($geometry, 5, radians(azimuth+90))
))
The expression in use with Geometry Generator; the labels indicate the azimuth value for each point:

Using different local CRS
If you have points in different areas of the world, you need different CRS. In this case, leave your layer in (or reproject it to) EPSG:4326. We'll make the reprojection to local CRS inside the expresssion, using the function transform().
In this case, each point should have an attribute with the EPSG code for the CRS to be used - depending where on earth the point is located. I use an attribute called utm_zone with value 6708 (for areas east of Sicily) and 32755 (for areas east of Tasmania). Then use this expression which will automatically create correct dimensions for any place on earth (if you set the correct value for the local UTM zone of the point):
with_variable(
'epsg',
'EPSG:' || utm_zone,
transform (
with_variable (
'geom',
transform ($geometry, 'EPSG:4326',@epsg),
make_polygon( make_line (
project (@geom, 100, radians(azimuth)),
project (@geom, 5, radians(azimuth-90)),
project (@geom, 20, radians(azimuth-180)),
project (@geom, 5, radians(azimuth+90))
))),
@epsg,'EPSG:4326'
))