PDA

View Full Version : آیا میشه با #c معادله درجه 1 رو رسم کرد ؟



m.khani_121
شنبه 19 آذر 1390, 20:18 عصر
مثلا با ms chart میشه یا یه روش دیگه ؟

سوداگر
شنبه 19 آذر 1390, 23:45 عصر
برنامه مشابه به زبان vb.net 2003 (http://forum.patoghu.com/thread41979.html)

m.khani_121
یک شنبه 20 آذر 1390, 10:49 صبح
برنامه مشابه به زبان vb.net 2003 (http://forum.patoghu.com/thread41979.html)

این که لینکش خرابه !!!!

ellina
یک شنبه 20 آذر 1390, 11:06 صبح
اره مثلا با استفاده از picture box

یه تابع بنویسی 2 تا پارامتر x و y


بگیره
اونوقت رسمش کنه

سوداگر
یک شنبه 20 آذر 1390, 11:22 صبح
این که لینکش خرابه !!!
من که مشکلی نداشتم. بقیه؟
79031

البته من دنبال شروین گراف خارجی بودم که OpenSource بود ولی پیداش نکردم.
راستی همین الان عضو اون سایت شدم تا برنامه رو دانلود کنم اما مثل اینکه قسمت دانودش ف ی ل ت ر شده.

mehdi.mousavi
دوشنبه 21 آذر 1390, 00:32 صبح
آیا میشه با #c معادله درجه 1 رو رسم کرد ؟

سلام.
البته که میشه. در ساده ترین حالت، می تونید متود OnPaint رو در فرم خودتون Override کنید، سپس معادله مورد نظر رو
در یک حلقه به X اش مقدار بدید، Y اش رو محاسبه کنید، سپس Normalize کرده روی فرم نمایش بدیم:

protected override void OnPaint(PaintEventArgs e)
{
float offsetX = 150f, offsetY = 150f;

List<PointF> points = new List<PointF>();
for (float x = -100f; x < 100f; x += .1f)
{
float y = x * x, ratio = 15f;
points.Add(new PointF(offsetX + ratio * x, offsetY - ratio * y));
}

for (int i = 1; i < points.Count; i++)
e.Graphics.DrawLine(Pens.Red, points[i - 1].X, points[i - 1].Y, points[i].X, points[i].Y);

base.OnPaint(e);
}

کد فوق، معادله y = x ^ 2 رو رسم میکنه...

اما در دنیای واقعی، باید این نقاط رو روی Image ای رسم کنیم (در حقیقت Buffer بشه)، سپس اون Image رو روی DC نمایش بدید.
البته Library هایی هم برای انجام این کار وجود داره که میشه بعنوان مثال به این کتابخانه (http://www.codeproject.com/KB/miscctrl/GraphPlotting.aspx) اشاره کرد.

موفق باشید.

m.khani_121
دوشنبه 21 آذر 1390, 11:24 صبح
فکر کنم منظورشون این باشه که معادله رو به صورت رشته دریافت کنیم....

بله به صورت رشته ای دریافت بشه و برای محاسبه اش به آرایه تبدیلش کنیم .

mehdi.mousavi
دوشنبه 21 آذر 1390, 11:34 صبح
بله به صورت رشته ای دریافت بشه و برای محاسبه اش به آرایه تبدیلش کنیم .

سلام.
بسیار خوب، در مورد Evaluate کردن چنین کدهایی، قبلا چند بار در انجمن توضیح داده ام. اگر مشکلتون اینه، با جستجویی در نوشته های من می تونید به هدفتون برسید.
این مقاله (http://www.codeproject.com/KB/cs/evalcscode.aspx) نیز شروع بدی نیست و شما رو با روش انجام این کار آشنا میکنه.

موفق باشید.