Поделиться через


Метод Curve.PointAndDerivatives (Visio)

Возвращает точку и ее производные в позиции вдоль пути кривой.

Синтаксис

expression. PointAndDerivatives (t, n, x, y, dxdt, dydt, ddxdt, ddydt)

Выражение Переменная, представляющая объект Curve .

Параметры

Имя Обязательный или необязательный Тип данных Описание
t Обязательный Double Значение в области параметров кривой для вычисления.
n Обязательный Integer 0: получение точки; 1: точка и 1-й производный; 2: точка плюс первая и вторая производная.
x Обязательный Double Возвращает значение x кривой в t.
y Обязательный Double Возвращает значение y кривой в t.
dxdt Обязательный Double Возвращает первую производную (dx/dt) при t, если n> 0.
dydt Обязательный Double Возвращает первую производную ( dy/dt) при t , если n> 0.
ddxdt Обязательный Double Возвращает вторую производную ( ddx/dt) при t , если n> 1.
ddydt Обязательный Double Возвращает вторую производную ( ddy/dt) при t , если n> 1.

Возвращаемое значение

Отсутствует

Примечания

Используйте метод PointAndDerivatives объекта Curve , чтобы получить координаты точки в области параметров кривой и ее первой и второй производных.

Объект Curve описывается в терминах его домена параметров, который представляет собой диапазон [Start(),End()]. Метод PointAndDerivatives можно использовать для экстраполирования пути кривой за пределами [Start(),End()].

Пример

Этот макрос Microsoft Visual Basic для приложений (VBA) рисует овал на активной странице документа, а затем извлекает его и выполняет итерацию по коллекции Paths и каждому объекту Path для отображения координат различных точек вдоль кривой. Так как нарисованная фигура является овальной, она содержит только один путь и только один объект Curve .

 
Sub PointAndDerivatives_Example() 
 
 Dim vsoShape As Visio.Shape 
 Dim vsoPaths As Visio.Paths 
 Dim vsoPath As Visio.Path 
 Dim vsoCurve As Visio.Curve 
 Dim dblStartpoint As Double 
 Dim dblXCoordinate As Double 
 Dim dblYCoordinate As Double 
 Dim dblFirstDerivativeX As Double 
 Dim dblFirstDerivativeY As Double 
 Dim dblSecondDerivativeX As Double 
 Dim dblSecondDerivativeY As Double 
 Dim intOuterLoopCounter As Integer 
 Dim intInnerLoopCounter As Integer 
 
 'Get the Paths collection for this shape. 
 Set vsoPaths = ActivePage.DrawOval(1, 1, 4, 4).Paths 
 
 'Iterate through the Path objects in the Paths collection. 
 For intOuterLoopCounter = 1 To vsoPaths.Count 
 Set vsoPath = vsoPaths.Item(intOuterLoopCounter) 
 Debug.Print "Path object " & intOuterLoopCounter 
 
 'Iterate through the curves in a Path object. 
 For intInnerLoopCounter = 1 To vsoPath.Count 
 
 Set vsoCurve = vsoPath(intInnerLoopCounter) 
 Debug.Print "Curve number " & intInnerLoopCounter 
 
 'Display the start point of the curve. 
 dblStartpoint = vsoCurve.Start 
 Debug.Print "Startpoint= " & dblStartpoint 
 
 'Use the PointAndDerivatives method to obtain 
 'a point and the first derivative at that point. 
 vsoCurve.PointAndDerivatives (dblStartpoint - 1), 1, _ 
 dblXCoordinate, dblYCoordinate, dblFirstDerivativeX, dblFirstDerivativeY, dblSecondDerivativeX, dblSecondDerivativeY 
 Debug.Print "PointAndDerivative= " & dblXCoordinate, dblYCoordinate, dblFirstDerivativeX, dblFirstDerivativeY 
 
 Next intInnerLoopCounter 
 Debug.Print "This path has " & intInnerLoopCounter - 1 & " curve object(s)." 
 
 Next intOuterLoopCounter 
 Debug.Print "This shape has " & intOuterLoopCounter - 1 & " path object(s)." 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.