1、椭圆曲线简介
前面的学习笔记:Raphael学习笔记(3)--绘图(路径【直线】)简单的描述了绘制椭圆曲线的参数,但没有详细的介绍各个参数的含义,这次,我们就详细的学习一下椭圆曲线的绘制。
A(a) elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y) ;
参数含义:
rx:横轴的长度;
ry:纵轴的长度;
x-axis-rotation:椭圆的横轴与x轴的角度;
large-arc-flag:区分弧度的大小(0表示小角度弧度,1表示大角度弧度);
sweep-flag:绘制弧度围绕椭圆中心的方向(0表示逆时针方向,1表示顺时针方向);
x y:椭圆曲线终点坐标;
2、椭圆曲线实例
为了更好的理解上面的参数描述,请看下面的代码:
<!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>
<script type="text/javascript" src="js/raphael.js"></script>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<style type="text/css">
.wraper {
position: relative;
float: left;
width: 400px;
height: 400px;
margin-left: 10px;
margin-top: 10px;
border: 1px solid orange;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
/*
绘制椭圆曲线
*/
var raphael_4 = new Raphael('raphael_4',400,400);
//绘制左上的椭圆
raphael_4.ellipse(130,40,60,30);
raphael_4.ellipse(70,70,60,30);
raphael_4.path('M70,40 A60,30 0 0,0 130,70').attr('stroke','red');
raphael_4.text(40,30,'start(70,40)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(160,80,'end(130,70)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(70,120,'large-arc-flag=0\nsweep-flag=0')
.attr({
'font-size': 11,
'fill': 'green',
'text-anchor': 'start'
});
//绘制右上的椭圆
raphael_4.ellipse(330,40,60,30);
raphael_4.ellipse(270,70,60,30);
raphael_4.path('M270,40 A60,30 0 0,1 330,70').attr('stroke','red');
raphael_4.text(240,30,'start(270,40)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(360,80,'end(330,70)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(270,120,'large-arc-flag=0\nsweep-flag=1')
.attr({
'font-size': 11,
'fill': 'green',
'text-anchor': 'start'
});
//绘制左下的椭圆
raphael_4.ellipse(130,240,60,30);
raphael_4.ellipse(70,270,60,30);
raphael_4.path('M70,240 A60,30 0 1,0 130,270').attr('stroke','red');
raphael_4.text(40,230,'start(70,240)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(160,280,'end(130,270)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(70,320,'large-arc-flag=1\nsweep-flag=0')
.attr({
'font-size': 11,
'fill': 'green',
'text-anchor': 'start'
});
//绘制右下的椭圆
raphael_4.ellipse(330,240,60,30);
raphael_4.ellipse(270,270,60,30);
raphael_4.path('M270,240 A60,30 0 1,1 330,270').attr('stroke','red');
raphael_4.text(240,230,'start(270,240)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(360,280,'end(330,270)')
.attr({
'font-size':11,
'fill':'blue'
});
raphael_4.text(270,320,'large-arc-flag=1\nsweep-flag=1')
.attr({
'font-size': 11,
'fill': 'green',
'text-anchor': 'start'
});
});
</script>
</head>
<body>
<div id="raphael_4" class="wraper"></div>
</body>
</html>
代码实现的效果:


- 大小: 16.9 KB
分享到:
相关推荐
根据提供的文件信息,可以看出这是一份关于Raphael JavaScript库的学习笔记。Raphael 是一个非常强大的JavaScript库,用于在Web浏览器中绘制矢量图形。它基于SVG(可缩放矢量图形)标准,并提供了丰富的API来简化...
5. **交互性**:Raphael.js支持事件监听,可以为雷达图添加交互功能,比如悬停显示数据详情,点击高亮特定部分等。这可以通过`Paper.set()`和`Paper.mouseover()`等方法实现。 6. **动态更新**:在Raphael-Radar-...
raphael-min.js
- 创建路径:使用`raphael.path()`函数,通过计算每个点的坐标来构建SVG路径字符串。 - 添加轴:绘制x轴和y轴,同样包括刻度和标签。 - 动态效果:可以考虑添加平滑曲线的功能,如贝塞尔曲线。 在实际应用中,你...
raphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.js
- 压缩包中的`[Packt Publishing] Learning Raphael JS Vector Graphics.pdf`是一本详细的学习指南,包含了丰富的示例和教程,可以帮助你深入理解和掌握Raphael的用法。 - `demos`目录下的文件提供了实际的代码...
Raphael矢量库的扩展。 它使Raphael能够导入原始SVG数据。前叉音符这是的分支。 当原始raphael-svg-import达到0.0.3时,引入了一个重大的向后不兼容更改。 它没有解析SVG文档,而是使用正则表达式。 由于以下几个...
5. **图形路径**:Raphael 支持定义和绘制复杂的路径,这是创建自定义形状和图标的关键。 6. **文本处理**:在矢量图形中添加和格式化文本也是 Raphael 的强项,可以调整字体、大小、对齐方式等。 **在前端项目中...
Raphael-Scala-js Raphael.js的Scala.js绑定 要将Raphael-Scala-js添加到您的Scala.js项目中,请将其包含在build.sbt中 resolvers + = " Sonatype snapshots " at " ...
2. **路径操作**:Raphaël允许创建和操作SVG路径,这使得可以绘制更复杂、自由形态的图形。 3. **颜色和渐变**:它提供了丰富的颜色选择和渐变处理,包括线性渐变和径向渐变。 4. **文本处理**:Raphaël支持在...
1. **图形创建**:你可以使用RaphaelJS创建各种基本形状,如圆形、椭圆、矩形、多边形、线和曲线等。此外,还支持自定义路径,以创建更复杂的图形。 2. **样式控制**:你可以设置图形的颜色、填充、描边、线条宽度...
通过这些实例,读者可以深入理解RaphaelJS的功能,并学习到如何将其应用于实际项目中。 #### 技术细节与代码实践 《raphaeljs_starter》不仅介绍了RaphaelJS的基本概念,还提供了详尽的代码实践指导,包括如何设置...
在这个“Raphael-Shopping-Cart-Vanilla-Challenge”中,学习者不仅能提升JavaScript基础,还能增强对前端开发中用户交互和数据管理的理解。通过实践,开发者能够掌握纯JavaScript实现复杂功能的能力,这对未来的...
Raphael.js是一个强大的JavaScript库,专门用于在Web浏览器中创建矢量图形。它提供了一种在SVG(可缩放矢量图形)和VML(Vector Markup Language)之间无缝切换的方法,使得开发者能够在所有现代浏览器以及IE5.5及更...
接着,定义一个SVG或VML(在不支持SVG的老版浏览器中使用)的容器,这个容器将作为绘图区域。 以下是一个简单的流程图绘制步骤: 1. **创建Raphaël画布**:使用`Raphael('container_id', width, height)`创建一个...
raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;raphael.min.js;
react-raphael-webpack-es6 与React,Raphael.js,Webpak和ES6一起整理了项目设置。 目的是将Raphael.js与React结合使用,看看它是好还是完全怪异。
raphael中文帮助文档(API)chm文档,因为在网上没有找到好的离线版的,都是在线的,所以自己根据在线的生成了一个chm帮助文档,下载了,绝对不会让你失望。
通过调用`Raphael(name, width, height)`函数,我们可以指定一个DOM元素ID(name)以及绘图区域的宽度和高度。例如: ```javascript var paper = Raphael('canvas', 640, 480); ``` 在这个绘图区域上,我们可以创建...
这个“raphael 简单绘图”教程可能涵盖了从基础到进阶的Raphaël使用方法,特别关注如何用它来绘制流程图。 首先,让我们深入了解一下Raphaël的基本概念。Raphaël通过创建一个“paper”对象来初始化画布,这相当...