求程序画的 点阵渐开线(点阵螺旋线)代码 啥语言都可 最好是JAVA C# AS3 等 当然其它语言也可以 谢谢
展开全部
用Java语言画的点阵渐开线代码如下
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
public class Involute extends JFrame{
Involute(){
super("点阵渐开线");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
double alfa=10;
double r=10;
double theta=0;
List<Integer> lx=new ArrayList<Integer>();
List<Integer> ly=new ArrayList<Integer>();
int CenterX=this.getWidth()/2;
int CenterY=this.getHeight()/2;
for(int i=0;i<60*2;i++){
int x=CenterX+(int)(r*Math.cos((theta+alfa)*Math.PI/180)+(theta+alfa)*Math.PI/180*r*Math.sin((theta+alfa)*Math.PI/180));
lx.add(x);
int y=CenterY-(int)(r*Math.sin((theta+alfa)*Math.PI/180)-(theta+alfa)*Math.PI/180*r*Math.cos((theta+alfa)*Math.PI/180));
ly.add(y);
theta=theta+6;
}
for(int i=0;i<60*2;i++){
g.fillOval(lx.get(i), ly.get(i), 5, 5);
}
}
public static void main(String[] args) {
new Involute();
}
}
运行结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询