问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用c或c++编一个画三维图形的程序

发布网友 发布时间:2022-11-09 18:34

我来回答

3个回答

热心网友 时间:2023-11-21 12:54

TurboC 立方体

#include <dos.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>

void DrawCube(int color);

int cx[9], cy[9];
int CubeCorners[9][4];
int CurX, CurY;
int Angle = 0;
int step = 2;
int Radius;
const double Pi = 3.14159265358979;

int main()
{
int GraphDriver;
int GraphMode;
int a, b;
GraphDriver = DETECT;
initgraph(&GraphDriver, &GraphMode, "");

Radius = 150;
CubeCorners[1][2] = 200 / 2;
CubeCorners[2][2] = 200 / 2;
CubeCorners[3][2] = -200 / 2;
CubeCorners[4][2] = -200 / 2;
CubeCorners[5][2] = 200 / 2;
CubeCorners[6][2] = 200 / 2;
CubeCorners[7][2] = -200 / 2;
CubeCorners[8][2] = -200 / 2;

DrawCube(12);

getch();
}

void DrawCube(int color)
{
int i;

for (i = 1; i <= 3; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle) * Pi / 180);
}
for (i = 2; i <= 4; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 2 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 2 * 45) * Pi / 180);
}
for (i = 5; i <= 7; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 6 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 6 * 45) * Pi / 180);
}

for (i = 6; i <= 8; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 4 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 4 * 45) * Pi / 180);
}

for (i = 1; i <= 8; i++)
{
cx[i] = 300 + CubeCorners[i][1] + CubeCorners[i][3] / 8;
if (CubeCorners[i][2] > 0)
cy[i] = 200 + CubeCorners[i][2] + CubeCorners[i][3] / 8;
else if (CubeCorners[i][2] < 0)
cy[i] = 200 + CubeCorners[i][2] - CubeCorners[i][3] / 8;
else
cy[i] = 200 + CubeCorners[i][2];
}

setcolor(color);
moveto(cx[3], cy[3]);
lineto(cx[4], cy[4]);
lineto(cx[8], cy[8]);
lineto(cx[6], cy[6]);
lineto(cx[2], cy[2]);
lineto(cx[4], cy[4]);
moveto(cx[3], cy[3]);
lineto(cx[7], cy[7]);
lineto(cx[8], cy[8]);
moveto(cx[3], cy[3]);
lineto(cx[1], cy[1]);
lineto(cx[2], cy[2]);
moveto(cx[6], cy[6]);
lineto(cx[5], cy[5]);
lineto(cx[1], cy[1]);
moveto(cx[7], cy[7]);
lineto(cx[5], cy[5]);
}

热心网友 时间:2023-11-21 12:55

gogogo!

热心网友 时间:2023-11-21 12:55

c, vc
简单
c 参考
http://blog.csdn.net/ecjtuync/archive/2007/04/23/1576478.aspx

热心网友 时间:2023-11-21 12:54

TurboC 立方体

#include <dos.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>

void DrawCube(int color);

int cx[9], cy[9];
int CubeCorners[9][4];
int CurX, CurY;
int Angle = 0;
int step = 2;
int Radius;
const double Pi = 3.14159265358979;

int main()
{
int GraphDriver;
int GraphMode;
int a, b;
GraphDriver = DETECT;
initgraph(&GraphDriver, &GraphMode, "");

Radius = 150;
CubeCorners[1][2] = 200 / 2;
CubeCorners[2][2] = 200 / 2;
CubeCorners[3][2] = -200 / 2;
CubeCorners[4][2] = -200 / 2;
CubeCorners[5][2] = 200 / 2;
CubeCorners[6][2] = 200 / 2;
CubeCorners[7][2] = -200 / 2;
CubeCorners[8][2] = -200 / 2;

DrawCube(12);

getch();
}

void DrawCube(int color)
{
int i;

for (i = 1; i <= 3; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle) * Pi / 180);
}
for (i = 2; i <= 4; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 2 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 2 * 45) * Pi / 180);
}
for (i = 5; i <= 7; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 6 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 6 * 45) * Pi / 180);
}

for (i = 6; i <= 8; i += 2)
{
CubeCorners[i][3] = Radius * cos((Angle + 4 * 45) * Pi / 180);
CubeCorners[i][1] = Radius * sin((Angle + 4 * 45) * Pi / 180);
}

