问答文章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
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 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在哪下载