Этот вопрос закрыт для ответов, так как повторяет вопрос 2D вращение вокруг центра?
@cyberkilla

Как сделать граф ориентированным (C#)?

Программа по отрисовке графа:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tao.OpenGl;
using Tao.FreeGlut;
using Tao.Platform.Windows;

namespace WindowsFormsApp1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            AnT.InitializeContexts();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            Glut.glutInit();
            Glut.glutInitDisplayMode(Glut.GLUT_RGBA | Glut.GLUT_DOUBLE);
            Gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
            Gl.glMatrixMode(Gl.GL_PROJECTION);
            Gl.glLoadIdentity();
            Glu.gluOrtho2D(-6.0, 6.0, -6.0, 6.0);
            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();

        }


        private void button1_Click(object sender, EventArgs e)
        {
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);

            Gl.glLineWidth(3.0f);
            // ребра графа
            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-4.0, -4.0);
            Gl.glVertex2d(-2.0, 2.0);
            Gl.glVertex2d(1.0, 6.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-4.0, -4.0);
            Gl.glVertex2d(-2.0, 2.0);
            Gl.glVertex2d(1.0, 6.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-2.0, 2.0);
            Gl.glVertex2d(0.0, -4.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-3.0, -1.0);
            Gl.glVertex2d(-1.0, -1.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-4.0, -4.0);
            Gl.glVertex2d(0.0, -4.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(0.0, -4.0);
            Gl.glVertex2d(0.0, 2.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(-2.0, 2.0);
            Gl.glVertex2d(0.0, 2.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(0.0, 2.0);
            Gl.glVertex2d(2.5, 2.0);
            Gl.glEnd();

            Gl.glBegin(Gl.GL_LINES);
            Gl.glColor3f(1.0f, 0.0f, 1.0f);
            Gl.glVertex2d(0.0, -4.0);
            Gl.glVertex2d(2.5, 2.0);
            Gl.glEnd();

            Gl.glColor3f(0.0f, 0.0f, 1.0f);

            Gl.glPointSize(10.0f);
            // вершины графа
            Gl.glBegin(Gl.GL_POINTS);
            Gl.glVertex2d(-4.0, -4.0);
            Gl.glVertex2d(-3.0, -1.0);
            Gl.glVertex2d(-2.0, 2.0);
            Gl.glVertex2d(-1.0, -1.0);
            Gl.glVertex2d(0.0, -4.0);
            Gl.glVertex2d(0.0, 2.0);
            Gl.glVertex2d(2.5, 2.0);
            Gl.glEnd();

            AnT.Invalidate();
        }
    }

}


Не могу понять, как нарисовать стрелки (должны быть GL_LINES) так, чтобы их линии составляли с ребрами одинаковый угол.
  • Вопрос задан
  • 319 просмотров
Ответы на вопрос 1
Тут в ответах примерно те формулы, которые нужны: 2D вращение вокруг центра?
И ещё более подробно: https://ru.wikipedia.org/wiki/Тригонометрия
И ещё Как нарисовать стрелку в opengl
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы