No a raycast is much different than that.
Raycast will divide the ray into itx x and y components.
Essentially in ortho ray casting if you know the size of each cell then you can find out the stepsize for each component via tangent instead of sin cos.
if you know adj or opp which we do...its the cellsize, then you can find the other.
This is essentially a projection transform...you are finding the height of the wall by dividing by the distance from the camera, but to equate raycasting with an actual projection transform is not a good habit. They are two fundamentally different approaches. One is fake 3D and one is true 3D.
Actually in DX there is more going on than that. The clip matrix transforms from camera space to clip space to get the correct value in W.
Direct3D clip matrix:
[zoomx 0 0 0]
[0 zoomy 0 0]
[0 0 (f/(f-n) 0]
[0 0 (nf/(n-f)) 0]
zclip and wclip can be used for zbuffering and perspective correction.
But I think we are straying off topic.
Here is a crappy slow raycast using sin cos:
void Slow2DRaycast(Player &thePlayer)
//Compute casting angle for 60 degree FOV
if (angle<0.0f) angle+=360.0f;
//Compute angle increment for screen res x
//Height of hit wall
//Map position intersected by ray
//Color of slice
//Floor and ceiling screen y locations
//Cast from 0 to horizontal screen res
for (int screenx=0;screenx<horiz_res_x;screenx++)
//Set ray origin at player location
//Compute ray map coords from ray world coords
int mapx= rayx/CELLSIZE;
//keep ray on map - only works on maps that are a power of 2
//Retrieve value from map at ray intersection
//Check to see if we hit a wall
//Compute actual distance from player
//extremely slow - could use cos for distance
//Compute ceiling and floor
//Draw the slice
} while (wallcolor==0);
//Increment angle and check for angle>360.0f
if (angle>360.0f) angle-=360.0f;