惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
B
Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
Jina AI
Jina AI
Vercel News
Vercel News
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The Cloudflare Blog
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
腾讯CDC

博客园 - 古月春秋(刘云涛)

vi的一点小经验 修正mysqlcc在MySQL 5.0上常报的 Table 'xxx' doesn't exist 错误 Perl中不寻常的 ?: 运算符 - 古月春秋(刘云涛) Ubuntu 5.10 下 Apache2 SSL 的配置方法 一行shell命令求素数 Boot FreeBSD from Windows boot loader Turtles - So Happy Together 关于IoC、低耦合、配置文件及其本质意义的思考 Perl与数据库 Perl无废话入门指南 W3C XSL Transformations (XSLT) Version 2.0 翻译计划 新版 apache_2.0.54 php-5.0.4 mysql-4.1.12a 组合安装向导(原创) Solaris 下安装Perl的DBD-mysql模块失败的原因以及解决办法 Why MSN Messenger ask me to verify email address all the time? SharpDevelop的AddInTree View 插件 SharpDevelop源码分析 (三、插件系统) SharpDevelop源码分析 (二、主程序+隐藏的初始化) SharpDevelop代码分析 (一、序+基本概念) 亚洲3S节目表
打车抬表费用图
古月春秋(刘云涛) · 2009-07-05 · via 博客园 - 古月春秋(刘云涛)

Code
<html>
<script type="text/javascript" src="wz_jsgraphics.js"></script><body>
<script type="text/javascript">
<!--
function getPrice(distance, night) {
    
var unitPrice = 2.0,
        basicDistance 
= 3,
        basicPrice 
= 10,
        extDistance 
= 15,
        extPrice 
= 3.0;
    
    
var price = 0.0;
    
if ( distance == 0 ) return 0;
    
if ( distance <= basicDistance ) return basicPrice;
        
    
if ( distance <= extDistance ) {
        price 
= basicPrice + unitPrice * (distance - basicDistance);
        
return price;
    }
    
    price 
+= basicPrice + unitPrice*(extDistance-basicDistance) + extPrice*(distance-extDistance)
    
return price;
}
function getPriceWithReset(distance, night, reset) {
    
if ( reset == 0 ) {
        
return getPrice(distance, night);
    } 
else {
        
return getPrice(reset, night) * Math.floor(distance/reset) + getPrice(distance % reset, night);
    }
}
var coordXUnit = 8, coordYUnit = 3,
    basicX 
= 100, basicY = 50,
    coordMaxX 
= 101, coordMaxY = 251;function drawString(str, x, y) {
    jg.drawString(str, basicX
+x*coordXUnit, basicY+(coordMaxY-y)*coordYUnit);
}
    
function drawPoint(x, y) {
    drawLine(x, y, x, y);
}
function drawLine(x1, y1, x2, y2) {
    jg.drawLine(basicX 
+ x1*coordXUnit, basicY + (coordMaxY-y1)*coordYUnit, basicX + x2*coordXUnit, basicY + (coordMaxY-y2)*coordYUnit);
}
function drawPolyline(ax, ay) {
    
var axx = new Array(), ayy = new Array();for (var e in ax) {
        axx.push(basicX 
+ (ax[e] * coordXUnit) );
    }
for (var e in ay) {
        ayy.push(basicY 
+ (coordMaxY - ay[e])*coordYUnit);
    }

    jg.drawPolyline(axx, ayy);
}

function drawCoordinate() {
    jg.setColor(
"#ee8800");
    drawLine(
00, coordMaxX, 0);
    drawLine(
000, coordMaxY);
    
    drawString(
0-2-2);
    
for (var i = 1; i < coordMaxX; i++) {
        
if (i%5==0) {
            
// draw grid
            jg.setStroke(Stroke.DOTTED); 
            drawLine(i, 
0, i, coordMaxY);
            
// draw mark
            jg.setStroke(0); 
            drawLine(i, 
0, i, -2);
            drawString(i, i
-1-3);
        } 
else {
            drawLine(i, 
0, i, -1);
        }
    }
    
    
for (var i = 1; i < coordMaxY ; i++) {
        
if (i%5==0) {
            
// draw grid
            jg.setStroke(Stroke.DOTTED); 
            drawLine(
0, i, coordMaxX, i);
            
// draw mark
            jg.setStroke(0); 
            drawLine(
0, i, -2, i);
            drawString(i, 
-7, i+1);
        } 
else {
            drawLine(
0, i, -1, i);
        }
    }
}
function drawPriceLine(night, reset) {
    
var ax = new Array(), ay = new Array();
    
    
for (var d=1; d<80; d++) {
        ax.push(d);
        ay.push(getPriceWithReset(d, night, reset));
    }
    drawPolyline(ax, ay);
}
/////////////// main section ///////////////
var jg = new jsGraphics();
jg.setFont(
"verdana,geneva,sans-serif""10px", Font.PLAIN);

drawCoordinate();
drawString(

"reset:"0-10);
jg.setColor(
"#000000");
drawPriceLine(
00);
drawString(
"0"5-10);
jg.setColor(
"#FF0000");
drawPriceLine(
010);
drawString(
"10"10-10);
jg.setColor(
"#00FF00");
drawPriceLine(
015);
drawString(
"15"15-10);
jg.setColor(
"#0000FF");
drawPriceLine(
020);
drawString(
"20"20-10);///////////////// from wangjing to my home, 35KM /////////////////
jg.setColor("#880000");
var xp = new Array(), yp = new Array();
for ( var i=10; i<30; i++) {
    xp.push(i);
    yp.push(getPriceWithReset(
350, i));
}
drawPolyline(xp, yp);

drawString(getPriceWithReset(

35015), 0-20);
jg.paint();
//-->
</script>
</body>
</html>

效果图