中华农历论坛知识讨论区历法知识 → [原创]游动的阴阳鱼(汉语编程绘太极图)


  共有26442人关注过本帖树形打印

主题:[原创]游动的阴阳鱼(汉语编程绘太极图)

帅哥哟,离线,有人找我吗?
秦汉昌
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
[原创]游动的阴阳鱼(汉语编程绘太极图)  发帖心情 Post By:2009/12/21 10:38:00

扩展对象 游动的阴阳鱼  继承自 窗口对象模板

按钮控制 新对象0
按钮控制 新对象1
按钮控制 新对象2

\ 窗口内过程、事件、变量、实例对象、缓冲等
 
属性 窗口标题:
     编字串" 游动的阴阳鱼"
     属性。
属性 开始尺寸:
     500 500
     属性。
属性 开始位置:
     自动居中: 自本身
     属性。


\  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\圆的新画法通用源码,仅窗口内可用   秦汉昌于2009年12月17日于上海原创

编 画圆     ( X Y R --- )
    { X Y R \ 曲线缓冲 -- }
    120 3 * 1+ 8 * 个字节空给  曲线缓冲
    360  0
   ?循环  内环数  数>实  π 180.0 / *
         ♂  FCOS  R 数>实  * 取整 实>数 X      + 内环数   8 *     曲线缓冲 +  写
             FSIN  R 数>实  * 取整 实>数 Y ↑↓ - 内环数    8 * 4 + 曲线缓冲 +  写
    回环
   开始画笔路径[: 设备描述表
   曲线缓冲      读   
   曲线缓冲 4 +  读   坐标定位: 设备描述表
   361 1
   ?循环  内环数 1- 8 *     曲线缓冲 +  读
         内环数 1- 8 * 4 + 曲线缓冲 +  读  画线到: 设备描述表
    回环 
    ]结束画笔路径:  设备描述表
    勾画轮廓并填充:  设备描述表  
    。


\  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\新词: 画半圆 源码 仅窗口内可用  秦汉昌于2009年12月17日于上海原创
编 画半圆     ( X Y R 偏移度 --- )
    { X Y R 偏移度 \ 曲线缓冲 -- }
    65 3 * 1+ 8 * 个字节空给  曲线缓冲
    185  0
   ?循环  内环数  偏移度 + 数>实  π 180.0 / *
         ♂  FCOS  R 数>实  * 取整  实>数 X      + 内环数   8 *     曲线缓冲 +  写
             FSIN  R 数>实  * 取整  实>数 Y ↑↓ - 内环数    8 * 4 + 曲线缓冲 +  写
    回环
   开始画笔路径[: 设备描述表
   曲线缓冲      读   
   曲线缓冲 4 +  读   坐标定位: 设备描述表
   186 1
   ?循环  内环数 1- 8 *     曲线缓冲  +  读
         内环数 1- 8 * 4 + 曲线缓冲  +  读   画线到: 设备描述表
   回环  曲线缓冲      读   曲线缓冲 4 +  读   画线到: 设备描述表
   ]结束画笔路径:  设备描述表
   勾画轮廓并填充:  设备描述表  
    。


\  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\太极图画法一


  

对象事件 初始时:
         本身的 启动: 新对象0
         435 11 60 23 定位: 新对象0
         字串" 静 态 图"   置控制对象标题: 新对象0
         本身的 启动: 新对象1
         435 46 60 23 定位: 新对象1
         字串" 游动图一"   置控制对象标题: 新对象1
         本身的 启动: 新对象2
         435 76 60 23 定位: 新对象2
         字串" 游动图二"   置控制对象标题: 新对象2
          \ 窗口初始事件: 不包含 '编' '变量:' '为'等,直接输入执行的动作词
         对象事件。


\  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\太极图画法二

0  给  切换
0  给  偏移度数
编 打开定时器一
   0  写入  偏移度数
  15 2  窗口句柄 打开定时器 ♀   。
编 打开定时器二
   0  写入  偏移度数
  15 3  窗口句柄 打开定时器 ♀   。


编 关闭定时器一
  2  窗口句柄 关闭定时器 ♀      。
编 关闭定时器二
  3  窗口句柄 关闭定时器 ♀      。

编 阴阳鱼游动
  切换
  如和 1 对应就  关闭定时器二 打开定时器一
  而和 2 对应就  关闭定时器一 打开定时器二
  而和 3 对应就  关闭定时器一 关闭定时器二
  而后
  。

((
打开定时器  (定时器间隔值 定时器标识号 窗口句柄 --- 返回值 )
参数一: 定时器间隔值 ( 以毫秒为单位)
参数二: 定时器标识号 ( 一个整数,唯一标识一个定时器)
参数三: 窗口句柄
返回值:  成功返回 定时器标识号,否则返回0

关闭定时器 ( 定时器标识号 窗口句柄 --- 返回值 )
参数一: 定时器标识号( 必须是该定时器创建时所用标识号)
参数二: 窗口句柄
返回值: 成功返回非0值,否则返回0。

))


编 转弧度 π 180.0 / * 。

编 转角度 180.0 π / * 。


