This is possible using Vertical Mapper - which you stated was used to create the grid in the first place. Here is an exerpt from the Vertical Mapper 3.0 Help file:
"The outer margin of any grid file can be trimmed using a predefined polygon created in a Map window. This tool is particularly useful for trimming grid files to a standard map neatline. Only one grid file can be trimmed at a time.
Choose the region that represents the trimming edge. In the Grid Manager, click the Tools button and choose the Trimmer command. In the Save Trimmed Grid As dialogue, type a new file name for the trimmed grid in the File name box. Once the .grd file is created, it appears in a Map window with a default colour palette applied. You can change the colour range assigned to the grid file. For more information, see Using colour in grids."
Alternatively, if you don't have access to Vertical Mapper any more then you can convert the VM GRD file into a MapInfo MIG file using the 'Grid Tools' utility from the Tool Manager, and then use the MIG Crop function available in the MIG Tools utility which can be downloaded here: MIG Tools
Doing this through projection is quite weird, as you are trying to match extensions with rasters of different resolutions.
Here I suggest two options: (1) resample the clipping raster to the desired final resolution first and then projectRaster with that layer, or (2) just crop the raster to keep the original resolution (10000x10000 in your case).
Here is an example with downloadable layers:
library(raster)
library(rgdal)
library(ggplot2)
library(mapview)
library(gdalUtils)
# load the data
r1 <- raster('./data/MDT25.tif')
r2 <- raster('./data/LIDAR.tif')
# change projection if you have to (in my case r2 crs)
r2p <- projectRaster(r2, crs=crs(r1))
# resample to the clipping layer and mask r2 with it
r3 <- crop(r1,r2p)
# see original
r1; r2; r3; mapview(r1)+r2+r3
Results:
> r1; r2; r3; mapview(r1)+r2+r3
class : RasterLayer
dimensions : 609, 580, 353220 (nrow, ncol, ncell)
resolution : 25, 25 (x, y)
extent : 636512.5, 651012.5, 4803362, 4818588 (xmin, xmax, ymin, ymax)
crs : +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs
source : /media/cesarkero/D1/GDrive/Proyectos/Stackexchange/GIS Stack Exchange/20210127_Crop raster based on another raster R/data/MDT25.tif
names : MDT25
values : 11.324, 770.305 (min, max)
class : RasterLayer
band : 1 (of 3 bands)
dimensions : 1768, 2713, 4796584 (nrow, ncol, ncell)
resolution : 6.306866e-05, 4.403295e-05 (x, y)
extent : -7.310935, -7.13983, 43.40091, 43.47876 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +no_defs
source : /media/cesarkero/D1/GDrive/Proyectos/Stackexchange/GIS Stack Exchange/20210127_Crop raster based on another raster R/data/LIDAR.tif
names : LIDAR
values : 0, 255 (min, max)
class : RasterLayer
dimensions : 359, 564, 202476 (nrow, ncol, ncell)
resolution : 25, 25 (x, y)
extent : 636562.5, 650662.5, 4806712, 4815688 (xmin, xmax, ymin, ymax)
crs : +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs
source : memory
names : MDT25
values : 13.023, 748.862 (min, max)
Best Answer
Create a box as a Spatial object and crop your raster by the box.