Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
If you know how to draw rectangle, how can you draw a triangle on it?
See following picture. You already drew a square as GraphicsWindow.DrawRectangle(100, 200, 200, 200). So, the triangle you should draw has three points (x1 = 100, y1 = 200), (x2 = 300, y2 = 200), (x3 = 200, y3 = 50). There are 6 coordinate for the triangle.
So the answer is GraphicsWindow.DrawTriangle(100, 200, 300, 200, 200, 50).
Following code shows picture above.
gw = GraphicsWindow.Width
gh = GraphicsWindow.Height
GraphicsWindow.Title = "How to Draw Triangle"
DrawGrid()
x = 100
y = 200
width = 200
height = 200
GraphicsWindow.PenWidth = 4
GraphicsWindow.PenColor = "Green"
GraphicsWindow.DrawRectangle(x, y, width, height)
x1 = 100
y1 = 200
x2 = 300
y2 = 200
x3 = 200
y3 = 50
GraphicsWindow.PenColor = "DimGray"
GraphicsWindow.DrawTriangle(x1, y1, x2, y2, x3, y3)
DrawPoints()
Sub DrawPoints
' param x1, y1, x2, y2, x3, y3
size = 8
r = size / 2
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.FillEllipse(x1 - r, y1 - r, size, size)
GraphicsWindow.DrawText(x1 + 4, y1 + 4, "P1=(" + x1 + "," + y1 + ")")
GraphicsWindow.FillEllipse(x2 - r, y2 - r, size, size)
GraphicsWindow.DrawText(x2 + 4, y2 + 4, "P2=(" + x2 + "," + y2 + ")")
GraphicsWindow.FillEllipse(x3 - r, y3 - r, size, size)
GraphicsWindow.DrawText(x3 + 4, y3 + 4, "P3=(" + x3 + "," + y3 + ")")
EndSub
Sub DrawGrid
GraphicsWindow.PenColor = "MediumSeaGreen"
GraphicsWindow.BrushColor = "MediumSeaGreen"
For _x = 0 To gw Step 50
GraphicsWindow.DrawLine(_x, 0, _x, gh)
If gw - 50 < _x Then
GraphicsWindow.DrawText(_x + 4, 4, "x")
Else
GraphicsWindow.DrawText(_x + 4, 4, _x)
EndIf
EndFor
For _y = 0 To gh Step 50
GraphicsWindow.DrawLine(0, _y, gw, _y)
If gh - 50 < _y Then
GraphicsWindow.DrawText(4, _y + 4, "y")
Else
GraphicsWindow.DrawText(4, _y + 4, _y)
EndIf
EndFor
EndSub
And you can see another sample with GraphicsWindow.FillTriangle() here.