This was part of it as well. At least - as I recall - with the early flat (MarioCart 1 inspired) versions I made. But in that case, the closer "terrain" pixels always became multiple on-screen pixels so my lookup table for each of the 360 degree viewpoints contained only a single byte to add to each x and y coordinate, plus a single byte for each length.
Had to keep the memory use down and multiplication was really computationally expensive.
Had to keep the memory use down and multiplication was really computationally expensive.