编 偏移坐标      ( R 偏移角 --- )
    ♂ 属性值 0= 就 数>实 然后  ↑↓
    ♂ 属性值 0= 就 数>实 然后  ↑↓ 转弧度
    ♂   FCOS  2 §    *  取整 实>数
    ∵   FSIN         *  取整 实>数
    。


编 画太极图  { X Y R0 偏移度 阴极色 阳极色 \ R1 R2 -- }
         R0 2 /  写入  R1  
         R0 5 /  写入  R2
        1 画笔宽度: 阳极色
        阳极色   画线颜色: 设备描述表
        阳极色   画刷颜色: 设备描述表
          0   X +  0   Y ↑↓ -  R0  偏移度 画半圆

        1 画笔宽度: 阴极色
        阴极色   画线颜色: 设备描述表
        阴极色   画刷颜色: 设备描述表 
        0   X +  0   Y ↑↓ -  R0  偏移度 180 + 画半圆

        1 画笔宽度: 阳极色
        阳极色   画线颜色: 设备描述表
        阳极色   画刷颜色: 设备描述表
        R1  偏移度 180 +  偏移坐标   
        Y ↑↓ -  ↑↓   X +   ↑↓  R1  偏移度 180 + 画半圆

        1 画笔宽度: 阴极色
        阴极色   画线颜色: 设备描述表
        阴极色   画刷颜色: 设备描述表 
        R1  偏移度 180 +  偏移坐标   
        Y ↑↓ -  ↑↓   X +   ↑↓  R2  画圆

        1 画笔宽度: 白色
        阴极色   画线颜色: 设备描述表
        阴极色   画刷颜色: 设备描述表 
        R1  偏移度   偏移坐标   
        Y ↑↓ -  ↑↓   X +   ↑↓  R1  偏移度  画半圆

        1 画笔宽度: 阳极色
        阳极色   画线颜色: 设备描述表
        阳极色   画刷颜色: 设备描述表 
         R1  偏移度   偏移坐标   
        Y ↑↓ -  ↑↓   X +   ↑↓  R2  画圆

   。

  210  给  绘图区

编 覆盖绘图区
   浅灰色  画线颜色: 设备描述表
    浅灰色  画刷颜色: 设备描述表
    250 250
    绘图区  填充圆: 设备描述表
   。


编 静态的阴阳鱼     { \ 偏移度 -- }
         覆盖绘图区   90  写入  偏移度
        250  250  200  偏移度  浅黄色 浅红色  画太极图
        15  毫秒  10  +写入  偏移度
 
   。


编 游动的阴阳鱼1     { \ 偏移度 -- }
         覆盖绘图区   0  写入  偏移度
  环首   250  250  200  偏移度  白色 黑色  画太极图
        15  毫秒  10  +写入  偏移度
  回首
   。

编 游动的阴阳鱼2     { \ 偏移度 -- }
         覆盖绘图区   0  写入  偏移度
  环首   250  250  200  偏移度  浅黄色 浅红色  画太极图
        15  毫秒  10  +写入  偏移度
  回首
   。
编 游动的阴阳鱼3     { 偏移度  \  -- }
   250  250  200  偏移度  白色 黑色  画太极图
   。

编 游动的阴阳鱼4     { 偏移度  \  -- }
   250  250  200  偏移度  浅黄色 浅红色  画太极图
   。

对象事件 绘制时:
        绘制时: 自源模板
    0 0 读大小: 自本身  浅灰色 区域填充: 设备描述表
        
         对象事件。

WM_TIMER 触发时:  ( wPara lPara --- )
          ∽
          如和 2 对应就
              10  +写入  偏移度数
               偏移度数 游动的阴阳鱼3
          而和 3 对应就
              10  +写入  偏移度数
               偏移度数 游动的阴阳鱼4
          而后
          触发。

 

对象事件 定义路径:
        对象事件。

对象事件 关闭:
         关闭: 自源模板
         退出
         对象事件。
WM_CLOSE 触发时:
         关闭: 自源模板
         退出
         触发。

模板事件 接受命令:
       接受命令: 自源模板
       ∽  取低字
           如和 读标识: 新对象0 对应就  3 写入 切换 阴阳鱼游动
                                    静态的阴阳鱼
           而和 读标识: 新对象1 对应就  1 写入 切换 阴阳鱼游动
           而和 读标识: 新对象2 对应就  2 写入 切换 阴阳鱼游动
           而后 0
           模板事件。 
对象。
无名编  启动:     游动的阴阳鱼
        。
执行无名词


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/12/21 11:51:00


