2 / 2 / 1
Регистрация: 28.10.2013
Сообщений: 114
1

Преобразование координат

07.11.2013, 23:47. Показов 1831. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Как преобразовать координаты 3D фигуры в 2D,а именно как это осуществить и нарисовать потом эту фигуру с помощью формул преобразования?
И еще такой вопрос, как лучше это все оформить что бы потом было удобно использовать к этой фигуре процедуры поворота, перемещения, вращения вокруг осей координат?
Фигура нарисована при помощи MoveTo и LineTo.
Ниже мой код и скрин.
переменная ue используется для масштабирования фигуры, препод сказал мне что это корявый вариант и было бы не плохо сделать это по другому. Помогите пожалуйста.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/// KARKAS BUKVI  ///
with img1.Canvas do begin
  {OSNOVA}
  Pen.Width:= 2;
  Pen.Color:= clBlue;
  MoveTo(20 * ue,20 * ue);
  LineTo(20 * ue,40 * ue);
  LineTo(25 * ue,40 * ue);
  LineTo(25 * ue,25 * ue);
  LineTo(35 * ue,25 * ue);
  LineTo(35 * ue,40 * ue);
  LineTo(40 * ue,40 * ue);
  LineTo(40 * ue,20 * ue);
  LineTo(20 * ue,20 * ue);
  {ZADNIE GRANI}
  MoveTo(40 * ue,20 * ue);
  Lineto(43 * ue,17 * ue);
  MoveTo(20 * ue,20 * ue);
  LineTo(23 * ue,17 * ue);
  LineTo(43 * ue,17 * ue);
  LineTo(43 * ue,37 * ue);
  LineTo(40 * ue,40 * ue);
  MoveTo(25 * ue,40 * ue);
  LineTo(28 * ue,37 * ue);
  LineTo(28 * ue,25 * ue);
  Pen.Width:= 1;
  MoveTo(20 * ue,40 * ue);
  LineTo(23 * ue,37 * ue);
  LineTo(23 * ue,17 * ue);
  MoveTo(23 * ue,37 * ue);
  LineTo(28 * ue,37 * ue);
  MoveTo(25 * ue,25 * ue);
  LineTo(28 * ue,22 * ue);
  LineTo(28 * ue,25 * ue);
  MoveTo(28 * ue,22 * ue);
  LineTo(38 * ue,22 * ue);
  LineTo(35 * ue,25 * ue);
  MoveTo(38 * ue,22 * ue);
  LineTo(38 * ue,37 * ue);
  LineTo(35 * ue,40 * ue);
  MoveTo(38 * ue,37 * ue);
  LineTo(43 * ue,37 * ue);
  end;
end;
Миниатюры
Преобразование координат  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2013, 23:47
Ответы с готовыми решениями:

Преобразование трехмерных координат точки в двухмерные координаты экрана
Пусть мы имеем 1. Точку с координатами (x,y,z) ; 2. Координаты камеры (xCam,yCam,zCam) ; 3....

Преобразование глобальных координат точки в локальную систему координат, задаваемую четырехугольником
Добрый вечер! Есть произвольный четырехугольник на плоскости. Известны глобальные координаты...

Преобразование координат точки при повороте системы координат
Здравствуйте! Не могу понять, из чего получается формула преобразования координат точки при...

Преобразование координат
Здравствуйте. Помогите преобразовать координаты с помощью gluUnProject (или альтернатив) в...

3
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
08.11.2013, 11:03 2
Цитата Сообщение от K0T Посмотреть сообщение
Ниже мой код
Где в нем 3D-координаты ? Нет их.
0
2 / 2 / 1
Регистрация: 28.10.2013
Сообщений: 114
09.11.2013, 19:16  [ТС] 3
Это просто код который есть у меня на данный момент,в нем используются 2 координаты.
У меня есть трехмерные координаты точек, но я не знаю, как их использовать.
Сама проблема в формуле, мне нужна формула для преобразования трехмерных координат в экранные 2D
На рисунке показана фигура как она должна выглядеть, но здесь она нарисована криво,без использования Z, и дальнейшие операции невозможны без использования трехмерных координат.
0
480 / 253 / 51
Регистрация: 30.06.2010
Сообщений: 651
11.11.2013, 13:02 4
http://www.delphisources.ru/pa... robot.html
Пример, как можно делать.
0
11.11.2013, 13:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2013, 13:02
Помогаю со студенческими работами здесь

Преобразование координат
Всем доброго времени суток, есть плоскость, она изменяется (перенос и/или поворот и/или масштаб и...

Преобразование координат
Здравствуйте, вот если у нас есть три координаты и мы их преобразуем на плоскоть, то формулы будут...

Преобразование координат
Всем добрый день. Прошу Вас, пожалуйста, помочь мне в решении одной из задач на тему...

Преобразование координат
Здравствуйте! Я столкнулся с проблемой: у меня есть координаты некоторых точек PointF (например,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru