标签: spiral

使用贝塞尔曲线绘制螺旋线

这适用于iPad应用程序,但它本质上是一个数学问题.

我需要绘制一个变化(单调增加)线宽的圆弧.在曲线的开始处,它将具有起始厚度(假设为2pts),然后厚度将平滑地增加直到弧的末端,其将处于其最大厚度(假设为12pts).

我认为最好的方法是创建一个UIBezierPath并填充形状.我的第一次尝试是使用两个圆弧(带有偏移中心),并且工作精细到90°,但弧度通常在90°和180°之间,因此接近不会切割它.

随着厚度增​​加,90度弧的例子

我目前的方法是使用贝塞尔四边形或三次曲线制作一个轻微螺旋(一个从圆弧略微增长,一个略微收缩).问题是我在哪里放置控制点,以便与圆弧(也就是形状"厚度")的偏差是我想要的值.

约束:

  • 形状必须能够以任意角度(彼此相差180°)开始和结束
  • 形状的"厚度"(与圆的偏差)必须以给定值开始和结束
  • "厚度"必须单调增加(它不能再变大,然后再变小)
  • 它必须看起来光滑,不会有任何急剧弯曲

我也对其他解决方案持开放态度.

math bezier spiral ios uibezierpath

6
推荐指数
1
解决办法
3559
查看次数

在Java中进行对数螺旋

import java.io.*;
import java.awt.*;

// Logarithmic spiral example
public class Spiral extends Frame
{// The spiral consists of n line segments. Line segment 1
// has starting point (hc, vc). Line segment k, for 1<=k<=n,
// has length k*d. Each line segment makes an angle of turn
// degrees with the previous line segment. The colors of the
// lines alternate between red, blue, and green.

final static int hc= 500;   // Center of spiral is (hc,vc)
final static int …
Run Code Online (Sandbox Code Playgroud)

java spiral

6
推荐指数
1
解决办法
1239
查看次数

Python - OpenDrive Map - 使用菲涅耳积分的螺旋/Clothoid/欧拉螺旋/Cornu螺旋插值

地图格式OpenDrive提供(除其他外)道路的几何形状。道路的每一段都可以具有不同的几何形状(例如线、弧、螺旋、多项式)。提供的道路几何“螺旋”信息如下:

 - s      - relative position of the road segment in respect to the beginning
                                                of the road (not used in here)
 - x      - the "x" position of the starting point of the road segment
 - y      - the "y" position of the starting point of the road segment
 - hdg       - the heading of the starting point of the road segment
 - length      - the length of the road segment
 - curvStart   - the curvature at …
Run Code Online (Sandbox Code Playgroud)

python spiral fresnel scipy

6
推荐指数
1
解决办法
3857
查看次数

使用递归以螺旋模式遍历2D阵列

我正准备接受采访,并且已经坚持这个问题了很长一段时间了.有人可以帮我提供代码.如果不完整那么可能是它的片段?请..

arrays recursion 2d spiral

5
推荐指数
1
解决办法
3077
查看次数

从外面盘旋

我希望循环一个类似于循环的矩阵,但是从外向内循环,而不是从里到外循环.任何人都可以帮助我为任何大小的矩阵做一个好的方法,理想情况下在Ruby中吗?

示例:在3x4矩阵中,我想从[0,0]向右开始,然后在达到[3,0]时向下移动,在[3,2]处向左移动等.

[0,0] [1,0] [2,0] [3,0]
[0,1] [1,1] [2,1] [3,1]
[0,2] [1,2] [2,2] [3,2]
Run Code Online (Sandbox Code Playgroud)

移动顺序如下所示:

0  1  2  3
9  10 11 4
8  7  6  5
Run Code Online (Sandbox Code Playgroud)

输出将是:

[0,0], [1,0], [2,0], [3,0], [3,1], [3,2], [2,2], [1,2], [0,2], [0,1], [1,1], [2,1]
Run Code Online (Sandbox Code Playgroud)

ruby algorithm spiral

5
推荐指数
2
解决办法
1200
查看次数

如何在python中制作螺旋?

我想创建一个函数,我给它一个数字,函数返回一个从1到该数字的螺旋(在二维数组中).例如,如果我将数字25赋予函数,它将返回如下内容:
在此输入图像描述
我尝试了不同的方法,但没有成功.我只是想不通.
希望我能正确解释自己.

python spiral

4
推荐指数
3
解决办法
2万
查看次数

沿阿基米德螺线等距放置点

我有一个由参数方程x = r t * cos(t)和确定的阿基米德螺线y = r t * sin(t)

我需要n沿螺旋等距放置点。等距的确切定义并不重要——它只需要是近似的。

只需使用rtn作为参数,我怎么能计算出每个等距点的坐标?

javascript geometry spiral parametric-equations

3
推荐指数
1
解决办法
1141
查看次数

敏捷模型和螺旋模型之间的区别

任何人都可以用简单的术语向我解释螺旋和敏捷模型之间的差异,因为我是初学者?你能给我一些真实的世界吗?螺旋比敏捷更有用,反之亦然...我知道互联网上有很多链接,但是我很难理解,因为我是初学者.所以如果用简单的术语解释会有很大的帮助吗? ?提前完成了...

agile model spiral agile-processes

2
推荐指数
1
解决办法
3万
查看次数

在THREE.js中生成旋涡星系的粒子

我想THREE.Points在THEE.js中创建一个简单的螺旋星系。
我不知道如何产生螺旋臂。有什么(不太困难)的方法吗?

在这里,我创建了这个小提琴。有一个扁平的球体,但没有螺旋臂。

const scene = new THREE.Scene()
const camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight)
camera.position.z = 1500
scene.add(camera)
const renderer = new THREE.WebGLRenderer({ clearColor: 0x000000 })
renderer.setSize(window.innerWidth, window.innerHeight)
document.body.appendChild(renderer.domElement)

// Random function with normal dustribution.
const normalRandom = (mean, std) => {
    let n = 0
    
    for (let i = 1; i <= 12; i++) {
      n += Math.random()
    }

    return (n - 6) * std + mean
}

const geometry = new THREE.Geometry() …
Run Code Online (Sandbox Code Playgroud)

javascript random math spiral three.js

2
推荐指数
1
解决办法
214
查看次数

如何在java中创造一个ulam螺旋?

所以我今天花了几个小时写出逻辑,然后把它变成代码,但我完全陷入困境,我不知道该怎么做.我现在只用java编程了几个月,所以整个"逻辑"思维方式还没有完全实现.谁能帮助我思考如何在java中创建ulam螺旋的逻辑?

import java.util.Arrays;

public class GridMaker {
    private static int gridRow = 5; // R = length
    private static int gridCol = 5; // C = height
    private static int[][] grid = new int[gridRow][gridCol];
    private static int totalSteps = (gridRow * gridCol); // total blocks on the grid
    private static int location = 1; // location refers to the number in the box, ie. 1, 2, 3, etc.
    private static int rowLength = 1;

    public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java spiral

1
推荐指数
1
解决办法
3928
查看次数