[从头学数学] 第82节 观察物体(三)

在银河系厄尔斯星球的中华帝国江南行省,工程师阿伟与机器小伟共同进行物体观察。他们专注于立方体的摆放问题,面对至少三种不同摆法的挑战。在第二问的特定条件下,找到了唯一正确的摆法。然而,对于是否能增加小正方体,小伟持怀疑态度,认为无法实现。故事在悬念中告一段落,期待后续发展。
剧情提要:
[机器小伟]在[工程师阿伟]的陪同下进入练气期第十层功法的修炼,
这次要修炼的目标是[观察物体(三)]。

正剧开始:

星历2016年02月11日 14:23:10, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起继续观察物体。



对于摆立方体,小伟手头已经有了现成的工具:

<span style="font-size:18px;">function myDraw() { 
    var config = new PlotConfiguration();  
    config.init();  
    config.setPreference(); 
	
	config.setSector(1,1,1,1);
	config.axis3D(0, 0, 0, 180);
	
	//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([0, 0, 0]);
      
      
    //三维图和三视图  
    var r = 50;  
    var style = 'red';  
      
    for (var i = 0; i < cubic.length; i++) {  
         shape.drawCubic(cubic[i][0]*r, -cubic[i][1]*r, cubic[i][2]*r, r, style);  
    }        

       var height = 400;  
    r = r/2;  
      
    plot.setTransform(1, 0, 0, 1, 0, 0);  
    plot.fillText('左视图', 20, 20, 100);  
    plot.fillText('主视图', 20, 20+1*height/3, 100);  
    plot.fillText('俯视图', 20, 20+2*height/3, 100);  
      
    plot.setFillStyle(style)  
        .setStrokeStyle('white');  
          
  
    //左视图  
    config.setSector(3,4,1,1);  
    for (var i = 0; i < cubic.length; i++) {  
        //y, z两坐标,z坐标变为x坐标  
        shape.fillRect(cubic[i][2]*r, -cubic[i][1]*r, r, r);  
        shape.strokeRect(cubic[i][2]*r, -cubic[i][1]*r, r, r);  
    }  
      
    //主视图  
    config.setSector(3,4,2,1);  
    for (var i = 0; i < cubic.length; i++) {  
        //x, y两坐标  
        shape.fillRect(cubic[i][0]*r, -cubic[i][1]*r, r, r);  
        shape.strokeRect(cubic[i][0]*r, -cubic[i][1]*r, r, r);  
    }  
      
    //俯视图  
    config.setSector(3,4,3,1);  
    for (var i = 0; i < cubic.length; i++) {  
        //x, z两坐标,z坐标变为y坐标  
        shape.fillRect(cubic[i][0]*r, cubic[i][2]*r, r, r);  
        shape.strokeRect(cubic[i][0]*r, cubic[i][2]*r, r, r);  
    }  
	
  
 

}</span>


这还是在上次[人叫板老师]让小伟观察物体时制造出来的。

<span style="font-size:18px;">	//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([0, 0, 0]);
	cubic.push([0, 0, 1]);
	cubic.push([1, 0, 1]);
	cubic.push([2, 0, 1]);</span>

<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([0, 0, 0]);
	cubic.push([3, 0, 0]);
	cubic.push([1, 0, 1]);
	cubic.push([2, 0, 1]);
	cubic.push([3, 0, 1]);
	cubic.push([1, 1, 1]);</span>

<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([1, 0, 0]);
	cubic.push([0, 0, 1]);
	cubic.push([1, 0, 1]);
	cubic.push([2, 0, 1]);
	cubic.push([2, 1, 1]);</span>

这个题的第一问,并不能限定住摆法,至少有三种摆法,但是加上第二问的限定条件,就是唯一的摆法了。第三问,小伟并没有想到怎么样可以再加上

小正方体,所以认为不可能再加上。

<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([1, 0, 0]);
	cubic.push([2, 0, 0]);
	cubic.push([1, 1, 0]);
	cubic.push([3, 0, 0]);
	cubic.push([0, 0, 1]);</span>

<span style="font-size:18px;">//立方体,按从左向右(x递增),从下向上(y递增),从后向前(z递增)的顺序压入  
	var cubic = new Array();
	cubic.push([1, 0, 0]);
	cubic.push([2, 0, 0]);
	cubic.push([1, 1, 0]);
	cubic.push([1, 2, 0]);
	cubic.push([0, 0, 1]);
	cubic.push([1, 0, 1]);
	cubic.push([1, 1, 1]);</span>



本节到此结束,欲知后事如何,请看下回分解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值