parhamm
شنبه 17 تیر 1391, 23:36 عصر
سلام به تمامی دوستان عزیز
من می خواستم چیزی شبیه سازی کنم که ( به صورت خیلی ساده ) جسم ( مربع تو پر ) سر یک فنر ( یک خط ساده )قرار دارد که با دادن طول اصلی فنر و طول اولیه ی فنر و جرم جسم و ضریب سختی فنر این شبیه سازی انجام بشه که من تا یه جا هایش پیش رفتم و یه سری فرمول در اوردم ولی من نمی دونم چه جوری این فرمول ها رو پیاده سازی کنم و نمی دونم این خط چرا ارور میده و اصلا این شبیه سازی رو پیاده کنم
دوستان من تو C#تازه واردم و ازتون خیلی سوال دارم حتی درباره ی این شبیه سازی
ازتون می خوام کمکم کنید
این هم کدش
توضیح: l0=طول اصلی فنر , l=طول اولیه ی فنر , m= جرم جسم , k=ضریب سختی فنر
توی قسمت فرم این اعداد توی textbox وارد میشود وبعد روی دکمه ی stra زده میشود و شبیه سازی توی picturebox نمایش داده می شود
با تشکر
using
System;
using
System.Collections.Generic;
System.ComponentModel;
using
System.Data;
usingusing
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
jerm_o_fanar
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
double l0, l, m, k, a, dl, scale, w, h, x, v, f;
privatevoid button1_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Enabled =
false;
button1.Text =
"start";
}
else
{
timer1.Enabled =
true;
button1.Text =
"pause";
}
}
privatevoid Form1_Load(object sender, EventArgs e)
{
l0 =
Convert.ToDouble(textBox1.Text);
l =
Convert.ToDouble(textBox2.Text);
m =
Convert.ToDouble(textBox3.Text);
k =
Convert.ToDouble(textBox4.Text);
scale = 150;
x = l;
v = 0;
}
privatevoid init(double l0, double l, double m, double k)
{
dl = x - l0;
f = k * dl;
a = f / m;
v += a * dl;
x += v * dl;
}
privatevoid timer1_Tick(object sender, EventArgs e)
{
init(l0, l, m, k);
Graphics p;
p =
this.pictureBox1.CreateGraphics();
Pen q = newPen(Color.Green, 3);
p.DrawLine(q, 0, 300, l0, 300);
}
}
}
من می خواستم چیزی شبیه سازی کنم که ( به صورت خیلی ساده ) جسم ( مربع تو پر ) سر یک فنر ( یک خط ساده )قرار دارد که با دادن طول اصلی فنر و طول اولیه ی فنر و جرم جسم و ضریب سختی فنر این شبیه سازی انجام بشه که من تا یه جا هایش پیش رفتم و یه سری فرمول در اوردم ولی من نمی دونم چه جوری این فرمول ها رو پیاده سازی کنم و نمی دونم این خط چرا ارور میده و اصلا این شبیه سازی رو پیاده کنم
دوستان من تو C#تازه واردم و ازتون خیلی سوال دارم حتی درباره ی این شبیه سازی
ازتون می خوام کمکم کنید
این هم کدش
توضیح: l0=طول اصلی فنر , l=طول اولیه ی فنر , m= جرم جسم , k=ضریب سختی فنر
توی قسمت فرم این اعداد توی textbox وارد میشود وبعد روی دکمه ی stra زده میشود و شبیه سازی توی picturebox نمایش داده می شود
با تشکر
using
System;
using
System.Collections.Generic;
System.ComponentModel;
using
System.Data;
usingusing
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
jerm_o_fanar
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
double l0, l, m, k, a, dl, scale, w, h, x, v, f;
privatevoid button1_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Enabled =
false;
button1.Text =
"start";
}
else
{
timer1.Enabled =
true;
button1.Text =
"pause";
}
}
privatevoid Form1_Load(object sender, EventArgs e)
{
l0 =
Convert.ToDouble(textBox1.Text);
l =
Convert.ToDouble(textBox2.Text);
m =
Convert.ToDouble(textBox3.Text);
k =
Convert.ToDouble(textBox4.Text);
scale = 150;
x = l;
v = 0;
}
privatevoid init(double l0, double l, double m, double k)
{
dl = x - l0;
f = k * dl;
a = f / m;
v += a * dl;
x += v * dl;
}
privatevoid timer1_Tick(object sender, EventArgs e)
{
init(l0, l, m, k);
Graphics p;
p =
this.pictureBox1.CreateGraphics();
Pen q = newPen(Color.Green, 3);
p.DrawLine(q, 0, 300, l0, 300);
}
}
}