The problem with the beam reflected from the object.

I’m trying to realize the reflection of light in 2d.
There is a light source which sends a beam (Physics.Raycast), when the beam falls on some sort of object in front of him, I want it to reflect from the object at an angle.
To determine the angle at which the beam should be reflected by a 2-ray support built triangle and its angles are calculated. The problem is that I do not know how to send the beam (Physics.Raycast) from the point of contact with the object at an angle.
The approximate outline of how it looks.
alt text

Maybe I’m doing wrong and there is a ready-made solutions of similar problems, I just do not know them. If you have any suggestions how to do it differently with pleasure to listen to them.
Sorry for my English.

Unless you specifically want the reflected angle - you don’t really need it, I simply use a vector reflection. Where vector is the direction of the ray and normal is the normal of the surface the ray hit. Then simply cast your new ray from the original point of contact in the direction returned.

public static Vector3 Reflect(Vector3 vector, Vector3 normal)
{
	return 2.0f * (normal * -Vector3.Dot(vector, normal)) + vector;
}