android canvans 画3d,如何用Canvas做一个3D球

本文介绍如何使用HTML5的Canvas元素画出一个3D立体球,通过经纬线划分球体并设置不同纬度的圆周,以及实现球体的3D旋转效果。涉及到的关键点包括角度划分、球体坐标计算、透明度调整和旋转算法。
摘要由CSDN通过智能技术生成

先前在博客园看过Waxes同学在博客园做的3D球的Demo,地址在这

把他的Demo pull了下面,很多数学公式,即便在他的博客园里也有两个公式无法解释。因此,这里就写一篇自己思路的文章,教大家如何用canvas画一个3D球。

效果如下

第一步:画球

如何设置球上的点?

我的思路是: 给这个球画上经纬线。

这里画一个草图

7e25efa18cded74599b1b9616134a2bd.png

需要注意的有经线和纬线之间的间隔必须是一致。最简单的方案就是以角度划分了。也就是A到B, B到C的距离必须是一样的,因为它们在不同纬度上的角度不同,即 ∠AoC = ∠AoB

代码很好写,我们试着写一下。

第一部分先画不同纬度的圆周,注意要分z的上下限。

var LayerBallNum = 360 / 30, // 横向圆周个数

LayerIntervalUp = 360 / 30; //纵向

var Animation = function(){

this.init();

};

Animation.prototype = {

isrunning: false,

init: function () {

var num = LayerIntervalUp / 2; //layer 的数目 画上半球 下半球<

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值