zoukankan      html  css  js  c++  java
  • 《AdvancED ActionScript 3.0 Animation》读书笔记(2) —— 2.5d

    【2.5d坐标转换成2d坐标】:


    sx = x - z;

    sy = y * 1.2247 + (x + z) * .5;



    【2d坐标转换成2.5d坐标】:


    x = sy + sx / 2

    y = 0

    z = sy - sx / 2



    【转换坐标类】:


    public class Point3D

    {

    public var x:Number;

    public var y:Number;

    public var z:Number;

    public function Point3D(x:Number = 0, y:Number = 0, z:Number = 0)

    {

    this.x = x;

    this.y = y;

    this.z = z;

    }

    }



    public class IsoUtils

    {

    // 1.2247 的精确计算版本

    public static const Y_CORRECT:Number = Math.cos(-Math.PI / 6) * Math.SQRT2;

    /**

    * 把等角空间中的一个3D 坐标点转换成屏幕上的2D 坐标点

    * @参数pos 是一个3D 坐标点

    */

    public static function isoToScreen(pos:Point3D):Point

    {

    var screenX:Number = pos.x - pos.z;

    var screenY:Number = pos.y * Y_CORRECT + (pos.x + pos.z) * . 5;

    return new Point(screenX, screenY);

    }

    /**

    * 把屏幕上的2D 坐标点转换成等角空间中的一个3D 坐标点,设y=0

    * @参数pos 是一个2D 坐标点

    */

    public static function screenToIso(point:Point):Point3D

    {

    var xpos:Number = point.y + point.x * .5;

    var ypos:Number = 0;

    var zpos:Number = point.y - point.x * .5;

    return new Point3D(xpos, ypos, zpos);

    }

    }


  • 相关阅读:
    网页制作--标签,表格,表单,框架
    sql数据库框架
    数据库的触发器
    数据库的复制与附加
    sql数据库随笔
    sql常用函数
    sql数据类型、约束
    sql数据库查询
    数据库增删改查
    数据库基本概念
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426489.html
Copyright © 2011-2022 走看看