2009-12-11 30 views
-1

我有一个多边形,可以是规则的,也可以是不规则的。我必须做偏移/缓冲多边形。我需要将多边形拉伸一定量的偏移量。形状应该保持。你如何找到从点(x1,y1)给定的垂线的坐标

+0

'stretch'as in ..在一个方向上放大(水平或垂直)? – Aziz 2009-12-11 10:06:51

+1

请发布您迄今为止编写的代码。人们通常不喜欢只为你写代码。 – 2009-12-11 10:19:48

+1

是否有数学的计算器?它可以被称为divisionbyzero.com或1plus1equals2.com。 :) – jmucchiello 2009-12-11 18:02:13

回答

0

乘每个坐标偏移丝毫

我知道,有人不会相信。 确定这里是在Python(我用pythonxy)完整的源代码

import numpy as np 
import matplotlib.pyplot as plt 

x1, y1 = np.random.rand(2, 20) 
plt.plot(x1,y1) 

x2=x1*1.3 
y2=y1*1.3 

l=len(x1) 

#calculate centers 
cx1=sum(x1)/l 
cy1=sum(y1)/l 
cx2=sum(x2)/l 
cy2=sum(y2)/l 

#recenter polygon 
x2=x2-(cx2-cx1) 
y2=y2-(cy2-cy1) 

plt.plot(x2,y2) 
plt.show() 

我做例子白衣随机线,但它是不是从你的榜样

http://img200.imageshack.us/img200/8615/grafm.png

,这个作品是因为原因不同每个点的乘法与拉伸坐标轴相同。 我计算中心为“平均”,并将一个中心移到另一个中心,那样的位置看起来更自然

+0

这只会缩放多边形。它适用于原点位于中心的正多边形(框,五边形,六边形等)。 – 2009-12-11 18:22:10

相关问题