图片点击可在新窗口打开查看此主题相关图片如下:refqntverz)v1~7%`88550.jpg
图片点击可在新窗口打开查看

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/12/21 11:51:00





图片点击可在新窗口打开查看此主题相关图片如下:qg57(q)%m1}kr3e)9_fd0{1.jpg
图片点击可在新窗口打开查看

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
esnake
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:40 积分:531 威望:0 精华:0 注册:2005/10/27 21:24:00
  发帖心情 Post By:2009/12/21 12:50:00

挺高明的,能不能还原为VB的代码?

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
子卯午酉
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:10 积分:242 威望:0 精华:0 注册:2009/12/19 16:56:00
  发帖心情 Post By:2009/12/21 12:55:00

鱼眼好像太大了。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/12/21 17:20:00

鱼眼     我还正想解这个问题呢

 

传统的阴阳鱼,是怎么画的,鱼眼与大圆半径成什么样的 比例

 

我是按10比1画的

 

各位,如果你汉 编编译器的话,运行一下,更有效果

 

其实,这个阴阳鱼是可以游动的

 

游动速度为10度每15毫秒


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/12/22 0:27:00


图片点击可在新窗口打开查看此主题相关图片如下:scle%iws@15jis)j~pq5dul.jpg
图片点击可在新窗口打开查看

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2009/12/23 22:46:00

楼主的“汉编”可能大多人都不了解,也不太愿意去学习。

如果要推广“汉编”,我想其语法格式可能是了严重的障碍。

 

比如,我写的那个JS天文历,可以比较轻松的改写为C,反过来,C也可以的改为JS,难度也差不多。如果改为C#,还会更容易一些,改为flash AS,则更容易了。如果改为VB,由于语法结构相差较多,改写的时间会多一些。如果要改为“汉编”,估计是改不了的,或许得整个程序结构得重新设计。“汉编”与别的语言“大不样”,看来这也是个大问题。

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2009/12/24 11:13:00

那是,汉编与C语言 等英文程序从语法和数据结构上讲,确实有很大的差异

 

汉编  的数摞与 微软  处理数据的堆栈只是一点点区别,数摞有了一点点的创新突破,但是,我们从数据处理上会明显地感觉到其区别,如果回到英编的模式,可能达不到应有的效果

 

    但是,也有人在这方面进行探索,比如汉编发明人的弟子发明的易语言汉语编程,它的语法和数据结构就与C语言等英文程序差不多

 

    但是,有一点,是汉编还欠缺的,那就是数据结构,汉编现在还不算发达,所以数据结构也比较简单,也有很复杂伯结构,汉编的数据处理,就是通过“词”来实现。就这么一个结构: “编 <词名>    指令序列            。”   ,这个比英文程序里的函数应用要 灵活,应用范围要广,传参与调用 都较简化,编好的词就像新华字典里的词一样,可以随时应用。

 

    其实,只要花得一个星其时间,好好地钻研一下汉编,如果懂英编程序的话,用汉编来改写您的程序,应该是能行的,而且,一旦改写之后,利用价值可能会大大地提高,可能让很多天文词汇成为中国标准的通用词汇。

 

     还有一点,汉编在有些地方不够完善,但是,也不影响编程的,汉编还提供了WIN  API  接口,如果您对API熟悉,你也可以用API来实现某些功能,在您程序中调用过的API,改汉编中同样可以调用。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2009/12/24 13:33:00

本来我也想学习一下汉编,但我看了你提供的汉编的数学表达式与真正的数学表达式相差了那么远,实在让人望而却步。

我没有认真研究过汉编,但有几个明显的问题:

1、汉编把表达式“倒”着写,很不应该。我写过“正写表达式”的翻译器,有一定的难度,而汉编没有正视这个问题,也许它当初只是为了编译器设计方便,起步的时候没有解决这个问题,以至于留下这一个缺点,不太适合写天文方面的程序。

 

2、汉编的语法结构要想得到推广,就应在网络应用中留上足迹。比如,在IE中可以使用JS、VB等,汉编的工程师们是否也考虑提供这一方面的应用?比如,用户只要安装一个汉编activeX,就可以使用汉编脚本。对于普通的网络小应用来说,脚本语言是比较重要的,初学者可以利用脚本来学习汉编。至于WIN API,那是比较底层的东西,一般用不到。我以前编写一个简易防火墙软件,用到XP的API,或者有时候要做一些比较特殊的事件(比如要控制WIN的托盘、进程等等),一般的用户或一般的应用根本不需要去做这些事情。因此WIN API的支持并不能解决主要问题。

要做一个IE的汉编解释器activeX,对于熟悉window高手来说其实不会很难,我想汉编应该提供脚本方面的支持,这样,用记事本就可以编写汉编程序了。这对汉编的推会有较大的帮助了。

3、另外,汉编本身也应对activeX提供良好的支持,比如在Window中,利用相应的activeX就可访问SQL。当然,如果汉编不是面向window的,不必提供这些功能。在中国,几乎的个人用户都用window,要想推扩,提供对window的有力支持可能是必要的。如果要摆脱window,与微软对着干,那可能得国家支持,不然,估计汉编难以持续发展。

 

说了半天,我觉得前两点是比较重要的,一般的用户不会主动下载一个“汉编”来学习的,汉编应主动出击,在网络应用中留下足迹,让用户明白:“我现在浏览的这个网页原来是汉编在支持”,在IE弹出是否安装activeX时,用户点“是”,他就可以运行汉编了。比如,你做的阴阳鱼,利用汉编在html中展示,效果一定不错。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 17 1 2 下一页

返回版面帖子列表

[原创]游动的阴阳鱼(汉语编程绘太极图)








签名