for (i = 1; i <= 8; i++)
{
cx[i] = 300 + CubeCorners[i][1] + CubeCorners[i][3] / 8;
if (CubeCorners[i][2] > 0)
cy[i] = 200 + CubeCorners[i][2] + CubeCorners[i][3] / 8;
else if (CubeCorners[i][2] < 0)
cy[i] = 200 + CubeCorners[i][2] - CubeCorners[i][3] / 8;
else
cy[i] = 200 + CubeCorners[i][2];
}

setcolor(color);
moveto(cx[3], cy[3]);
lineto(cx[4], cy[4]);
lineto(cx[8], cy[8]);
lineto(cx[6], cy[6]);
lineto(cx[2], cy[2]);
lineto(cx[4], cy[4]);
moveto(cx[3], cy[3]);
lineto(cx[7], cy[7]);
lineto(cx[8], cy[8]);
moveto(cx[3], cy[3]);
lineto(cx[1], cy[1]);
lineto(cx[2], cy[2]);
moveto(cx[6], cy[6]);
lineto(cx[5], cy[5]);
lineto(cx[1], cy[1]);
moveto(cx[7], cy[7]);
lineto(cx[5], cy[5]);
}

热心网友 时间:2023-11-21 12:55

gogogo!

热心网友 时间:2023-11-21 12:55

c, vc
简单
c 参考
http://blog.csdn.net/ecjtuync/archive/2007/04/23/1576478.aspx
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
医生你好 我脸上跟额头上面长了很多小粉刺 请问这是什么原因引起的 要... 世界上到底是先有的鸡还是先有的蛋 请问是先有蛋,还是先有鸡? Excel怎么设置行高并且垂直 晚上梦见一条又长又小的青蛇追着咬我最后被我爸爸打死了代表什么... 专业技能怎么填我来教你 QQ空间曾经有一个左右接东西 小游戏叫什么名字 帽子先生接东西游戏介绍 趣味卡车接东西游戏介绍 怀孕50天B超的表现 C++编程,三维图形变换,急!!! 通过写水来说明要爱学习的古文或者古诗等美文。选中奖励10分 等一季陌上花开只为你笑颜倾城经典美文 三六九等人之中三等美文 十万火急等美文分享,赞美老师 人生就是一场繁华等待美文 读《台湾蝴蝶甲天下》有感,100字 地处亚热带,雨水充足,气候.”出自哪里 雷嗔电怒的意思和造句 “一嗔一笑”的读音是什么?有什么意思? 考驾照可不可以不学直接考试 考驾照一定得培训么,考试谁组织的。 考驾照要交200去听3小时的课吗 闻军官收河南河北描写诗人一家惊喜欲狂的诗句是 《闻官军收河南河北》表现喜悦的诗句 金风科技股票历史走势?金风科技年度财务报表分析?金风科技有什么利好消息? 金风科技股票行情 走势如何?金风科技投资建议分析?金风科技最新消息 跌停? 易经到底是什么,学易经对我们有什么帮助? 舒涵易经课学习心得,4980到底有没有用? 严屹宽和冯绍峰谁大 Mastercam X2能使用三维图形直接编程吗 MATLAB绘制三维图形 matlab把两个三维图形画在一个图中,这样编程哪错了 [x,y]=meshgrid(-2:0.1:2); &gt;&gt; z1=x.*x-2*y.*y; &gt;&gt; z2 出境领队带团出中国境时,在机场需要做什么? 作为一个新的领队要注意什么?我是一个行的出境领队。我很想找些前辈教我 《巨星奶爸从参加好声音开始》txt下载在线阅读全文,求百度网盘云资源 网易云音乐怎么分享音乐至微信好友? 网上兼职陪聊违法吗 有重庆交通大学风景园林的真题吗,具体是考什么内容呀,有参考书推荐吗? 西南大学风景园林的真题和资料在哪里可以买到? 求 西南林业大学 风景园林硕士 历年考题 中南林业科技大学风景园林考研专业课真题? 高分求助:中国农业大学 风景园林硕士 专业课真题 (别给我大纲,那玩儿我有) 求西南林业大学风景园林硕士的真题 本人打算明年考研,“求哈工大历年风景园林硕士考研真题” win7系统如何在电脑上设置禁止下载?求大神帮助 磁场多少ut是正常标准 世界上10大最美最好看的鹦鹉 仅看一眼就能让你动心! 世界公认的最好看的几种鹦鹉 口袋妖怪绿宝石493在哪下载