网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

本吧头图、背景、导航顶部以及页面右侧信息由第三方提供,可能存在广告,请您仔细甄别。
之星交流吧
关注:3,933贴子:56,386
 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月19日漏签0天

百度之星大赛官方贴吧 官方邮箱:astar@baidu.com

了解更多关于之星交流>>

  • 2019百度之星Astar2019百度之星Astar
  • 2018百度之星Astar2018百度之星Astar
  • 2017百度之星Astar2017百度之星Astar
  • 2016百度之星Astar2016百度之星Astar
  • 看贴
  • 图片
    0
  • 视频
    0
  • 精品
    0
  • 5回复贴,共1页
<<返回之星交流吧
>0< 加载中...

百度之星趣味赛——让你眼花缭乱的Astar

  • 只看楼主
  • 收藏

  • 回复
  • NE_night_light
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

虽然graphics.h是TC的库,不过本人是用VC写的,很容易只要在网上down下来库文件就好了,在此不做教程了!#include <time.h>
#include <math.h>
#include <conio.h>
#include <graphics.h>
#define STARS 200
#define PI 3.1415926536
struct Star3D
{
double x;
double y;
double z;
};
Star3D s3d[STARS];
char Astar[STARS];
double viewZ =3;
void Point()
{
srand(time(NULL));
double axy, a;
for(int i=0; i<STARS; i++)
{
s3d[i].z = 2.0 * rand() / RAND_MAX - 1;
axy = sqrt(1 - s3d[i].z * s3d[i].z);
a = 2 * PI * rand() / RAND_MAX;
s3d[i].x = cos(a) * axy;
s3d[i].y = sin(a) * axy;
}
}
void axisX(Star3D &p, double angle)
{
double y = p.y;
p.y = p.y * cos(angle) + p.z * sin(-angle);
p.z = y * sin(angle) + p.z * cos(angle);
}
void axisY(Star3D &p, double angle)
{
double x = p.x;
p.x = p.x * cos(angle) + p.z * sin(-angle);
p.z = x * sin(angle) + p.z * cos(angle);
}
void axisZ(Star3D &p, double angle)
{
double x = p.x;
p.x = p.x * cos(angle) + p.y * sin(-angle);
p.y = x * sin(angle) + p.y * cos(angle);
}
POINT Projection(Star3D p)
{
POINT s2d;
s2d.x = (int)(p.x * ( viewZ / (viewZ - p.z) ) * 200 + 0.5) + 320;
s2d.y = (int)(p.y * ( viewZ / (viewZ - p.z) ) * 200 + 0.5) + 240;
return s2d;
}
MOUSEMSG m;
void main()
{
initgraph(640, 480);
Point();
BeginBatchDraw();
int c;
POINT s2d;
while(!kbhit())
{
m = GetMouseMsg();//等待鼠标消息,如果不想要鼠标操作,可注掉此段
if(m.uMsg==WM_LBUTTONDOWN)
{
if(viewZ==1)viewZ=3;
else viewZ=1;
}
cleardevice();
for(int i=0; i<STARS; i++)
{
axisX(s3d[i], PI/180);
axisY(s3d[i], PI/170);
axisZ(s3d[i], PI/160);
s2d = Projection(s3d[i]);
switch(i%5)
{
case 0:Astar[i]='A';break;
case 1:Astar[i]='S';break;
case 2:Astar[i]='T';break;
case 3:Astar[i]='A';break;
case 4:Astar[i]='R';break;
}
outtextxy(s2d.x, s2d.y, Astar[i]);
}
FlushBatchDraw();
Sleep(10);
}
if(viewZ==1)viewZ=3;
else viewZ=1;
EndBatchDraw();
closegraph();
}



  • NE_night_light
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼





2025-06-19 23:36:15
广告
  • NE_night_light
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为什么。。。上传上来的GIF不会动呢。。。。


  • hiiiiiu
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我看这个格式是JPG的


  • NE_night_light
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可是本地图片是GIF啊,难道是图片太大,GIF直接帮我转成JPG的了?


  • NE_night_light
  • 星入坦途
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

呵呵,谢谢,还真的可以!




登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回之星交流吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示