硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1675|回复: 4
收起左侧

[emWin] 网上搜的一个3D图形旋转代码,方便大家参考

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
发表于 2017-12-28 01:52:27 | 显示全部楼层 |阅读模式
地址来源
效果:
12_58_573cbd6f4a6bf61.gif

旋转部分的代码,详情需要大家看上面的帖子地址:
  1. void RotatingCube () {
  2.   const int Delta = 9; // Approximation to 1 degree in radians * 2^9
  3.   xOrigin = 32; yOrigin = 24;
  4.   int x = 0, y = 22<<9;
  5.   for (;;) {
  6.     ClearBuffer();
  7.     int x9 = x>>9, y9 = y>>9, x10 = x>>10, y10 = y>>10;
  8.     // Top
  9.     MoveTo(x9, y10 + 12); DrawTo(y9, -x10 + 12);
  10.     DrawTo(-x9, -y10 + 12); DrawTo(-y9, x10 + 12);
  11.     DrawTo(x9, y10 + 12); DrawTo(x9, y10 - 12);
  12.     // Bottom
  13.     DrawTo(y9, -x10 - 12); DrawTo(-x9, -y10 - 12);
  14.     DrawTo(-y9, x10 - 12); DrawTo(x9, y10 - 12);
  15.     // Sides
  16.     MoveTo(y9, -x10 + 12); DrawTo(y9, -x10 - 12);
  17.     MoveTo(-x9, -y10 + 12); DrawTo(-x9, -y10 - 12);
  18.     MoveTo(-y9, x10 + 12); DrawTo(-y9, x10 - 12);
  19.     // Rotate cube
  20.     x = x + (y9 * Delta);
  21.     y = y - ((x>>9) * Delta);
  22.     DisplayBuffer();
  23.   }
  24. }
复制代码




回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
发表于 2017-12-28 08:56:25 | 显示全部楼层
以前在网上看到好像有个专门做图形旋转的库
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
 楼主| 发表于 2017-12-28 09:27:00 | 显示全部楼层
loliko 发表于 2017-12-28 08:56
以前在网上看到好像有个专门做图形旋转的库

谢谢,昨天群里面有个网友正好问到这个问题了,就专门搜集了一个。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
 楼主| 发表于 2018-6-9 01:06:16 | 显示全部楼层
3D_CUBE-1.0.0-es.rar (1.08 MB, 下载次数: 88)

1.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107145
QQ
 楼主| 发表于 2018-12-20 02:05:18 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 12:01 , Processed in 0.269021 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表