「java画螺旋线」螺旋线绘制
本篇文章给大家谈谈java画螺旋线,以及螺旋线绘制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、绘制螺旋线的公式是什么?
- 2、java怎么画布画阿基米螺旋线
- 3、怎么画螺旋线?
- 4、求程序画的 点阵渐开线(点阵螺旋线)代码 啥语言都可 最好是JAVA C# AS3 等 当然其它语言也可以 谢谢
绘制螺旋线的公式是什么?
计算公式:
=n×{√b^2+[π×(D-2×15)]^2}+2×π×(D-2×15)+2×6.25×d
L: 螺旋筋的高度
n:螺旋筋的圈数 n=L/b
b:螺旋筋之间的距离 ,螺距
D:混凝土柱的直径
d:螺旋筋的直径
螺旋筋混凝土保护层15,螺旋筋当中,上下各有一个水平圈,此量必计算在内。再加两个弯钩长度,就为螺旋筋总的钢筋用量。还有搭接长度根据现场施工情况增加。
其实就是螺旋展开是一个三角形的道理。
一、计算一个螺距的展开尺寸,也就是,搅龙转一圈的下料尺寸
二、成型搅龙的内圆(也就是,已经做成螺旋状的那种)展开长度,就是下料的内孔展开长度
三、计算这个展开长度(参看附图)
1、三角形的底边:心轴表面的展开长度L
2、三角形的垂直边:搅龙的螺距T
3、依据上述参数可以作出三角形(如上图)
4、于是,三角形的斜边:搅龙内圆展开周长(即:下料的内孔周长):285.8
5、斜边与底边的夹角:搅龙的螺旋角α=44.4°(这个角度太大了,设计有点不合理)
四、根据三角形斜边长285.8计算出下料内圆的直径
∵圆的展开长L=πD
∴D=L / π =285.8 / π =90.97(这就是下料内圆的直径)
java怎么画布画阿基米螺旋线
//画笔
import java.awt.*;
import java.util.*;
/**
* @author Hardneedl
*/
public interface Brush extends Observer{
void paint(java.awt.Graphics g);
Component getParent();
}
//画布
import javax.swing.*;
import java.awt.*;
/**
* @author Hardneedl
*/
public class BrushCanvas extends JComponent{
protected Brush brush;
public void setBrush(Brush brush) {
this.brush = brush;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (brush!=null)
brush.paint(g);
}
}
//阿基米德螺线的画笔实现
import java.awt.*;
import java.awt.geom.*;
import java.util.*;
/**
* @author Hardneedl
*/
public abstract class AJMIBrush implements Brush {
protected Path2D path = new Path2D.Double();
static final int RADIUS_SCALE = 7;
public AJMIBrush() {
path.moveTo(0,0);
}
public void paint(Graphics g) {
Graphics2D g2= (Graphics2D)g.create();
Component parent = getParent();
g2.translate(parent.getWidth()1, parent.getHeight()1);
g2.setColor(Color.RED);
g2.draw(path);
g2.dispose();
}
public void update(Observable o, Object arg) {
int t= (Integer)arg;
int r = t;
double x = r * Math.cos(RADIUS_SCALE*t*Math.PI/180);
double y = r * Math.sin(RADIUS_SCALE*t*Math.PI/180);
path.lineTo(x,y);
getParent().repaint();
}
}
//用于演示的启动程序和窗口
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
final class AJFrame extends JFrame {
final static private Dimension SIZE = new Dimension(800, 600);
public String getTitle() {return "AJFrame";}
public Dimension getPreferredSize() {return SIZE;}
public Dimension getMinimumSize() {return SIZE;}
public Dimension getMaximumSize() {return SIZE;}
public Dimension getSize() {return SIZE;}
private Brush brush ;
private BrushCanvas canvas;
AJFrame() throws HeadlessException {
init();
attachListeners();
doLay();
setVisible(true);
}
private void init() {
canvas=new BrushCanvas();
brush=new AJMIBrush(){
public Component getParent() {
return canvas;
}
};
canvas.setBrush(brush);
Timer timer = new Timer(10, new ActionListener() {
private int r =0;
public void actionPerformed(ActionEvent e) {
brush.update(null, r+=2);
}
});
timer.start();
}
private void attachListeners() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
}
private void doLay() {
Container container=getContentPane();
container.add(canvas,BorderLayout.CENTER);
pack();
}
public static void main(String... args) {
System.setProperty("swing.defaultlaf", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.invokeLater(AJFrame::new);
}
}
怎么画螺旋线?
谢谢你的关注
以cad中画螺旋线为例:
1、首先点击打开主菜单栏绘图中的“螺旋”选项。
2、单击要绘制螺旋的绘图区域中的点:
3、移动鼠标,或直接输入下圆的半径:
4、移动鼠标,或直接输入顶部圆的半径:
5、如果需要修改圆圈数,请输入t并按Enter:
6、输入圈数后回车:
7、移动鼠标,或者直接输入螺旋圈的高度,然后点击绘图区,即可完成螺旋线的绘制:
8、如下图所示,即已经完成了螺旋线:
求程序画的 点阵渐开线(点阵螺旋线)代码 啥语言都可 最好是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;
ListInteger lx=new ArrayListInteger();
ListInteger ly=new ArrayListInteger();
int CenterX=this.getWidth()/2;
int CenterY=this.getHeight()/2;
for(int i=0;i60*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;i60*2;i++){
g.fillOval(lx.get(i), ly.get(i), 5, 5);
}
}
public static void main(String[] args) {
new Involute();
}
}
运行结果
关于java画螺旋线和螺旋线绘制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。