标题:下载图形库 —— 欢迎在本版发布您的图形程序
只看楼主
ChenMo
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
 问题点数:0 回复次数:12 
下载图形库 —— 欢迎在本版发布您的图形程序

下载图形库

对于DOS图形编程,图形库是必须的,
我们经常使用的是系统自带的图形库,如 Turbo C 2 的 Graphics 库。
或许使用系统的 Graphics 有点使您不大高兴的是,
您必须将图形库驱动程序包在您的程序目录下一起发布,那怕您的可能非常小;
更好一点的做法是将图形驱动转为 OBJ 然后将其链接进您的程序,这样可能依然有不少地方令您不满意——如本地中文显示等。

我们需要更为强大的图形库满足需要并弥补Graphics不足,以下介绍推荐的几种开源的图形库以方面参考及提高(以后会继续添加更多好作品),并提供了下载页面链接:

------------------------------------------------------------------
NEO SDK
------------------------------------------------------------------
作者: 一笔苍穹
版本: 2.1.90
下载页面: http://www.bc-cn.net/Soft/kfyy/c/200605/302.html
------------------------------------------------------------------


------------------------------------------------------------------
TC 256
------------------------------------------------------------------
作者:吴进 Cattom
版本:2.35
下载页面: http://www.8623.com/
------------------------------------------------------------------

发布您的图形程序

偶有灵感,或许一个新奇好玩的游戏便从您的手中诞生了。
值得高兴的事情不可独享,发布到此贴(哪怕是一个小小的程序)将使得更多人分享这些快乐。



发布您的图形库

对于个人原创的或修改自他人的图形库,都一并欢迎在本版发布,发布修改自他人的图形库时,请先征求原作者同意,并在包的介绍中声明为他人图形库的修改(或增强)版。

发布图形库时(图形库请务必是免费开源的),请先为图形库编写帮助文档,并且建议提供例程。
将图形库打包后,发送到以下邮箱(同时提供该包官方下载页面):
bccngrappack@21cn.com

我们可能会对图形包作一些检测(为保证质量,但不对作品修改任一字符),然后再为您的图形库加入本帖,
请自行确保所发送的图形包已进行过病毒扫描并且是无毒的。

若官方网无足够的空间以提供下载,请在邮件内注明,BC-CN 将为您提供下载。

在发布已在本贴的图形库的更新版本时,
请将更新的图形库发送到以下邮箱,
bccngrappackupdate@21cn.com

将不再检测,而是直接更新到本帖,也是按照同样的方法。

发布作品时请在邮件中写明:
图形库名称:
当前版本:
版本更新日期:
作者:
联系方式:
图形库简介:
下载页面:(若无,BC-CN 将为您提供下载)


最后,感谢大家的支持!

[此贴子已经被作者于2006-5-28 17:08:30编辑过]

搜索更多相关主题的帖子: 图形 Graphics 下载 STRONG 
2006-05-26 11:12
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 
欢迎大家在这个版块讨论图形编程遇到的问题和心得。

并希望能多多发布自己的作品,可以包括普通图形程序、游戏、编程技巧、学习心得甚至是原创的游戏人物/场景图片或游戏音乐等各种相关资源。
在这里没有规定的开发环境和游戏库,你习惯用什么都可以,水平也没有限制,唯一需要注意的是最好是C语言作品,C++也适当可以,其它语言的请发到与其相关的版块。

另外,由于这是图形编程版,你可能会经常看到一些有意思的帖子:比如一个好玩的小游戏等诸如此类的,我希望你能在享用后能够回个帖,这样是对他人劳动的基本尊重。

最后,祝你愉快!

[此贴子已经被作者于2006-5-27 17:35:56编辑过]

2006-05-27 17:28
c4nk001
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-29
得分:0 
百思不解的问题

