首页 > 其他分享 >Kitten 动态绘制 Y 轴方向立方体的实现方法

Kitten 动态绘制 Y 轴方向立方体的实现方法

时间:2023-02-18 20:55:48浏览次数:38  
标签:方向 坐标 Kitten 立方体 顶点 动态 绘制

我们之前的实践里,已经探讨了在水平方向动态绘制立方体的积木搭建方法,如下图所示:

接下来我们期望在 Y 轴方向也绘制立方体,如下图所示。

其实只需要在水平方向依次绘制两列立方体就可以了。这两列立方体的初始顶点,我已经用黑色高亮了。

首先我有一个绘制立方体的函数,这个函数里绘制两个正方形,分别是正方体面对我们那个面和背对我们的面,然后绘制四个斜面。

这个函数的调用前提,是 x 方向动态立方体的 x 坐标已经设定好。这个坐标每绘制一个立方体之后,就会在循环里递增,步长是正方体棱长。

x 方向动态立方体的 x 坐标,初始值为 X 方向立方体顶点 X 坐标,这个坐标是在循环体外部计算的,公式如下。

在 Y 方向绘制一排新的立方体,关键是要找到第一个立方体的起始顶点的 X 和 Y 坐标。

我每次动态绘制 X 方向的立方体时,都会将计算好的第一个立方体的顶点,存储到变量起点X 和起点 Y 里,以备后续使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Rx4NW59-1675827193236)(null)]

这样,在绘制 Y 方向立方体时,我重新回到起点 X 和 Y,然后调整旋转角度,移动到斜边的另一个顶点,此时这个顶点的 X 和 Y 坐标,就是新的一排待绘制的立方体的初始X 和 Y 坐标。

换言之,调用从左到右绘制全部立方体函数之前,必须保证起点的 X 和 Y 坐标被成功计算出来才行,后者又依赖变量起点 X 和 Y。

标签:方向,坐标,Kitten,立方体,顶点,动态,绘制
From: https://www.cnblogs.com/sap-jerry/p/17133568.html

相关文章

  • 使用 Kitten 编程猫绘制一个 Y 方向平铺的立方体集合
    效果如下图所示:我们实际上使用了2D来模拟3D效果。应用程序启动时,默认只绘制一个立方体,因此我们在初始绘制的函数里,只执行动态绘制X方向的立方体这一个逻辑。因为默......
  • Android 高德地图绘制虚线线条
    1.获得绘制虚线的坐标点集合//绘制虚线的gps坐标点privateList<LatLng>convesLngs=newArrayList<LatLng>();/***扇形区域折线存储*/privateMap<Stri......
  • 用python绘制1960年到2019年全国GDP增长图
    frompyecharts.chartsimportBar,Timelinefrompyecharts.optionsimport*#处理数据f=open("D:/1960-2019全球GDP数据.csv","r",encoding="GB2312")#读取每一行,返回是......
  • 【Cesium】拿取后台geojson数据绘制图形
    cesiumDraw标绘类mars3d.Draw是实体类,标绘控制处理类,提供文字、点、线、面、立体、模型等各类entity对象的绘制。需求:拿取请求的json数据绘制区域书写基础绘制方法......
  • 【android】音视频开发一:绘制图片
    本文目标在Android平台绘制一张图片,使用至少3种不同的API,ImageView,SurfaceView,自定义View绘制准备:申请手机权限<!--添加权限--><uses-permissionandroid:n......
  • vuejs+cesium绘制点以及给点添加点击事件
    1、绘制一个点this.viewer.entities.add({        id:‘设置点的id’,        position:newCesium.Cartesian3.fromDegrees(经......
  • matplotlib3常见图形的绘制
    importmatplotlib.pyplotaspltimportrandomfrompylabimportmpl设置显示中文字体mpl.rcParams["font.sans-serif"]=["SimHei"]设置正常显示符号mpl.rcParams......
  • 使用canvas与Paint在View中居中绘制文字
    我们在自定义View中有的时候会想自己绘制文字,自己绘制文字的时候,我们通常希望把文字精确定位,文字居中(水平、垂直)是普遍的需求,所以这里就以文字居中为......
  • 【OpenCV】-查找并绘制轮廓
    文章目录​​1寻找轮廓:findContours()函数​​​​2绘制轮廓:drawContours()函数​​​​3示例程序​​1寻找轮廓:findContours()函数说明:findContours()函数是在二值图像......
  • 雷达图的绘制(绘制圆的拓展)
    usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Linq;usingUnityEngine;usingUnityEngine.UI;///<summary>///雷达图And圆///提示:///1......