Hey guys. I need some help.

I need to implement a collision between 2 objects (quads). I have no idea how to do this.

My source code:

Code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SharpGL;
 
namespace SharpGLWinformsApplication6
{
    public partial class SharpGLForm : Form
    {
 
        public SharpGLForm()
        {
            InitializeComponent();
        }
 
        public double dx = 0;
        public double dy = 0;
        public float angulo = 0;
        public double radiano = 0;
 
        private void openGLControl_OpenGLDraw(object sender, RenderEventArgs e)
        {
            //  Get the OpenGL object.
            OpenGL gl = openGLControl.OpenGL;
 
            //  Clear the color and depth buffer.
            gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
 
            //  Load the identity matrix.
            gl.LoadIdentity();
 
            gl.PushMatrix();
 
            //  Draw
            gl.Translate(dx, dy, 0.0f);
            gl.Translate(20, 10, 0);
            gl.Rotate(angulo, 0, 0, 1);
            gl.Translate(-20, -10, 0);
 
 
            gl.Begin(OpenGL.GL_QUADS);
            gl.Color(1.0f, 1.0f, 1.0f);
            gl.Vertex(20.0f, 20.0f);
            gl.Vertex(10.0f, 20.0f);
            gl.Vertex(10.0f, 10.0f);
            gl.Vertex(20.0f, 10.0f);
            gl.End();
 
            gl.PopMatrix();
 
            gl.Begin(OpenGL.GL_QUADS);
            gl.Color(0.0f, 1.0f, 0.0f);
            gl.Vertex(90.0f, 90.0f);
            gl.Vertex(50.0f, 90.0f);
            gl.Vertex(50.0f, 50.0f);
            gl.Vertex(90.0f, 50.0f);
            gl.End();
        }
 
 
        private void openGLControl_OpenGLInitialized(object sender, EventArgs e)
        {
            //  Get the OpenGL object.
            OpenGL gl = openGLControl.OpenGL;
 
            //  Set the clear color.
            gl.ClearColor(0, 0, 0, 0);
        }
 
        private void openGLControl_Resized(object sender, EventArgs e)
        {
 
            //  Get the OpenGL object.
            OpenGL gl = openGLControl.OpenGL;
 
            //  Set the projection matrix.
            gl.MatrixMode(OpenGL.GL_PROJECTION);
 
            //  Load the identity.
            gl.LoadIdentity();
 
            gl.Ortho2D(0, 100, 0, 100);
 
            //  Set the modelview matrix.
            gl.MatrixMode(OpenGL.GL_MODELVIEW);
        }
 
 
        private void SharpGLForm_KeyDown(object sender, KeyEventArgs e)
        {
 
            if (e.KeyCode == Keys.D)
            {
                angulo--;
            }
 
            if (e.KeyCode == Keys.A)
            {
                angulo++;
            }
 
            if (e.KeyCode == Keys.W)
            {
                MovimentoFrente();
            }
 
            if (e.KeyCode == Keys.S)
            {
                MovimentoTras();
            }
 
 
        }
 
 
        private void MovimentoFrente()
        {
            radiano = Math.PI * angulo / 180;
            dx += Math.Cos(radiano);
            dy += Math.Sin(radiano);
 
            //MessageBox.Show(dx.ToString());
            if (dx >= 79)
            {
                dx = 79;
            }
 
            if (dy >= 89)
            {
                dy = 89;
            }
 
            if (dx <= -19)
            {
                dx = -19;
            }
 
            if (dy <= -9)
            {
                dy = -9;
            }
        }
 
        private void MovimentoTras()
        {
            radiano = Math.PI * angulo / 180;
            dx -= Math.Cos(radiano);
            dy -= Math.Sin(radiano);
 
            if (dx >= 69)
            {
                dx = 69;
            }
 
            if (dy >= 79)
            {
                dy = 79;
            }
 
            if (dx <= -9)
            {
                dx = -9;
            }
 
            if (dy <= 1)
            {
                dy = 1;
            }
 
        }
 
    }
}

Thanks!