PDA

View Full Version : آموزش: معادله خط



r4hgozar
دوشنبه 24 مهر 1391, 21:39 عصر
سلام دوستان. من می خوام چند تا ورودی بگیرم و با استفاده ار اون و استفاده از معادله خط یه خط رو رسم کنم.

فرمولشم :
y= mx+b
که m خودش مساوی با
m=y-y1/x-x1

من اینها رو در اوردم اما نمی دونم من ورودی هام چین و خروجی هام چین.
یه مقداری توضیح در باره ورودی ها و فرمول حل این مساله در c# خوام.
خیلی ممنون می شم اگه کمک کنین

RIG000
سه شنبه 25 مهر 1391, 08:21 صبح
به سی پلاس پلاس اینووشته بودم .الگو بگیر عوضش کن.


#include<iostream.h>
#include<conio.h>
#include<graphics.h>
main()
{
void line1(int x1,int y1,int x2,int y2);
int gd=DETECT,gm,i,x1,y1,y2,x2,z;
initgraph(&gd,&gm,"..\\BGI");
cout<<"\n Enter Start Point";
cin>>x1>>y1;
cout<<"\n Enter End Point";
cin>>x2>>y2;
line1(x1,y1,x2,y2);
getch();
closegraph();
}
void line1(int x1,int y1,int x2,int y2)
{
float x=x1,y=y1,dx=x2-x1,dy=y2-y1;
float m=dy/dx;
float b=y-m*x;
float step=(x2>x1)?1:-1;
putpixel(x,y,RED);
while(x!=x2)
{
x+=step;
y=(m*x)+b;
putpixel(x,y,RED);
}
}

masoud908
سه شنبه 30 آبان 1391, 14:47 عصر
private void button1.click
{
int x,x0=30,y0=15,xend=120,yend=140;
float y,m,b;
m=(yend-y0)/(xend-x0);
b=y0-m*x;
Bitmap bmp1=new Bitmap(150,150);
for(x=x0;x<=xend;x++)
{
y=m*x+b;
bmp1.setpixel(x,Math.round(y),Color.Red)
pictureBox1.Image=bmp1;
}
}

مشکل این چیه ؟

rayson
یک شنبه 14 مهر 1392, 16:15 عصر
در این خط int x,x0=30 فقط x0 مقدار میگیره و هنگام عمل ضرب در خط b=y0-m*x; مشکل ایجاد میشه . من فعلا همین مشکل را دیدم از نظر کد :)
موفق باشید.