java 画一个曲线实例代码(二款jsp绘制曲线实例)(1/2)

java 画一个曲线实例代码(二款网页特效phttp://www.111cn.net/网页特效p.html target=_blank >jsp教程绘制曲线实例)
/*
参数名 描 述 
画出模式 必需的; 整数型。参数值可以为以下常量: 6912、#点,将画出的多边形显示为点; 6913、#线,将画出的多边形显示为线段;  
曲线起点 必需的; 整数型。参数值应该介于 0 和"设置曲线等分点"命令中的"u向等分数"之间。 
曲线终点 必需的; 整数型。参数值应该介于 0 和"设置曲线等分点"命令中的"u向等分数"之间
*/

public class test {
    public static void main(string[] args) {
        trifunc tri = new trifunc();
       
        // 生成一块25×100的画布
        canvas canvas = new canvas(25, 120);

        // 画sin曲线,周期为2
        tri.drawsin(canvas, 2.0);
        canvas.printcanvas();
       
        system.out.println();
        canvas.reset();
        // 画cos曲线,周期为2
        tri.drawcos(canvas, 2.0);
        canvas.printcanvas();
    }
}

class trifunc {

    /**
     * 画sin曲线
     * @param canvas 画布
     * @param period 曲线周期
     */
    public void drawsin(canvas canvas, double period) {       
        char[][] chars = canvas.getcanvas();
        // x 轴的比率
        double xratio = (2 * period * math.pi) / (canvas.getwidth() - 1);
        // y 轴的放大倍率
        int ymulti = (canvas.getheight() - 1) / 2;
        for(int i = 0; i < canvas.getwidth(); i++) {
            // 将数组索引映射为横坐标值
            double k = (i - canvas.getwidth() / 2) * xratio;
            // 将sin值映射为数组索引
            int h = ymulti - (int)math.round(math.sin(k) * ymulti);
            chars[h][i] = canvas.fill_char;
        }
    }
   
    /**
     * 画cos曲线
     * @param canvas 画布
     * @param period 曲线周期
     */
    public void drawcos(canvas canvas, double period) {
        char[][] chars = canvas.getcanvas();
        double xratio = (2 * period * math.pi) / (canvas.getwidth() - 1);
        int ymulti = (canvas.getheight() - 1) / 2;
        for(int i = 0; i < canvas.getwidth(); i++) {
            double k = (i - canvas.getwidth() / 2) * xratio;
            int h = ymulti - (int)math.round(math.cos(k) * ymulti);
            chars[h][i] = canvas.fill_char;
        }
    }
}

首页 1 2 末页

时间: 2024-08-01 08:21:40

java 画一个曲线实例代码(二款jsp绘制曲线实例)(1/2)的相关文章

编程-如何用Java画一个阿基米德螺旋曲线?

问题描述 如何用Java画一个阿基米德螺旋曲线? 解决方案 在网上下载第三方包JFreeChart,可以实现 解决方案二: java画Hibert曲线用 Java 画几个函数曲线java画Koch曲线 解决方案三: 楼组图挂了....... 解决方案四: 楼组图挂了.......

JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)_java

下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

二款异步调用天气实例代码

  <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="con

Android网络状态实时监听实例代码(二)_Android

上篇文章给大家介绍了Android 网络状态实时监听代码实例(一),感兴趣的朋友可以点击了解详情,本文接着给大家介绍android网络状态监听相关知识,具体内容如下所示: 在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager来完成该工作. ConnectivityManager有四个主要任务: 1.监听手机网络状态(包括GPRS,WIFI, UMTS等) 2.手机状态发生改变时,发送广播 3.当一

二款php分页实例代码

<style type="text/css教程"> 二款php教程分页实例代码 a.pagecool,.pagecoolselect,.pagecoolpre,.pagecoolnext,.pageinfo,.curtotalx,.pagecoolprex,.pagecoolnextx{float:left;height:20px;font-family:arial,宋体;color:#444;font-weight:bold} a.pagecool,.pagecoolse

二款jquery div显示隐藏代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

一款asp.net GridView 分页实例代码

一款asp教程.net gridview 分页实例代码 本款gridview 分页实例,他从数据库教程到分页sql全部有,只要你按照本实例来做,完全可以实例asp.net教程 gridview 分页功能.*/ create procedure [dbo].[sp_systemquotationrevisionpaging] ( @clientid nvarchar(255), @clientmodel nvarchar(255),  @collection nvarchar(255), @sta

二款js折叠菜单代码

<html> <head> <title>小巧的折叠菜单</title> <script language="网页特效"> <!-- begin var refer=true; function combo() { if (refer) {   document.all.contents.style.visibility="visible";   refer=false; } else {   doc

Android CoordinatorLayout详解及实例代码_Android

Android CoordinatorLayout详解 一.CoordinatorLayout有什么作用 CoordinatorLayout作为"super-powered FrameLayout"基本实现两个功能: 1.作为顶层布局 2.调度协调子布局 CoordinatorLayout使用新的思路通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果.CoordinatorLayout通过设置子View的 Behaviors来调度子View.系统(Support V7)提供了A