当前位置: 首页>>代码示例>>Python>>正文


Python Polygon.isInside方法代码示例

本文整理汇总了Python中Polygon.isInside方法的典型用法代码示例。如果您正苦于以下问题:Python Polygon.isInside方法的具体用法?Python Polygon.isInside怎么用?Python Polygon.isInside使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Polygon的用法示例。


在下文中一共展示了Polygon.isInside方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Polygon

# 需要导入模块: import Polygon [as 别名]
# 或者: from Polygon import isInside [as 别名]
class Domen:
    id = 0
    
    polygon = Polygon()
    
    def __init__(self, points, id=0):
        self.polygon = Polygon(points)
    
    def contains(self, point):
        return self.polygon.isInside(point.x, point.y) == 1
开发者ID:BackupTheBerlios,项目名称:veda-svn,代码行数:12,代码来源:Project.py

示例2: range

# 需要导入模块: import Polygon [as 别名]
# 或者: from Polygon import isInside [as 别名]
		minlat=1000000
		maxlon=-1000000
		minlon=1000000
		for point in poly:
			lat=point[0]
			lon=point[1]
			if lat>maxlat: maxlat=lat
			if lat<minlat: minlat=lat
			if lon>maxlon: maxlon=lon
			if lon<minlon: minlon=lon
		lat_values=[minlat+1.0/24*i for i in range(int((maxlat-minlat)*24))]
		lon_values=[minlon+1.0/24*i for i in range(int((maxlon-minlon)*24))]

		for lat in lat_values:
			for lon in lon_values:
				if i_poly.isInside(lat,lon):
					fill_points.append((lat,lon))

		if len(fill_points)==0: continue

		for point in fill_points:
			dens=float(check_pop(point))
			#print dens
			#print point,dens,peak_dense,best_point
			if dens>peak_dense:
				peak_dense=dens
				best_point=point
		"""
		x=[p[0] for p in fill_points]
		y=[p[1] for p in fill_points]
		pylab.plot(x,y,"*")
开发者ID:MingruBai,项目名称:Alidade_shapeSimplification,代码行数:33,代码来源:find_best.py

示例3: __init__

# 需要导入模块: import Polygon [as 别名]
# 或者: from Polygon import isInside [as 别名]

#.........这里部分代码省略.........
            #set to zero velocity before finding the tranFace
            self.drive_handler.setVelocity(0, 0)
            if last:
                transFace = None
            else:
                print "Current reg is " + str(self.rfi.regions[current_reg].name.lower())
                print "Next reg is "+ str(self.rfi.regions[next_reg].name.lower())
                
                
                for i in range(len(self.rfi.transitions[current_reg][next_reg])):
                    pointArray_transface = [x for x in self.rfi.transitions[current_reg][next_reg][i]]
                    transFace = asarray(map(self.coordmap_map2lab,pointArray_transface))
                    bundle_x = (transFace[0,0] +transFace[1,0])/2    #mid-point coordinate x
                    bundle_y = (transFace[0,1] +transFace[1,1])/2    #mid-point coordinate y
                    q_gBundle = hstack((q_gBundle,vstack((bundle_x,bundle_y))))
                q_gBundle = q_gBundle.transpose()
                    
                # Find the closest face to the current position
                max_magsq = 1000000
                for tf in q_gBundle:
                    magsq = (tf[0] - pose[0])**2 + (tf[1] - pose[1])**2
                    if magsq < max_magsq:
                        pt1  = tf
                        max_magsq = magsq
                transFace = 1   

                self.q_g[0] = pt1[0]
                self.q_g[1] = pt1[1]
                
                
                # Push the goal point to somewhere inside the next region to ensure the robot will go there.
                if self.rfi.regions[current_reg].name.lower()=='freespace':    
                    self.q_g = self.q_g+(self.q_g-asarray(self.nextRegionPoly.center()))/norm(self.q_g-asarray(self.nextRegionPoly.center()))*3*self.PioneerLengthHalf   
                    if not self.nextRegionPoly.isInside(self.q_g[0],self.q_g[1]):  
                        self.q_g = self.q_g-(self.q_g-asarray(self.nextRegionPoly.center()))/norm(self.q_g-asarray(self.nextRegionPoly.center()))*6*self.PioneerLengthHalf 
                else:
                    self.q_g = self.q_g+(self.q_g-asarray(self.currentRegionPoly.center()))/norm(self.q_g-asarray(self.currentRegionPoly.center()))*3*self.PioneerLengthHalf   
                    if self.currentRegionPoly.isInside(self.q_g[0],self.q_g[1]):  
                        self.q_g = self.q_g-(self.q_g-asarray(self.currentRegionPoly.center()))/norm(self.q_g-asarray(self.currentRegionPoly.center()))*6*self.PioneerLengthHalf 
                        
                #plot exiting point  
                if self.PLOT_EXIT == True:
                    plt.figure(self.overlap_figure) 
                    plt.clf()                    
                    plt.plot(q_gBundle[:,0],q_gBundle[:,1],'ko' )   
                    plt.plot(self.q_g[0],self.q_g[1],'ro')
                    plt.plot(pose[0],pose[1],'bo')
                    self.plotPioneer(self.overlap_figure,1)                   
                    
                if transFace is None:
                    print "ERROR: Unable to find transition face between regions %s and %s.  Please check the decomposition (try viewing projectname_decomposed.regions in RegionEditor or a text editor)." % (self.rfi.regions[current_reg].name, self.rfi.regions[next_reg].name)
        
      
        ##################################################
        #######check whether obstacle is detected#########
        ##################################################
              
        #Update pose,update self.robot, self.realRobot orientation 
        self.robot.shift(pose[0]-self.prev_pose[0],pose[1]-self.prev_pose[1])
        self.realRobot.shift(pose[0]-self.prev_pose[0],pose[1]-self.prev_pose[1])       
        self.robot.rotate(pose[2]-self.prev_pose[2],pose[0],pose[1]) 
        self.realRobot.rotate(pose[2]-self.prev_pose[2],pose[0],pose[1]) 
        self.prev_pose = pose
        
        ############################
        ########### STEP 1##########
开发者ID:SMSmith,项目名称:LTLMoP,代码行数:70,代码来源:BugController.py

示例4: range

# 需要导入模块: import Polygon [as 别名]
# 或者: from Polygon import isInside [as 别名]
				lat=point[0]
				lon=point[1]
				if lat>maxlat: maxlat=lat
				if lat<minlat: minlat=lat
				if lon>maxlon: maxlon=lon
				if lon<minlon: minlon=lon
			maxlat=maxlat+0.1*abs(maxlat-minlat)
			minlat=minlat-0.1*abs(maxlat-minlat)
			maxlon=maxlon+0.1*abs(maxlon-minlon)
			minlon=minlon-0.1*abs(maxlon-minlon)
			lat_values=[minlat+(maxlat-minlat)*1.0/density*i for i in range(density+1)]
			lon_values=[minlon+(maxlon-minlon)*1.0/density*i for i in range(density+1)]
			#print lat_values,lon_values
			for lat in lat_values:
				for lon in lon_values:
					if not i_poly.isInside(lat,lon):
						fill_points.append((lat,lon))

			points=points+fill_points
			points=[Point_2(point[0],point[1]) for point in points]


		elif instr=="a":
			alpha=raw_input("Enter an alpha value: ")
			try:
				test=float(alpha)
			except ValueError:
				print "Invalid input for alpha value."
				continue
			alpha_faces=test_Alpha_shapes_2(points,alpha)
			alpha_edges=[["%s:%s:" %(face.source().x(),face.source().y()),"%s:%s:" %(face.target().x(),face.target().y())] for face in alpha_faces]
开发者ID:MingruBai,项目名称:Alidade_shapeSimplification,代码行数:33,代码来源:alpha_water.py


注:本文中的Polygon.isInside方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。