快速业务通道

FLASH教程:AS3画出各种三角形

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

以下介绍的是如何用程序 as3 (action script 3.0)画出各种各样的三角形: 一、根据三个顶点画出三角形 这是最简单的画法 package com.king{
/*
author: ShangBin Feng
QQ: 334973991
*/
import Flash.display.Sprite;
import flash.geom.Point
public class testTriangle extends Sprite{
public function testTriangle(){
//已知条件
var pointA:Point=new Point(0,0);
var pointB:Point=new Point(50,55);
var pointC:Point=new Point(0,70);
//画三角形
graphics.lineStyle(1, 0xff0000, 1);
graphics.moveTo(pointA.x,pointA.y);
graphics.lineTo(pointB.x,pointB.y);
graphics.lineTo(pointC.x,pointC.y);
graphics.lineTo(pointA.x,pointA.y);
}
}
} 二、画等腰三角形 1、等腰三角形可以看做其两腰交叉的那个点在一个圆的圆心,那么其他两个顶点则在这个圆上,假设圆心坐标为(0,0),圆的半径为r,两腰夹角为Q,可得另个顶点坐标为(r,0),最后个顶点坐标为(r*cosQ,r*sinQ); 程序为 package com.king{
/*
author: ShangBin Feng
QQ: 334973991
*/
import flash.display.Sprite;
import flash.geom.Point
public class testTriangle extends Sprite{
public function testTriangle(){
//已知条件
var r:Number=100;
var Q:Number=30*(2*Math.PI/360);//这里得到是弧度,即30度对应的弧度数
//画三角形
graphics.lineStyle(1, 0xff0000, 1);
graphics.moveTo(0,0);
graphics.lineTo(r,0);
graphics.lineTo(r*Math.cos(Q),r*Math.sin(Q));
graphics.lineTo(0,0);
}
}
} 2、等边三角形可看做两腰夹角为60度的等腰三角形,只需知道边长,即可按照上面的方法画出 3、如果已知条件为 两腰夹角Q,底边长度d,那么两腰的长度即圆的半径r 为d*Math.PI/(2*Q),再按照上面的方法也可画出 4、如果知道等腰三角形的腰长r 和底边长d 也可求出
假设两腰夹角为x ,沿顶点画出等腰三角形的垂直平分线,可看出sin(x/2)=(d/2)/r,可求出夹角Q=(Math.asin((d/2)/r))/2,再按照上面的方法也可画出 三、画普通的三角形 1、已知两角一边 package com.king{
/*
author: ShangBin Feng
QQ: 334973991
*/
import flash.display.Sprite;
import flash.geom.Point;
public class testTriangle extends Sprite{
public function testTriangle(){
//已知条件
var a:Number=100;
var A:Number=90*2*Math.PI/360;
var B:Number=30*2*Math.PI/360;
//画三角形
var b:Number=a*Math.sin(A)/Math.tan(B)+a*Math.cos(A);
graphics.lineStyle(1, 0xff0000, 1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(b*Math.cos(A),b*Math.sin(A));
graphics.lineTo(0,0);
}
}
} 2、已知两边和此两边的夹角 package com.king{
/*
author: ShangBin Feng
QQ: 334973991
*/
import flash.display.Sprite;
import flash.geom.Point;
public class testTriangle extends Sprite{
public function testTriangle(){
//已知条件
var a:Number=100;
var b:Number=200;
var A:Number=90*2*Math.PI/360;
//画三角形
graphics.lineStyle(1, 0xff0000, 1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(b*Math.cos(A),b*Math.sin(A));
graphics.lineTo(0,0);
}
}
} 3、已知三条边长,最大边和最小边之差不能大于第三边 package com.king{
/*
author: ShangBin Feng
QQ: 334973991
*/
import flash.display.Sprite;
import flash.geom.Point;
public class testTriangle extends Sprite{
public function testTriangle(){
//已知条件
var a:Number=100;
var b:Number=200;
var c:Number=250;
//画三角形
var x=(a*a+b*b-c*c)/(2*a);
var y=Math.sqrt(b*b-x*x);
graphics.lineStyle(1, 0xff0000, 1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(x,y);
graphics.lineTo(0,0);
}
}
} 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号