ivsem
Зарегистрирован: 01.02.2006 Сообщения: 63 Откуда: Киев
|
Добавлено: Сб Окт 24, 2009 9:43 pm Заголовок сообщения: Вопрос по функции GetIntersectionPoints |
|
|
Код: |
Public Sub intersection3()
Dim intersections() As Point3d
Dim Matrix3dIdentity As Matrix3d
Dim pt1 As Point3d, pt2 As Point3d, pt3 As Point3d, pt4 As Point3d
Dim oIntersector As LineElement
Dim oLine As LineElement
pt1 = Point3dFromXYZ(-1, 0, 0)
pt2 = Point3dFromXYZ(3, 1, 0)
pt3 = Point3dFromXYZ(0, 5, 0)
pt4 = Point3dFromXYZ(2, -2, 0)
ActiveSettings.ColorName = "Red"
Set oIntersector = CreateLineElement2(Nothing, pt1, pt2)
ActiveModelReference.AddElement oIntersector
oIntersector.Redraw
ActiveSettings.ColorName = "Blu"
Set oLine = CreateLineElement2(Nothing, pt3, pt4)
ActiveModelReference.AddElement oLine
oLine.Redraw
intersections = oLine.GetIntersectionPoints(oIntersector, Matrix3dIdentity)
End Sub |
Получаю два значения:
intersection(0) X =0.4 Y = 3.6
intersection(1) X =2 Y = -2
Координаты точки пересечения с чертежа совсем другие:
X=1.237 Y=0.567 |
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пн Окт 26, 2009 8:50 am Заголовок сообщения: |
|
|
Нужно убрать строчку
Dim Matrix3dIdentity As Matrix3d
потому что Matrix3dIdentity - это метод, возвращающий единичную матрицу, а в вашем случае вы задавали пустую матрицу, вот он и выдавал непонятно что |
|