5 punktów na linii


Public Function Dpp(P1, P2)

'oblicza odleglosc midzy 2 puntkami

If UBound(P1) = 2 And UBound(P2) = 2 Then

Dpp = Sqr((P2(0) - P1(0)) ^ 2# + (P2(1) - P1(1)) ^ 2# + (P2(2) - P1(2)) ^ 2#)

Else

Dpp = Sqr((P2(0) - P1(0)) ^ 2# + (P2(1) - P1(1)) ^ 2#)

End If

End Function

Public Function PLD(IP1, IP2, IDist)

'zwraca punkt (tablica współrzędnych) w określonej odległosci od 1 punktu w kierunku drugiego

Distance = Dpp(IP1, IP2)

Dim TmpVec(2) As Double

If IDist = 0 Then

readyVec = IP1

Else

If Distance > 0 Then

DispVec = Array(IP2(0) - IP1(0), IP2(1) - IP1(1), IP2(2) - IP1(2))

vecnor = Array(DispVec(0) / (Distance / IDist), DispVec(1) / (Distance / IDist), DispVec(2) / (Distance / IDist))

readyVec = Array(IP1(0) + vecnor(0), IP1(1) + vecnor(1), IP1(2) + vecnor(2))

Else

readyVec = IP1

End If

End If

TmpVec(0) = readyVec(0): TmpVec(1) = readyVec(1): TmpVec(2) = readyVec(2)

PLD = TmpVec

End Function

Public Sub Przyklad()

Dim P1 As Variant

Dim P2 As Variant

P1 = ThisDocument.Utility.GetPoint(, "Wskaż punkt: ")

P2 = ThisDocument.Utility.GetPoint(P1, "Wskaż punkt: ")

Dim lineObj As ZwcadLine

Set lineObj = ThisDocument.ModelSpace.AddLine(P1, P2)

Dim Dlugosc As Double ' Odległość od pierwszego do ostatniego punktu

Dim Odleglosc As Double ' Odległość dzieląca dwa sąsiednie punkty

Dim IlePunktow As Integer

IlePunktow = 5 ' Bo 2 na końcach + 3 w środku

Dlugosc = Dpp(P1, P2)

Odleglosc = Dlugosc / (IlePunktow - 1)

Dim Px

For i = 0 To IlePunktow - 1

Px = PLD(P1, P2, i * Odleglosc)

ThisDocument.ModelSpace.AddPointEntity (Px)

Next

ThisDocument.SetVariable "PDMODE", 64 ' Zmienna PMode kontroluje sposób wyświetlania punktów.

' Zmienna PDSIZE kontroluje wielkość wyświetlanego punktu.

ThisDocument.Regen

End Sub

'wstawia 5 punktów na odcinku

0x01 graphic



Wyszukiwarka

Podobne podstrony:
wyznaczenie punktów na prostej
Wykaz punktów na grze dziennej, Dla dzieci - szkoła
Armia słowacka na Linii Mołotowa
Krzywa stożkowa jest to zbiór punktów na płaszczyźnie
dziennik obliczeń współrzędnych punktów na prostej, Geodezja(3)
fotka, steroskopowe widzenie - sprawozdanie, Efektem przestrzennego widzenia jest zdjęcie do pomiaru
Jak błyskawicznie zmienić negatywne emocje na linii czasu
Collins Max Allan Na linii ognia
TERAPIA NA LINII CZASU
2014 15 TRD 5 Obliczenia strat czas na linii przyklad1

więcej podobnych podstron