Анализ вектора направления экструзии DXF

Я разбираю файл DXF (Autocad). В этом файле есть несколько объектов с вектором экструзии, отличным от «по умолчанию» (0, 0, 1). У меня много проблем с анализом этих объектов, потому что их координаты должны быть отображены, чтобы быть представленными в 2D-плоскости.

Итак, если, например, у меня есть линейный объект со следующими свойствами:

x1 = 10
y1 = 10
x2 = 20
y2 = 30

И с вектором экструзии (-0.1, 0.1, 0.5) какими будут координаты реальной линии, когда она будет представлена ​​​​в 2D-плоскости?


person Nick    schedule 27.08.2015    source источник


Ответы (1)


Линия — это трехмерный объект. Координаты начальной и конечной точек указаны в мировой системе координат (WCS). Вектор экструзии здесь не влияет, он только для 2D-объектов, таких как, например, круг, дуга, эллипс и 2D-полилинии.

person Maxence    schedule 28.08.2015
comment
Итак, что мне нужно сделать для 2D-объектов, подобных тем, которые вы указали? - person Nick; 28.08.2015
comment
Вы должны проецировать точки на плоскость, нормаль к которой является вектором экструзии, а начало координат является началом WCS. Чтобы проецировать точку, вы можете использовать точечные и перекрестные произведения, как описано в этом ответе: stackoverflow.com/a/9605695/200443 . По сути, это преобразование системы координат объекта (OCS) в WCS. - person Maxence; 28.08.2015
comment
Прочтите об OCS: autodesk.com/techpubs/autocad/acadr14/dxf / - person Maxence; 28.08.2015
comment
Не забывайте учитывать высоту - person Maxence; 28.08.2015
comment
Я все еще в замешательстве, можете ли вы сделать мне пример, используя любой из 2D-объектов? - person Nick; 28.08.2015
comment
Боюсь, у меня нет времени писать такой пример. Вам нужно сначала иметь векторный класс хотя бы для этого. Может быть, это post может помочь. - person Maxence; 28.08.2015