PDA

View Full Version : الگوریتم ها ،برنامه ها ،جزوه و پروژه پایانی گرافیک کامپیوتری



alireza.zahani
جمعه 20 اسفند 1389, 21:22 عصر
الگوریتم رسم خط

public void Line(int x1, int y1, int x2, int y2, Graphics gc, int width)
{
Pen myPen = new Pen(Color.Black);
float dx, dy, len, x_inc = 0, y_inc = 0, x, y;
dx = Math.Abs(x2 - x1);
dy = Math.Abs(y2 - y1);
if (dx > dy)
len = dx;
else
len = dy;
if (len != 0)
{
x_inc = dx / len;
y_inc = dy / len;
}
for (int w = 1; w <= width; w++)
{
x = x1; y = x1;
for (int i = 0; i < len; i++)
{
gc.DrawEllipse(myPen, x, y, 1, 1);
x = x - x_inc;
y = y + y_inc;
}
if (dy > dx)
x1--;
else
y1--;
}
}


منبع:http://www.icw.blogfa.com/


حتما به اين وبلاگ يه سري بزن
================================
از تمامی صفحات این تایپیک دیدن نمایید

mehrdad372
شنبه 21 اسفند 1389, 22:13 عصر
اسم این روش چیه که در بالا رسم کردی؟

mehrdad372
شنبه 21 اسفند 1389, 22:15 عصر
میشه تو حل این سوالات کمکم کنی
1.الگوریتم رسم خط از روشDDA در ++C
2.الگوریتم رسم خط از روش Bersenham

bee_sanandaj
یک شنبه 22 اسفند 1389, 17:10 عصر
میشه تو حل این سوالات کمکم کنی
1.الگوریتم رسم خط از روشDDA در ++C
2.الگوریتم رسم خط از روش Bersenham

تو این این قست باید پول بدی تا جواب سوالتو بدن

bee_sanandaj
سه شنبه 24 اسفند 1389, 21:43 عصر
.الگوریتم رسم خط از روشDDA در ++C
2.الگوریتم رسم خط از روش Bersenham

منم این سوالات برام پیش اومده

alireza.zahani
چهارشنبه 25 اسفند 1389, 21:22 عصر
برنامه c++ الگوریتم رسم دایره برسنهام (http://computer-azadbirjand.blogfa.com/post-73.aspx)




/* ============== Program Description ============= */
/* program name : Bersenham Circle Drawer */
/* */
/* ================================================== */

#include
#include
#include
#include

void main()
{
//Detect Graphic Mode
int driver = DETECT,mode;
initgraph(&driver,&mode,"c:\\tc\\bgi");
//Program Start
int xcenter,ycenter,r,x,y,p,i;
cout<<"Enter R"< cin>>r;
xcenter=r;
ycenter=r;
x=0;
y=r;
p=1-r;
putpixel(xcenter+x,ycenter+y,2);
while (x {
x++;
if (p<0)
p+=2*x+1;
else
{
p+=2*(x-y)+1;
y--;
}
putpixel(xcenter+x,ycenter+y,2);
putpixel(xcenter-x,ycenter+y,2);
putpixel(xcenter+x,ycenter-y,2);
putpixel(xcenter-x,ycenter-y,2);
putpixel(xcenter+y,ycenter+x,2);
putpixel(xcenter-y,ycenter+x,2);
putpixel(xcenter+y,ycenter-x,2);
putpixel(xcenter-y,ycenter-x,2);
}
getch();
}

alireza.zahani
چهارشنبه 25 اسفند 1389, 21:27 عصر
برنامه c++ الگوریتم رسم خط DDA (http://computer-azadbirjand.blogfa.com/post-72.aspx)


////DDA Line Alghoritm-----------------------------------------------
#include
#include
#include
int main()
{
int driver = DETECT,mode;
initgraph(&driver,&mode,"c:\\borlandc\\bgi");
float x1,x2,y1,y2,i;
float ytemp,xtemp;
float m;
cout<<"Enter x1 , y1"<
cin>>x1>>y1;
cout<<"Enter x2 , y2"<
cin>>x2>>y2;
m = (y2-y1)/(x2-x1);
ytemp=y1;
xtemp=x1;
if (m<1){
for (i = 0; i <= x2-x1; i++)
{
putpixel(xtemp,ytemp,4);
ytemp+=m;
xtemp++;
}
}
else
{
for (i=y1; i

alireza.zahani
چهارشنبه 25 اسفند 1389, 21:29 عصر
---------------------------------------------


برنامه c++ الگوریتم رسم خط DDA (http://computer-azadbirjand.blogfa.com/post-72.aspx)
--
#include
#include
#include
int main()
{
int driver = DETECT,mode;
initgraph(&driver,&mode,"c:\\borlandc\\bgi");
float x1,x2,y1,y2,i;
float ytemp,xtemp;
float m;
cout<<"Enter x1 , y1"<
cin>>x1>>y1;
cout<<"Enter x2 , y2"<
cin>>x2>>y2;
m = (y2-y1)/(x2-x1);
ytemp=y1;
xtemp=x1;
if (m<1){
for (i = 0; i <= x2-x1; i++)
{
putpixel(xtemp,ytemp,4);
ytemp+=m;
xtemp++;
}
}
else
{
for (i=y1; i
{
putpixel(xtemp,i,4);
xtemp=(xtemp*m+1)/m;
}
}
getch();
return 0;
}

mehrdad372
جمعه 27 اسفند 1389, 15:40 عصر
با تشکر از علیرضا زهانی برا دادن جواب سوالاتم
دو تا دیگه سوال داشتم
1.الگوریتم رسم دایره به روش midpoint
2.الگوریتم رسم دایره به روش زاویه ای
Bee_sanandaj تو ترم چندی و کجای سنندج درس میخونی؟
آخه منم از سنندج هستم

melika_it
جمعه 27 اسفند 1389, 19:11 عصر
سلام می خواستم بدونم اگه امکانش هست در مورد خوندن پیکسل پیکسل تصاویر با فرمت bmp و نمایش اونا به وسیله کد نویسی سی شارپ یه توضیحی بدین ،باید بدون استفاده از هیچ کمپوننتی باشه :ناراحت: . وقت زیادیم ندارم ممنون می شم در اولین فرصت جوابمو بدین اگه منبعیم دارین بهم معرفی کنید یا بهم میل کنید :لبخندساده:

alireza.zahani
جمعه 27 اسفند 1389, 21:17 عصر
سلام به دوستان عزیز.
اگه مطالبی که ارائه میشه براتون مفیده خواهشا تشکر کنید تا دوستان بیشتری از اون دیدن کنند و مطالب بیشتری بتونیم ارائه کنیم.
اینطوری آدم دلش گرم تره به جواب دادن دوستان.
پایین ،سمت راست هر تایپیک یک گزینه تشکر کردن داره که فقط کافیه اونو بزنید.
با تشکر.

alireza.zahani
جمعه 27 اسفند 1389, 21:18 عصر
برای جواب مهرداد جان باید عرض کنم منظورش از رسم دایره ،،دایره تو پر منظورشه یا تو خالی.
و اینکه منظورش روش قطری هستش؟
اگه آره چند قطریشو میخواد.
شایدم به روش شعاعی منظورته؟

alireza.zahani
جمعه 27 اسفند 1389, 21:20 عصر
در جواب ملیکا جان هم باید بگم یه خورده بیشتر توضیح بده،،منظورشو دقیق متوجه نشدم!