نمایش نتایج 1 تا 10 از 10

نام تاپیک: رسم خط جهت دار

  1. #1

    رسم خط جهت دار

    سلام
    من برنامه ای پیرامون گراف ها می خواهم بنویسم
    گراف ها جهت دارند
    من خطوط ساده می تواتم رسم کنم,
    آیا راهی است که بتوانن خط جت دار (با فلش) بین دو نقطه رسم کرد؟!
    ممنون

  2. #2

    Thumbs up نقل قول: رسم خط جهت دار

    این یک نمونه از روشهایی هست که من بیشتر برا اینجور کارا دوست دارم یکم باید ریاضی دوران دبیرستان رو دوره بکنیم چیز خاصی نداره :

    public double RadToDeg(double radians)
    {
    return radians * (180 / Math.PI);
    //return radians;
    }

    public double GetAngle(double x1,double x2,double y1,double y2)
    {
    double t;
    if (x2 - x1 == 0)
    {
    if (y2 - y1 == 0)
    t = 90;
    else
    t = -90;
    }
    else
    {
    t = RadToDeg(Math.Atan((y2 - y1) / (x2 - x1)));
    if ((t < 0) && (x2 - x1 < 0)) t = 180 + t;
    else
    if (t > 0 && (x2 - x1 < 0)) t = 180 + t;
    else
    if (t == 0 && x2 - x1 < 0) t = 180;

    }
    return t;
    }
    public double DegToRad(double Degrees)
    {
    return Degrees * (Math.PI / 180); ;
    }

    public void DrawFlesh(Graphics g, Pen p, PointF p1, PointF p2,int degree,int arr)
    {
    double a = GetAngle(p2.X, p1.X, p2.Y, p1.Y);
    PointF pt1 = new PointF((float)(p2.X + arr * Math.Cos(DegToRad(a + degree))),(float)(p2.Y+arr*Math.Sin(DegToRad(a+deg ree))));
    PointF pt2=new PointF((float)(p2.X+arr*Math.Cos(DegToRad(a-degree))),(float)(p2.Y+arr*Math.Sin(DegToRad(a-degree))));
    GraphicsPath gp = new GraphicsPath();
    gp.StartFigure();
    gp.AddLine(p2, pt1);
    gp.AddLine(pt1, pt2);
    gp.AddLine(pt2, p2);
    gp.CloseAllFigures();
    SolidBrush sb = new SolidBrush(p.Color);
    g.FillPath(sb, gp);
    gp.Dispose();
    sb.Dispose();
    //at the end draw the line
    g.DrawLine(p, p1, p2);
    }

    اینم یک نمونه آزمایش از تست تابع :

    Pen p=new Pen(Color.Red);
    Graphics g=this.CreateGraphics();
    Point p1=new Point(10,10);
    Point p2=new Point(100,100);
    DrawFlesh(g,p,p1,p2,20,40);


    فقط چند تا نکته اولین ورودی تابع جایگاهی هست که باید روی آن رسم صورت بگیرد
    دومین ورودی قلمی هست که برای رسم استفاده می شود
    سومین و چهارمین ورودی مختصات ابتدا و انتها فلش هست
    و پنجمین ورودی اندازه زاویه انحراف سر فلش نصب به خط هست
    آخرین ورودی ارتفاع سر فلش روی خط فلش می باشد.

    عیدتون مبارک و انشا الله سال خوبی داشته باشید.
    موفق باشید.

  3. #3

    نقل قول: رسم خط جهت دار

    این یک نمونه از روشهایی هست که من بیشتر برا اینجور کارا دوست دارم یکم باید ریاضی دوران دبیرستان رو دوره بکنیم چیز خاصی نداره
    خود .net امکان رسم خطوط منحنی و جهت دار رو میده .... نیازی نیست اینقدر کد بنوبسین ...
    گراف جهت دار

  4. #4

    نقل قول: رسم خط جهت دار

    خواهش می کنم منم نگفتم نداده که گفتم این روش رو من بیشتر دوست دارم.
    چرا می زنی خب ؟
    آخرین ویرایش به وسیله Arman_1367 : دوشنبه 01 فروردین 1390 در 20:13 عصر دلیل: غلط املایی

  5. #5

    نقل قول: رسم خط جهت دار

    نقل قول نوشته شده توسط exlord مشاهده تاپیک
    خود .net امکان رسم خطوط منحنی و جهت دار رو میده .... نیازی نیست اینقدر کد بنوبسین ...
    گراف جهت دار

    ممنون,
    سورس کامل و اجرایی نیست, میشه کاملش را بگذارید؟
    میشه توضیح درباره ی استفاده اش هم بدهید؟
    ممنون

  6. #6

    نقل قول: رسم خط جهت دار

    نقل قول نوشته شده توسط aapalireza مشاهده تاپیک
    ممنون,
    سورس کامل و اجرایی نیست, میشه کاملش را بگذارید؟
    میشه توضیح درباره ی استفاده اش هم بدهید؟
    ممنون
    کامله ... خودتونو تنبل عادت ندین ... یه پروژه درست کن و فایل ها رو بهش add کن ...

  7. #7

    نقل قول: رسم خط جهت دار

    نقل قول نوشته شده توسط exlord مشاهده تاپیک
    کامله ... خودتونو تنبل عادت ندین ... یه پروژه درست کن و فایل ها رو بهش add کن ...
    قبل از مطرح کردن خیلی کردک این کار را بکنم!
    آیا میشه آموزش این کار را بدهید؟
    چه جوری add بدهم و فرم desighn را بسازم
    اگر چند ساعت هم طول بکشه میکنم؛ فقط باید بلد باشم :)
    ممنون

  8. #8

    نقل قول: رسم خط جهت دار

    نقل قول نوشته شده توسط aapalireza مشاهده تاپیک
    قبل از مطرح کردن خیلی کردک این کار را بکنم!
    آیا میشه آموزش این کار را بدهید؟
    چه جوری add بدهم و فرم desighn را بسازم
    اگر چند ساعت هم طول بکشه میکنم؛ فقط باید بلد باشم :)
    ممنون
    روی پروژه راست کلیک کن و Add Exicting Item رو بزن و این فایل هارو انتخاب کن ... اینا 2 تا فرم هستن ... توی program.cs هم new Form1() رو بکن new matristograf()

  9. #9

    نقل قول: رسم خط جهت دار

    نقل قول نوشته شده توسط exlord مشاهده تاپیک
    روی پروژه راست کلیک کن و Add Exicting Item رو بزن و این فایل هارو انتخاب کن ... اینا 2 تا فرم هستن ... توی program.cs هم new Form1() رو بکن new matristograf()
    ممنون از راهنمایی های مفیدتان؛
    من به فرموده ی شما عمل کردم و فرم ها را اضافه کردم,
    reference مورد نظر که presentationCore بود را هم اضافه کردم
    اما هنگامی که تغییرات را ی خواهم در programm.cs اعمال کنم, فرم ها را نشناخته و نمی شه new کرد!
    اگر میشه مرا را راهنمایی کنید
    ممنون

  10. #10

    نقل قول: رسم خط جهت دار

    namespace میخواد ...
    CSharp.matristograf

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •