SweepAndExtrude3d
Синтаксис
HANDLE SweepAndExtrude3d(HANDLE HSpace3d, HANDLE HObject3d, FLOAT Qp, FLOAT Qr, FLOAT Angle, FLOAT dx, FLOAT dy, FLOAT dz, FLOAT steps, COLORREF Color, FLOAT flags)
Описание
Функция создает трехмерную поверхность, на базе исходного трехмерного контура, вытягивая его в произвольном направлении и/или вращая вокруг заданной оси.
Параметры
Hspace3d |
дескриптор трехмерного пространства |
HObject3d |
дескриптор существующего трехмерного объекта, или 0 если он должен создаться. |
Qp |
Матрица с точками - задает исходный контур. Матрица должна иметь ширину 3, количество строк определяет количество точек в контуре. |
Qr |
Матрица, задающая параметры вращения контура, или 0 если вращение не требуется. Угол задается переменной Angle. |
Angle |
Угол поворота. |
dx, dy, dz |
Смещение, или 0,0,0 если смещение не требуется |
steps |
Количество шагов, за которые необходимо достичь конечного положения |
Color |
Цвет объекта. |
flags |
Различные флаги. 2 - грани рисуются без сглаживания |
Пример
K:=3
HANDLE HSpace3d
matrix:=mcreateMCreate (0,1,5,1,3,1) // матрица с точками
rez:=MputMPut (~matrix,1,1,50,1)
rez:=Mput(~matrix,1,3,-150,1)
rez:=Mput(~matrix,2,1,50,1)
rez:=Mput(~matrix,2,3,-100,1)
rez:=Mput(~matrix,3,1,250,1)
rez:=Mput(~matrix,3,3,-30,1)
rez:=Mput(~matrix,4,1,250,1)
rez:=Mput(~matrix,4,3,-25,1)
rez:=Mput(~matrix,5,1,50,1)
rez:=Mput(~matrix,5,3,0,1)
Qr:=mcreate(0,1,2,1,3,1) // матрица поворота
rez:=Mput(~Qr,2,3,1,1)
object:=SweepAndExtrude3d(~HSpace3d,#0,~matrix,~Qr,PI*2*~K,0,0,150*~K,21*~K,RGB(255,255,0),3)
Структурная схема:
Результат работы:
См. Пример в samples\api\sweep3d\project.spj
Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents