kółko i krzyżyk , krzyżyk


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 kółko()

Dim P1 As Variant

Dim P2 As Variant

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

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

Dim lineObj1 As ZwcadLine

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

lineObj1.LineWeight = zcLnWt050

lineObj1.Color = zcBlue

ThisDocument.Regen

Dim Px

Dim P3

Dim P4

Dim P5

Dim P6

Dim Odleglosc As Double

Dlugosc = Dpp(P1, P2) / 2#

Px = PLD(P1, P2, Dlugosc)

Dim Nachylenie As Double

Nachylenie = ThisDocument.Utility.AngleFromXAxis(P1, P2)

Dim Pi As Double

Pi = 1.570796

P3 = ThisDocument.Utility.PolarPoint(Px, Nachylenie - Pi, Dlugosc * 0.8)

P4 = ThisDocument.Utility.PolarPoint(Px, Nachylenie + Pi, Dlugosc * 0.8)

P5 = ThisDocument.Utility.PolarPoint(Px, Nachylenie, Dlugosc / 1.25)

P6 = ThisDocument.Utility.PolarPoint(P1, Nachylenie, Dlugosc / 4.8)

Dim lineObj2 As ZwcadLine

Set lineObj2 = ThisDocument.ModelSpace.AddLine(P3, P4)

lineObj2.LineWeight = zcLnWt050

lineObj2.Color = zcBlue

Dim lineObj3 As ZwcadLine

Set lineObj3 = ThisDocument.ModelSpace.AddLine(P5, P6)

lineObj3.LineWeight = zcLnWt050

lineObj3.Color = zcBlue

lineObj1.Delete

ThisDocument.Regen

'rysuje krzyż niebieski

End Sub

0x01 graphic

tak wygląda



Wyszukiwarka

Podobne podstrony:
Kółko i krzyżyk 2
64 MT 07 Kolko krzyzyk
KÓŁKO, KRZYŻYK, GRA DYDAKTYCZNA - KÓŁKO - KRZYŻYK - WIELKI POST
Kółko i krzyżyk 4
Gra w kółko i krzyżyk w wersji wycinankowej
Kółko i krzyżyk 2

więcej podobnych podstron