Консультация № 194635
09.02.2019, 17:12
0.00 руб.
1 3 0
Здравствуйте! У меня возникли сложности с таким вопросом:

На c# необходимо реализовать аффинные преобразования 3d объекта. Возникли сложности с отрисовкой самой фигуры и линий осей. Прикрепляю файл проекта
Прикрепленные файлы:
0b3c3496b2915a146ec49199b0809c9f2615d223.rar

Обсуждение

давно
Советник
400484
472
09.02.2019, 18:54
общий
Добрый день,
А как вы рисуете фигуру? При помощи линии?
Не думали посмотреть в сторону DirectX или OpenGL?
давно
Советник
400484
472
09.02.2019, 19:05
общий
Код:

public Affin()
{
InitializeComponent();
g = panel1.CreateGraphics();
Init();

}

Как я понимаю вы создаете форму, графическую панель и иницилизируете данные. А где тут отрисовка объектов?
давно
Советник
400484
472
09.02.2019, 19:09
общий
Код:

void DrawCurrent(Graphics g)
{
ProectionFigureXY();
float x1, y1, x2, y2;
for(int i = 0; i < edgeFig.Count; i++)
{
x1 = (float)(projectionFigure[edgeFig[i].num_a].X + centerX);
y1 = (float)(-projectionFigure[edgeFig[i].num_a].Y + centerY);
x2 = (float)(projectionFigure[edgeFig[i].num_b].X + centerX);
y2 = (float)(-projectionFigure[edgeFig[i].num_b].Y + centerY);
g.DrawLine(figurePen, x1, y1, x2, y2);

}
}

На прикрепленном скрине видно, что длина линии всего 2 пикселя.
Прикрепленные файлы:
638de1031a4d61496c0a40439d93424a.png
Форма ответа