本篇文章给大家谈谈java螺旋方图,以及java螺旋方阵对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、求编写JAVA螺旋矩阵2、java怎样绘制螺旋曲线3、如何用JAVA实现螺旋矩阵4、java二维数组3*3螺旋矩阵实例,请解释下循环的过程5、java螺旋矩阵求助!6、绘制螺旋线的公式是什么?
求编写JAVA螺旋矩阵
按照你的要求用Java编写的螺旋矩阵程序如下:
public class N {
public static void main(String[] args) {
final int N=4;
int a[][]=new int[N][N];
int num=1;
int i=0,j=0,m=0;
if(N%2==0)
m=N/2;
else
m=N/2+1;
for(i=0;i=m-1;i++){
for(j=i;j=N-i-1;j++){
a[i][j]=num;
num++;
}
for(j=i+1;j=N-i-1;j++) {
a[j][N-i-1]=num;
num++;
}
for(j=N-i-2;j=i;j–){
a[N-i-1][j]=num;
num++;
}
for(j=N-i-2;j=i+1;j–){
a[j][i]=num;
num++;
}
}
for(i=0;iN;i++){
for(j=0;jN;j++){
System.out.print(String.format(“%3d”,a[i][j]));
}
System.out.println();
}
}
}
运行结果:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
java怎样绘制螺旋曲线
用极坐标方程,一个点一个点的画。给你段我以前写的程序,虽然不是螺旋曲线,但也差不多。import java.awt.*;
import javax.swing.*;public class Spirograph extends JApplet {
public static void main(String s[]) {
JFrame frame = new JFrame();
frame.setTitle(“Spirograph”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet = new Spirograph();
applet.init();
frame.getContentPane().add(applet);
frame.pack();
frame.setVisible(true);
}
public void init() {
JPanel panel = new SpiroPanel();
getContentPane().add(panel);
}
}class SpiroPanel extends JPanel{
int nPoints = 1000;
double r1 = 60;
double r2 = 50;
double p = 70;
public SpiroPanel() {
setPreferredSize(new Dimension(400, 400));
setBackground(Color.white);
} public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.translate(200,200);
int x1=(int)(r1+r2-p);
int y1=0;
int x2;
int y2;
for (int i=0; inPoints; i++) {
double t = i*Math.PI/90;
x2 = (int)((r1+r2)*Math.cos(t)-p*Math.cos((r1+r2)*t/r2));
y2 = (int)((r1+r2)*Math.sin(t)-p*Math.sin((r1+r2)*t/r2));
g2.drawLine(x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
}
}
如何用JAVA实现螺旋矩阵
import java.io.*;public class RingDemo {
public static void main(String[] args) {
String strIn = “”;
System.out.print(“请输入矩阵的行列数:”);
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader buff = new BufferedReader(input);
try {
strIn = buff.readLine();
} catch (IOException e) {
System.out.println(e.toString());
}
int int1 = Integer.parseInt(strIn);
int n = int1;
System.out.println(“这是行列数为” + n + “的螺线型数组:”);
int intA = 1; // 初始化
int[][] array = new int[n][n];
int intB;
if (n % 2 != 0) {
intB = n / 2 + 1; // 奇数时i循环次数
} else
intB = n / 2; // 偶数时i循环次数
for (int i = 0; i intB; i++) { // 从外到里循环
// 从左到右横的开始
for (int j = i; j n – i; j++) {
array[i][j] = intA;
intA++;
}
// 从上到下纵
for (int k = i + 1; k n – i; k++) {
array[k][n – i – 1] = intA;
intA++;
}
// 从右到左横
for (int l = n – i – 2; l = i; l–) {
array[n – i – 1][l] = intA;
intA++;
}
// 从下到上纵
for (int m = n – i – 2; m i; m–) {
array[m][i] = intA;
intA++;
}
}
// 输出数组
for (int i = 0; i n; i++) {
for (int j = 0; j n; j++) {
System.out.print(array[i][j] + ” “);
}
System.out.println();
} }
}
java二维数组3*3螺旋矩阵实例,请解释下循环的过程
public class T {
public static void main(String[] args) {
int i,j;
int[][] a = {{1,1,1},{2,2,2},{3,3,3}};
int[][] b = new int[3][3];
System.out.print(“初始矩阵:\n”);
for(i=0;i3;i++) {
for(j=0;j3;j++) {
System.out.print(a[i][j]+” “);
}
System.out.print(“\n”);
}
System.out.print(“转置矩阵:\n”);
for(i=0;i3;i++) {
for(j=0;j3;j++) {
b[i][j] = a[j][i];
System.out.print(b[i][j]+” “);
}
System.out.print(“\n”);
}
}
}
java螺旋矩阵求助!
package cn.com.micc.javatwo; //根据实际情况修改
//蜗牛螺旋矩阵 请仔细研究矩阵阶数变化时数据的迁移规律
//上一阶矩阵会”整体”向右上或左下移动
public class AntiClockWiseArray {
public static int[][] getResult(int n) {
int[][] n1 = new int[1][1];
n1[0][0] = 1;
if (n == 1)
return n1;
int[][] result = new int[n][n];
int[][] temp = getResult(n – 1);
if (0 == (n – 1) % 2)
result = LeftDownMove(temp, n – 1); //n-1阶矩阵向左下移动
else
result = RightUpMove(temp, n – 1); //n-1阶矩阵向右上移动
return result;
}
public static int[][] LeftDownMove(int[][] in, int moment) {
int temp = moment * moment;
int nums = moment * 2 + 1;
int[][] out = new int[moment + 1][moment + 1];
//新矩阵补入上一阶矩阵的值
for (int i = 0; i moment; ++i)
for (int j = 0; j moment; ++j)
out[i + 1][j] = in[i][j];
//两个循环添加新矩阵新值
for (int k = 0; k moment + 1; ++k)
out[0][k] = temp + nums – k;
for (int l = 1; l moment + 1; ++l)
out[l][moment] = temp + nums – moment – l;
return out;
}
public static int[][] RightUpMove(int[][] in, int moment) {
int temp = moment * moment;
int nums = moment * 2 + 1;
int[][] out = new int[moment + 1][moment + 1];
//新矩阵补入上一阶矩阵的值
for (int i = 0; i moment; ++i)
for (int j = 0; j moment; ++j)
out[i][j + 1] = in[i][j];
//两个循环添加新矩阵新值
for (int k = 0; k moment + 1; ++k)
out[k][0] = temp + 1 + k;
for (int l = 1; l moment + 1; ++l)
out[moment][l] = temp + moment + 1 + l;
return out;
}
public static void printArray(int[][] temp, int n) {
//格式化打印矩阵
for(int i = 0; i n; ++i)
{
for(int j = 0; j n; ++j)
System.out.printf(“%5d”, temp[i][j]);
System.out.println();
}
}
public static void main(String[] args) {
printArray(getResult(6), 6); //输入阶数
}
}
output:
10阶
82 81 80 79 78 77 76 75 74 73
83 50 49 48 47 46 45 44 43 72
84 51 26 25 24 23 22 21 42 71
85 52 27 10 9 8 7 20 41 70
86 53 28 11 2 1 6 19 40 69
87 54 29 12 3 4 5 18 39 68
88 55 30 13 14 15 16 17 38 67
89 56 31 32 33 34 35 36 37 66
90 57 58 59 60 61 62 63 64 65
91 92 93 94 95 96 97 98 99100
绘制螺旋线的公式是什么?
计算公式:
=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螺旋方图的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java螺旋方阵、java螺旋方图的信息别忘了在本站进行查找喔。