zoukankan      html  css  js  c++  java
  • 解释器(四)附带测试程序及综合总结

    step1

    test1

    origin is (20, 200);
    rot is 0;
    scale is (40, 40);
    for T from 0 to 2*pi step pi/50 draw (t, -sin(t));
    origin is (20, 240);
    for T from 0 to 2*pi step pi/50 draw (t, -sin(t));
    origin is (20, 280);
    for T from 0 to 2*pi step pi/50 draw (t, -sin(t));
    

     结果图如下

    test2

    origin is (380, 240);
    scale is (80, 80/3);
    rot is pi/2+0*pi/3 ;
    for T from -pi to pi step pi/50 draw (cos(t), sin(t));
    rot is pi/2+2*pi/3;
    for T from -pi to pi step pi/50 draw (cos(t), sin(t));
    rot is pi/2-2*pi/3;
    for T from -pi to pi step pi/50 draw (cos(t), sin(t));
    

    结果图如下

      

    test3

    origin is(580, 240);
    scale is (80, 80);
    rot is 0;
    for t from 0 to 2*pi step pi/50 draw(cos(t),sin(t));
    for t from 0 to Pi*20 step Pi/50 draw
    ((1-/(0/7))*Cos(T)+/(10/7)*Cos(-T*((10/7)-1)),
    (1-1/(10/7))*Sin(T)+1/(10/7)*Sin(-T*((10/7)-1)));
    

      结果图如下

    test4

    -------------- 函数复杂度图形:
    rot is 0; -- 不旋转
    origin is (50, 400); -- 设置新原点(距系统默认原点的偏移量)

    scale is (2, 1); -- 设置比例
    for T from 0 to 300 step 1 draw (t, 0); -- 横坐标
    for T from 0 to 300 step 1 draw (0, -t); -- 纵坐标

    scale is (2, 1); -- 设置比例
    for T from 0 to 300 step 1 draw (t, -t); -- 函数f(t)=t的轨迹

    scale is (2, 0.1); -- 设置比例
    for T from 0 to 55 step 1 draw (t, -t*t); -- 函数f(t)=t*t的轨迹

    scale is (10, 5); -- 设置比例
    for T from 0 to 60 step 1 draw (t, -sqrt(t)); -- 函数f(t)=sqrt(t)的轨迹

    scale is (20, 0.1); -- 设置比例
    for T from 0 to 8 step 0.1 draw (t, -exp(t)); -- 函数f(t)=exp(t)的轨迹

    scale is (2, 20); -- 设置比例
    for T from 0 to 300 step 1 draw (t, -ln(t)); -- 函数f(t)=ln(t)的轨迹

      结果图如下

     

    test5

    -------------- 函数f(t)=t的图形
    origin is (100, 300); -- 设置原点的偏移量
    rot is 0; -- 设置旋转角度(不旋转)
    scale is (1, 1); -- 设置横坐标和纵坐标的比例
    for T from 0 to 200 step 1 draw (t, 0); -- 横坐标的轨迹(纵坐标为0)
    for T from 0 to 150 step 1 draw (0, -t); -- 纵坐标的轨迹(横坐标为0)
    for T from 0 to 120 step 1 draw (t, -t); -- 函数f(t)=t的轨迹

      结果图如下

    step2

    1.Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
    Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

    2.#pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。

    3.#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式

    为了完成上机作业,本代码萌新四处求代码抱大腿,熬夜2天看懂了解释器代码,并且把代码注释写的像小学作文一样繁杂冗长。为了造福更多代码萌新,我特意把带注释的源码发布出来。奈何进入考试月,不得不先故期末考试,拖了快一个月。会每天抽出时间慢慢补这个坑。绝对萌新福利,就如图学渣给学渣讲题比学霸给学渣讲题效果更好一样,本萌新知道更多萌新困惑的点在哪里。看完这4篇,跟着我起飞吧~

  • 相关阅读:
    VC++技术内幕(三)
    DataTable的Select方法
    <转载>电话号码正则表达式
    <转载>运行命令(CMD)大全
    各种CSS bug与技巧
    网页设计标准尺寸
    CSS实用技巧及常见问题
    超级实用且不花哨的js代码
    广告JS代码效果大全
    js小技巧收集
  • 原文地址:https://www.cnblogs.com/olivegyr/p/6292607.html
Copyright © 2011-2022 走看看