请大家看看我遍的一个显示3视图的程序为什么不能显示试图呢??另外每次编译后,以后运行时常常会出现俯视图(就是"the top view "下面一直到“the profile view:"这部分)输出结果为(6,9,5,1,2,6)这样的错误结果而不是正确结果:(5,9,10,8,5)大家帮帮忙啊,谢谢

有图

/*该程序中的NZ方向与初始化的数据集中的面表有关系,也既与面中的点的排列顺序有关系*/
#include <stdio.h>
#include <alloc.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <graphics.h>

static float data[]={0,0,0, 0,0,20, 40,0,20, 40,0,0,
0,30,0, 0,30,20, 40,30,20, 40,30,0,
0,40,10, 40,40,10,
4,3,2,1,4, 6,9,5,1,2,6, 2,3,7,6,2,
3,4,8,10,7,3, 4,1,5,8,4, 5,9,10,8,5,
6,7,10,9,6};
static int data_idx=0;


void ClearMatrix();
void MatrixMultiply();
void DetermineVisibility();
void DrawOneSurface();
void MatrixROTATE();
void ROTATEMATRIX();
void REQUIRE();

int NP,NF,FP;
float **P,**PT,**F;
float T[3][3]={{0,0,0},{0,0,0},{0,0,0}};
float D;
int i,j,k;
float JJ,KK,HI,R;
char str[10];
float X0,Y0;
float M,L;
float L1,L2,L3;
float MAX,MUN;
float P1,P2,P3;
void main()
{
int driver,mode;
driver=DETECT;
registerbgidriver(EGAVGA_driver);
initgraph(&driver,&mode,"c:\\tc");
cleardevice();
printf("NP,NF,FP=?");
scanf("%d,%d,%d",&NP,&NF,&FP);
P =malloc(NP*sizeof(float *));
for(i=0;i<NP;i++)
*(P+i)=malloc(3*sizeof(float));
PT=malloc(NF*sizeof(float *));
for(i=0;i<NF;i++)
*(PT+i)=malloc(3*sizeof(float));
F =malloc(NF*sizeof(int *));
for(i=0;i<NF;i++)
*(F+i)=malloc((FP+1)*sizeof(float));
printf("build list of point\n");
for(i=0;i<NP;i++)
{
for(j=0;j<3;j++,data_idx++)
{
P[i][j] =data[data_idx];
printf("%f\t",P[i][j]);
}
printf("\n");
}
printf("\n");
printf("build list of surface\n");
for(i=0;i<NF;i++)
{
for(j=0;j<FP+1;j++,data_idx++)
{
F[i][j]=data[data_idx];
printf("%f\t",F[i][j]);
if(j==0)
D=F[i][j];
if(j>0 && F[i][j] == D)
{data_idx++;
printf("\n");
break;
}
}
printf("\n");
}
printf("\n");

printf("Do You Want Three-Views?");
scanf("%s",str); /*needn't the &*/
if(strcmp(str,"NO") == 0)
goto AXONOMART;
printf("X0,Y0=?");
scanf("%f,%f",&X0,&Y0);
printf("the front view:\n");
T[0][0]=1;T[1][1]=1;
printf("L=?");scanf("%f",&L);
printf("M=?");scanf("%f",&M);
/*MATRIX MULTIPLIY*/
MatrixMultiply();
/*DETERMINE VISIBILITY;*/
DetermineVisibility();
ClearMatrix();
printf("\n");
printf("the top view:\n");
T[0][0]=1;T[2][1]=-1;
printf("M=?");scanf("%f",&M);
/*MATRIX MULTIPLIY*/
MatrixMultiply();
/*DETERMINE VISIBILITY;*/
DetermineVisibility();
ClearMatrix();
printf("\n");
printf("the profile view:\n");
T[1][1]=1;T[2][0]=1;
printf("L=?");
scanf("%f",&L);
MatrixMultiply();
DetermineVisibility();
ClearMatrix();
printf("\n");
AXONOMART:
printf("Do You Want AxNoMatr View?");
scanf("%s",str);
if(strcmp(str,"NO")==0)
goto OBLIQUE;
printf("X0,Y0=?");
scanf("%f,%f",&X0,&Y0);
/*MATRIX MULTIPLIY*/
MatrixROTATE();
/*DETERMINE VISIBILITY;*/
DetermineVisibility();
ClearMatrix();
printf("\n");
OBLIQUE:
printf("Do You Want OBLIQUE View?");
scanf("%s",str);
if(strcmp(str,"NO")==0)
goto PERSPECTIVE;
printf("X0,Y0=?");
scanf("%f,%f",&X0,&Y0);
printf("L1,L2,L3=");
scanf("%f,%f,%f",&L1,&L2,&L3);
/*MATRIX MULTIPLIY*/
T[0][0]=1;T[1][1]=1;T[2][0]=-L1/L3;T[2][1]=-L2/L3;
MatrixROTATE();
/*DETERMINE VISIBILITY;*/
DetermineVisibility();
ClearMatrix();
PERSPECTIVE:
printf("\n");
printf("DO YOU WANT PERSPECTIVE VIEW?");
scanf("%s",str);
if(strcmp(str,"NO")==0)
exit(0);
printf("X0,Y0=?");
scanf("%f,%f",&X0,&Y0);
printf("JJ=3,HI=1700,R=1/K\n");
printf("JJ,HI,R=?");
scanf("%f,%f,%f",&JJ,&HI,&R);
ROTATEMATRIX();
/*MATRIX MULTIPLIY*/
MatrixMultiply();
/*DETERMINE VISIBILITY;*/
REQUIRE();
for(i=0;i<NP;i++)
{
PT[i][2]=PT[i][2]-MAX;
PT[i][1]=PT[i][1]-HI;
for(j=0;j<3;j++)
PT[i][j]=PT[i][j]/(1+R*PT[i][2]);
}
DetermineVisibility();
/*DRAWING ONE SURFACE*/
getch();
closegraph();
for(i=0;i<NP;i++)
{free(P+i);
free(PT+i);
}
free(P);
free(PT);
for(i=0;i<NF;i++)
free(F+i);
free(F);
}

void MatrixMultiply()
{
for(i=0;i<NP;i++)
{
for(j=0;j<3;j++)
{
PT[i][j]=0;
for(k=0;k<3;k++)
PT[i][j]=PT[i][j]+P[i][k]*T[k][j];
}

PT[i][0]=PT[i][0]+L;
PT[i][1]=PT[i][1]+M;
}
}

void DetermineVisibility()
{
float XA,XB,YA,YB,NZ;
for(KK=0;KK<NF;KK++)
{
P1=F[KK][0];
P2=F[KK][1];
P3=F[KK][2];
XA=PT[P2-1][0]-PT[P1-1][0];
YA=PT[P2-1][1]-PT[P1-1][1];
XB=PT[P3-1][0]-PT[P1-1][0];
YB=PT[P3-1][1]-PT[P1-1][1];
NZ=XA*YB-XB*YA;
printf("NZ=%f\n",NZ);
if(NZ>0.001) DrawOneSurface();
}
}

void DrawOneSurface()
{
float x,x1,y,y1;
x1=PT[P1-1][0];y1=PT[P1-1][1];
for(JJ=0;JJ<FP+1;JJ++)
{
D=F[KK][JJ];
printf("D=%f\n",D);
x=PT[D-1][0]+X0;
printf("x=%f\t",x);
y=-PT[D-1][1]+Y0;
printf("y=%f\t",y);
if(JJ==0) moveto(x1,y1);
else line(x1,y1,x,y);
x1=x; y1=y;
if(JJ>0 && D==P1) break;
}
}

void ClearMatrix()
{
for(JJ=0;JJ<3;JJ++)
for(KK=0;KK<3;KK++)
T[JJ][KK]=0;
}

void MatrixROTATE()
{
float FE,CE,FT,CT;
printf("FE,CE=");
scanf("%f,%f",&FE,&CE);
FT=FE*3.14159/180;
CT=CE*3.14159/180;
T[0][0]=cos(FT);T[1][1]=cos(CT);
T[2][0]=sin(FT);T[0][1]=sin(CT);
T[2][1]=-T[0][0]*T[0][1];
T[0][1]= T[2][0]*T[0][1];
}

void ROTATEMATRIX()
{
float FT,FE;
printf("FE=");
scanf("%f",&FE);
FT=(FE*3.14159)/180;
T[0][0]=cos(FT);T[2][2]=T[0][0];
T[2][0]=sin(FT);T[0][2]=-T[2][0];
T[1][1]=1;
}

void REQUIRE()
{
MAX=PT[0][JJ-1];
MUN=MAX;
for(i=0;i<NP;i++)
{
if(PT[i][JJ-1]>MAX) MAX=PT[i][JJ-1];
if(PT[i][JJ-1]<MUN) MUN=PT[i][JJ-1];
}
}


2006-05-29 23:25
lwlmmb
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-10-7
得分:0 
             太高兴了,找了好久,才找到这样的论坛,希望大家一起学习
2006-10-07 01:12
xianlin_lea
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2006-10-6
得分:0 

希望大家能够上传一些关于C语言图形学的入门知识!

小弟先行谢过了!


2006-10-08 20:56
清澂居士
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:1237
专家分:7
注 册:2006-12-19
得分:0 
一直想學````

佛曰:\"前世的500次回眸才换来今生的一次擦肩而过\".我宁愿用来世的一次擦肩而过来换得今生的500次回眸.
2007-01-08 12:20
leadfuture
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-1-23
得分:0 
原来c的图象功能也可以如此强大

努力学习
2007-01-23 23:44
BEINGJESSE
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-5-15
得分:0 
i'm a novice! up

JUST FOR FUN
2007-05-18 17:13
danielliujp
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-11-30
得分:0 
顶!!

上有政策 下有对策
2007-06-09 23:11
非常后街
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-16
得分:0 

顶了 ,


2007-06-17 13:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-67323-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.082911 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved