「java画螺旋线」螺旋线绘制

博主:adminadmin 2022-11-23 14:59:08 55

本篇文章给大家谈谈java画螺旋线,以及螺旋线绘制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

绘制螺旋线的公式是什么?

计算公式:

=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画螺旋线和螺旋线绘制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。