السلام عليكم احبائي ... اقدم بين ايديكم برنامج بلغة الدوت نت لرسم الشكل الهندسي .. من تنفيذي ..
... علما ان الرسم التالي هو عبارة عن شكل مضلع (polygon) ينصف بثمانية اقطار حيث تكون رؤوس تلك الاقطار هي نقاط معلمة باحد الحروف الانكليزية ..... ويمكننا التحكم بالشكل الهندسي بزيادة قيمة الزاوية المقسوم عليها قيم البارامترات (dh,dth,dthtow) او انقاصها بين (0-360) كذلك بين مضاعفاتها (720) او انصافها .. واقصد بجزء البرنامج الذي من خلاله نتحكم بزيادة تشابك الشكل هندسيا هو المقطع البرمجي
th = -45 * Math.PI / 360
dth = 45 * Math.PI / 360
dthtow = -45 * Math.PI / 360
كل قيمة اعلاه قابلة للتغير والتحكم وهي المقصودة ... اليكم الكود كاملا بلغة (visual.net 2008) ... علما اني استخدمت (form) بدلا من ( picture box) مع استخدام الابعاد الافتراضية (width,height) لتحديد نقطة المركز .
ملاحضة يجب تعريف ال(Imports System.Drawing.Drawing2D) في declaration .
الشكل الهندسي
الكـــود البرمجي :-
Imports System.Drawing.Drawing2D
Public Class Form1
'import.System.Drawing.Drawing2d
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
End Sub
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim g As Graphics = e.Graphics
Dim r As New Rectangle(0, 0, Width, Height)
Dim br As New LinearGradientBrush(r, Color.White, Color.Blue, LinearGradientMode.Vertical)
g.FillRectangle(br, r)
Dim p As New Pen(Color.BlanchedAlmond, 1)
Dim st() As String = {"a", "b", "c", "d", "e", "f", "g", "h", "t", "r", "r", "t", "e", "t", "l", "r"}
Dim fo As New Font("arial", 11, FontStyle.Bold)
Dim th, dth, dthtow, x, y, xn, yn As Single
th = -45 * Math.PI / 360
dth = 45 * Math.PI / 360
dthtow = -45 * Math.PI / 360
For i = 0 To 15
x = (Width / 2) + (200 * Math.Cos(th))
y = (Height / 2) + (200 * Math.Sin(th))
g.DrawString(st(i), fo, Brushes.Red, x, y)
For j = 0 To 15
xn = (Width / 2) + (200 * Math.Cos(dthtow))
yn = (Height / 2) + (200 * Math.Sin(dthtow))
g.DrawString(st(i), fo, Brushes.Red, x, y)
g.DrawLine(p, x, y, xn, yn)
dthtow = dthtow + dth
Next
th = th + dth
Next
End Sub
End Class