Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float a=0, a2=0, b=0, b2=0, xt=0, yt=0;
- int Z = 20;
- if (vertex2.X - vertex1.X == 0)
- {
- drawPoint.X = vertex2.X + Z;//x punktu
- drawPoint.Y = (vertex1.Y + vertex2.Y) / 2;//y punktu
- }
- else
- {
- a = (float)(vertex2.Y - vertex1.Y) / (vertex2.X - vertex1.X);
- if (a == 0)
- {
- drawPoint.X = (float)(vertex1.X + vertex2.X) / 2;//x punktu
- drawPoint.Y = vertex2.Y + Z;//y puntku
- b = ((float)(vertex2.X * vertex1.Y - vertex1.X * vertex2.Y) / (vertex2.X - vertex1.X));
- }
- else
- {
- a2 = -1 / a;
- b = ((vertex2.X * vertex1.Y - vertex1.X * vertex2.Y) / (vertex2.X - vertex1.X));
- b2 = (float)((Math.Pow(vertex2.Y, 2) + Math.Pow(vertex2.X, 2) - Math.Pow(vertex1.Y, 2) - Math.Pow(vertex1.X, 2)) / (2 * vertex2.Y - 2 * vertex1.Y));
- float C = (float)Math.Sqrt(Math.Pow(a, 2) + 1);
- float D = (float)((vertex1.Y - vertex2.Y) * (vertex2.Y - vertex1.Y) + (vertex1.X - vertex2.X) * (vertex2.X - vertex1.X)) / ((vertex2.X - vertex1.X) * (vertex2.Y - vertex1.Y));
- xt = (float)(Z * C + b - b2) / D;
- yt = a2 * xt + b2;
- if ((a * xt + yt + b) > 0)
- {
- drawPoint.X = xt;
- drawPoint.Y = yt;
- }
- else
- {
- drawPoint.X = (float)(-Z * C + b - b2) / D;//x punktu
- drawPoint.Y = a2 * drawPoint.X + b2;//y punktu
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement