- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个程序,它处理当前资源到几何图形表面的欧氏距离。在我们的几何考虑中,y 坐标始终为零 - 因此它在 x 和 z 维度上是一个二维结构。该图显示了它的外观:
(length yellow = 100 , length blue = 500) -- 例如,如果原点位于第二个黄色部分的中间,则点源位于坐标 coord=(700,0,510)对于蓝色或黄色部分的每个中点,当然可以通过欧几里得距离:
平方(总和(((中点坐标))^2)
但是如果我从某个部分通过角度 $\alpha$ 来“弯曲”这个“棍子”,我该怎么做呢?:
y 坐标再次为零,源再次垂直放置在 z 方向上 - 但是我如何确定到截面中心的欧几里得距离?所以我们使用相同的长度尺寸,只是我们在电极的方向上将棒弯曲 30%,例如在原点或第 5 段。最好的方法是相应地操纵中点的“x”值....
最佳答案
我现在无法访问 Matlab,所以我用 python 编写了一些代码。这是你想做的吗?:
# plotting function of a polyline, a point and, if chosen, midpoints of polyline
def plot_polyline(P, P0, equal_axes, show_midpoints):
M = midpoints_of(P)
plt.figure()
plt.plot(P0[0], P0[1], 'bo')
plt.plot(P[:,0], P[:,1])
for k in range(P.shape[0]):
plt.plot(P[k,0], P[k,1], 'ro')
if show_midpoints:
for k in range(M.shape[0]):
plt.plot(M[k,0], M[k,1], 'yo')
axx = plt.gca()
if equal_axes:
axx.set_aspect('equal')
plt.show()
return None
def cos_sin(angle):
return math.cos(angle), math.sin(angle)
# generate a rotation matrix that rotates a 2D vector at an angle alpha
# observe the matrix format is [x1, y1] = [x, y].dot([[cos, -sin],
# [sin, cos]])
# and rotation is clockwise rotation of vector written as row-vectors
def rot_matrx(angle):
cs, sn = cos_sin(angle)
return np.array([[ cs, -sn],
[ sn, cs]])
# performs a clockwise rotation of a point around a center at an angle
def rotate(points, angle, center):
U = rot_matrx(angle)
return (points - center).dot(U) + center
# bending
def perform_bending(polyline, angle, index_bending_point):
x1 = polyline.copy()
x_bend = x1[index_bending_point,:]
# rotate half angle around point x_bend first
x1[0:index_bending_point,:] = rotate(x1[0:index_bending_point,:],
angle/2, x_bend)
# rotate the result from above half angle more around point x_(bend-1)
x_bend = x1[(index_bending_point-1),:]
x1[0:(index_bending_point - 1),:] = rotate(x1[0:(index_bending_point - 1),:],
angle/2, x_bend)
return x1
# calculate the array of midpoints of the polyline
def midpoints_of(polyline):
k, m = polyline.shape
return (polyline[0:(k-1), :] + polyline[1:k, :]) / 2
# calculate the distances from point to the midpoints of a polyline
def calc_distances(point, mids_of_polyline):
return np.linalg.norm(point-mids_of_polyline, axis=1)
# initialize example:
a = 2 # yellow segments' lenght
b = 5 # blue segments' lenght
n = 12 # number of segments + 1, number of points separating segments
alpha = 40 # angle of bending in degrees
alpha = math.pi * 40/180 # angle in bending in radians
# generate [0, 1, 2, 3, 4, 5, 6, 7]
I = np.arange(0,n)
# generate the x[0,] and x[1,] coordinates of the polygonal line
x = np.empty((n, 2), dtype=float)
I = np.floor(I / 2)*(a+b) + (I % 2)*a
x[:, 0] = I.T
x[:, 1] = 0
# point on x that is coordinate origin
x0 = (x[2,:] + x[3,:])/2
# shift initial polyline:
x = x - x0
# index of bending point
i_bend=5
x_bent = perform_bending(x, angle=alpha, index_bending_point=i_bend)
x_mids = midpoints_of(x_bent)
# point
p = np.array([x_mids[i_bend-1, 0], 5.1])
dist = calc_distances(p, x_mids)
plot_polyline(x, p, equal_axes=True, show_midpoints=False)
plot_polyline(x_bent, p, equal_axes=True, show_midpoints=True)
plot_polyline(x_bent, p, equal_axes=True, show_midpoints=False)
print(dist)
关于matlab - 到 "curved"结构的欧氏距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66865638/
当我用 g++ 编译时出现以下错误: Parser.cpp:(.text+0x2478): 未定义对“Curve::Curve()”的引用 Parser.cpp 的标题如下: #include "Be
问题 假设我知道希尔伯特曲线面和四叉树,例如 4/032212303102122 (第 4 面,第 15 层)。 或者我可能知道 S2 Geometry CellId,例如 9749618424903
我正在尝试将文本包裹在贝塞尔曲线中,并遵循此链接中的教程,http://www.planetclegg.com/projects/WarpingTextToSplines.html 我通过此代码获得衍
如果我有一组来 self 扫描的黑白图像的点。 它看起来像一条曲线,我想使用这些点的三次贝塞尔曲线来模拟一条平滑的曲线。 如何确定起点、2 个控制点和终点? 从图像中可以模拟出几条三次贝塞尔曲线,但我
我想将具有已知端点(p0 和 p3)的贝塞尔曲线拟合到嘈杂的二维数据。这似乎比传统的 4 点贝塞尔曲线拟合更简单,但我仍然难以弄清楚。 有人可以指出我现有的代码或算法来找到控制点 p1 和 p2 的最
我正在尝试使用 B 样条曲线拟合。 B样条曲线的阶数为4。当我有很多控制点时,它工作得很好。但是,如果控制点的数量很少,比如两个,我的程序就会崩溃。我意识到控制点的数量与结的数量和顺序有关。谁能帮我澄
我有三个形成抛物线的 X/Y 点。我只需要计算通过这三个点的抛物线顶点是多少。最好是一种快速的方法,因为我必须做很多这些计算! “Ask A Scientist”网站提供this answer : T
我想绘制 x 的函数,其中 x 应用于向量。无论如何,最简单的是举一个简单的例子: var <- c(1,2,3) curve(mean(var)+x) curve(mean(var+x)) 虽然第一
一位同事问我这个问题,我一直在努力解决这个问题。 假设我想定义一个函数,它接受一个表达式(具体来说,假设为 x^2)作为参数,并将该参数传递给 curve()。 如果我想以简单的方式做到这一点,我只需
我想绘制 x 的函数,其中 x 应用于向量。无论如何,最简单的是举一个简单的例子: var <- c(1,2,3) curve(mean(var)+x) curve(mean(var+x)) 虽然第一
ECDSA算法中256位EC key 的签名长度将是多少? 我想验证签名长度是否相同。如果某个机构可以帮助我设置一个EC key ,那将是很棒的。 最佳答案 这取决于您如何对签名进行编码。这是来自Op
我有以下代码生成四个图,但它们最终被压扁(见下图)。我该如何解决这个问题? par(mfrow=c(2,2)) curve(.5*exp(-.5*x),from=0,to=10,main="f(x)"
我编写了一个程序,它处理当前资源到几何图形表面的欧氏距离。在我们的几何考虑中,y 坐标始终为零 - 因此它在 x 和 z 维度上是一个二维结构。该图显示了它的外观: (length yellow =
为什么curve似乎不适用于从列表中提取的元素? 考虑两个看似相同的函数,但构建方式不同: a curve(m[[1]]) Error in curve(m[[1]]) : 'expr' mus
我有一个公式作为字符向量,并希望在曲线中使用它。 curve(-8*cos(2*x), 0, 10) #works as expected formula <- "-8*cos(2*x)" # not
为什么curve似乎不适用于从列表中提取的元素? 考虑两个看似相同的函数,但构建方式不同: a curve(m[[1]]) Error in curve(m[[1]]) : 'expr' mus
是否可以循环动画此图像? 我试图通过创建一个相对父级并将每个图像设置为动画(业务解决方案 div、it 解决方案 div、生命周期解决方案 div 和教育解决方案 div 为绝对)。我使用了这段代码,
如何在Flex中弯曲我的文本小部件?我有一个被文本包围的圆圈,我需要为文本创建这个样式。另外,这个圆圈占屏幕宽度的50%,所以这个曲线效果也应该是动态的
我怎样才能弯曲一张纸(立方体)?我想控制弯曲/曲线的角度。 例如 立方体([50,50,2]); 最佳答案 您可以 rotate_extrude()一个带有参数角的矩形。这需要 openscad 版本
我正在尝试寻找一种聪明的方法来创建像下一个一样的曲线(使用 Unity3d 2D 部分(不使用网格对撞机))),但我没有找到 任何帮助,将不胜感激。 最佳答案 看到最后一个答案(已删除)不符合我的要求
我是一名优秀的程序员,十分优秀!