public static float[] getCrossPointSS(float[] g1, float[] g2)
	{
		//get cross point straight-straight
		//Berechnet den Schnittpunkt zweier Geraden, nur wenn er von g1 aus in positiver richtung liegt
		//Geraden werden als floats mit 4 Elementen angegeben (0,1 = Ortsvektor; 2,3 = Richtungsvektor)
		//Rueckgabewert ist -1,-1 wenn es keinen Schnittpunkt gibt

		//Rueckgabevariable
		float[] sp = new float[2];

		//2.Punkt auf den Geraden (Gerade1Ende)
		float[] g1e = new float[2];
		float[] g2e = new float[2];
		g1e[0] = g1[0] + g1[2];
		g1e[1] = g1[1] + g1[3];
		g2e[0] = g2[0] + g2[2];
		g2e[1] = g2[1] + g2[3];

		//Parallel oder aufeinander
		if(((g2e[1]-g2[1])*(g1e[0]-g1[0]) - (g2e[0]-g2[0])*(g1e[1]-g1[1])) == 0)
		{
			sp[0] = -1;
			sp[1] = -1;
		}
		else
		{
			//Schnittpunkt berechnen
			float m = ((g2e[0]-g2[0])*(g1[1]-g2[1]) - (g2e[1]-g2[1])*(g1[0]-g2[0])) / ((g2e[1]-g2[1])*(g1e[0]-g1[0]) - (g2e[0]-g2[0])*(g1e[1]-g1[1]));
			sp[0] = g1[0] + m*g1[2];
			sp[1] = g1[1] + m*g1[3];

			//g1 nur in positive Richtung, nichts geht "nach hinten los"
			if(m < 0)
			{
				sp[0] = -1;
				sp[1] = -1;
			}
		}		
		return(sp);
	}