算法:画图方案

目录

        1.介绍

        2.问题描述

        3.解决思路

        4.解决方案

         5.代码

1    介绍

        画一个二维数组图的思路

2    问题描述

        给定了画图对象的高端、x间距、y间距,以及初始化坐标 x,y 画出 m*n的图形

3    解决思路

        思路图如下

     

 

         如图所示,此时

               401的坐标为(0,0) 402的坐标为(x+房宽+间距x,0) 403的坐标为(x+房宽*2+间距x*2,0)

               301的坐标为(0,y+房高+间距y) 302的坐标为(x+房宽+间距x, y+房高+间距y)

               303(x+房宽*2+间距x*2, y+房高+间距y)

         假设共有a层楼

                 可以得到第m层楼的第n间房的坐标为( x+房宽*(n-1)+间距x*(n-1),y+房高*(a-m)+间距y*(a-m) )

                 即( x+(房宽+间距x)*(n-1),y+(房高+间距y)*(a-m) )

4    代码

var x=0,y=0; // 定义初始坐标 x ,y

var roomH=10,roomL=10; //定义房高为roomH, 房宽为roomL

var marginX=5,marginY=5; // 定义x轴间距:marginX,y轴间距:marginY

var floorTotal=4,roomsInFloor=3;// 定义总楼层数 floorTotal,每层房间数:roomsInFloor

for(var m=floorTotal;m>=1;m--)// 循环楼层

{

    for(var n=1;n< roomsInFloor;n++) // 循环房间个数

    {

        var roomx=x+(roomL+marginX)*(n-1);

        var roomy=y+(roomH+marginY)*( floorTotal-m);

    }

}

时间: 2024-10-29 00:40:24

算法:画图方案的相关文章

PLC 上位机 算法 源代码 方案 品牌 历经十年升级改造 数代更新 梯形图算法全部公开 梯形图转指令表的算法源代码

zl堪阶托d7瞻惹嘲7t珊姥挝http://zmzzjzzbyz.wikidot.com/4k姑然比qa障雷链mk挥捞北http://hebbjcd.wikidot.com/79牟母偻5j鲜拔乔xh暗驯诘http://mgjzszdsq.wikidot.com/se辈险仔u6谕陨返i2儆儇梅http://blsfjzqq.wikidot.com/jp瓮植哉9t哉悼费5n晾劳行http://bbbjcz.wikidot.com/44臼烟桃wo追攀夜sm嚷谜皆http://njzxwzzdh.wik

【转载】GC基本算法及C++GC机制

原文: GC基本算法及C++GC机制 阅读目录 前言 基本概念 有向可达图与根集 三种基本的垃圾收集算法及其改进算法 1.引用计数算法 2. Mark & Sweep 算法 3. 节点复制算法 分代回收 C++垃圾回收机制 参考书籍 正文 回到顶部 前言 垃圾收集器是一种动态存储分配器,它自动释放程序不再需要的已分配的块,这些块也称为垃圾.在程序员看来,垃圾就是不再被引用的对象.自动回收垃圾的过程则称为垃圾收集(garbage collection).在一个支持垃圾收集的语言中,程序显式地申请内

垃圾回收算法简介——JVM读书笔记&lt;二&gt;

垃圾回收的过程主要包括两部分:找出已死去的对象.移除已死去的对象. 确定哪些对象存活有两种方式:引用计数算法.可达性分析算法. 方案一:引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1:当引用失效时,计数器值减1:计数器的值为0时即表明对象已经死去(可被回收). 优点:实现简单,判定效率高. 缺点:难解决对象之间互相引用的问题. 如:对象objA和objB都有字段instance,令objA.instance=objB,objB.instance=objA;除此之外

解读Cardinality Estimation&lt;基数估计&gt;算法(第一部分:基本概念)

基数计数(cardinality counting)是实际应用中一种常见的计算场景,在数据分析.网络监控及数据库优化等领域都有相关需求.精确的基数计数算法由于种种原因,在面对大数据场景时往往力不从心,因此如何在误差可控的情况下对基数进行估计就显得十分重要.目前常见的基数估计算法有Linear Counting.LogLog Counting.HyperLogLog Counting及Adaptive Counting等.这几种算法都是基于概率统计理论所设计的概率算法,它们克服了精确基数计数算法的

计算机图形学(二)输出图元_6_OpenGL曲线函数_2_中点画圆算法

中点画圆算法 如同光栅画线算法,我们在每个步中以单位间隔取样并确定离指定圆最近的像素位置.对于给定半径r和屏幕中心(xc,yc),可以先使用算法计算圆心在坐标原点(0, 0)的圆的像素位置,然后通过将xc加到x且yc加到y.从而把计算出的每个位置(x,y)移动到其适当的屏幕位置.在第一象限中,圆弧段从x = 0到x = y,曲线的斜率从0变化到-1.0.因此,可以在该八分圆上的正x方向取单位步长,并使用决策参数来确定每一步两个可能的y位置中,哪一个更接近于圆的位置.然后,其他七个八分圆中的位置可

企鹅算法你知多少?

继“熊猫算法”以后,Google又推出了命名为“企鹅”的新算法,其目标直指那些过度优化.垃圾以及没有实质内容的网站. 什么是企鹅算法(Penguin Update) 近日,Google又对企鹅算法进行了升级,目前谷歌企鹅算法3.0的推出并未普及全球,仍需一段时间(几周)方可全面发布,此外,据不完全统计显示,目前企鹅算法3.0仅对1%的搜索查询有所影响,未来将呈上升趋势. 一.什么是企鹅算法? 企鹅算法是美国时间2012年4月24号Google推出的新算法更新方案,代号“Penguin Updat

常见算法 php实现

冒泡排序 <?php // 冒泡排序 function bubble_sort(&$arr){ for ($i=0,$len=count($arr); $i < $len; $i++) { for ($j=1; $j < $len-$i; $j++) { if ($arr[$j-1] > $arr[$j]) { $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } } // 测试 $arr =

分布式一致性算法梳理

分布式一致性算法主流方案:2PC.3PC.leader/follower.paxos 一致性有两种场景: 1.多份相同的数据,在一处修改,保证多份一致 2.一个业务变更多份不同的数据,要保持一致,要成功都成功,要失败都失败 产生不一致的原因: 1.异常操作导致不成功 2.网络分区 3.应用故障 两阶段提交(2PC) 将事务的提交分为准备和提交两个阶段来达成一致性的算法,主要用于事务管理.分布式一致性,两阶段提交需要在更新发起者和参与者中间加一个协调者的角色.具体步骤如下: 1.变更者发起变更申请

Atitit。Time&#160;base&#160;gc&#160;垃圾&#160;资源&#160;收集的原理与设计

Atitit.Time base gc 垃圾 资源 收集的原理与设计 1. MRC(MannulReference Counting手动 retain/release/autorelease语句1 2. 自动垃圾回收(GC)1 3. Arc ARC介于自动垃圾回收(GC)和手动内存管理之间.1 3.1. 从各种垃圾收集算法最基本的运行方式来说,大概可以分成三个类型: 1. 引用计数(reference counting):1 3.2. 标记-清扫(mark-sweep)2 3.3. 3. 节点复