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

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

示例1: render

​点赞 6

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(500,500)

self.viewer.set_bounds(-2.2,2.2,-2.2,2.2)

rod = rendering.make_capsule(1, .2)

rod.set_color(.8, .3, .3)

self.pole_transform = rendering.Transform()

rod.add_attr(self.pole_transform)

self.viewer.add_geom(rod)

axle = rendering.make_circle(.05)

axle.set_color(0,0,0)

self.viewer.add_geom(axle)

fname = path.join(path.dirname(__file__), "assets/clockwise.png")

self.img = rendering.Image(fname, 1., 1.)

self.imgtrans = rendering.Transform()

self.img.add_attr(self.imgtrans)

self.viewer.add_onetime(self.img)

self.pole_transform.set_rotation(self.state[0] + np.pi/2)

if self.last_u:

self.imgtrans.scale = (-self.last_u/2, np.abs(self.last_u)/2)

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:27,

示例2: _render_human

​点赞 6

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def _render_human(self):

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(600, 600)

self.viewer.set_bounds(-220, +220, -220, +220)

truck = rendering.make_capsule(8, 4)

truck.set_color(0.0, 0.0, 0.0)

self.truck_transform = rendering.Transform()

truck.add_attr(self.truck_transform)

self.viewer.add_geom(truck)

for node in self.policeman.map['nodes'].values():

circle = rendering.make_circle(2)

circle.set_color(0.6, 0.6, 0.6)

dot_transform = rendering.Transform((node['position']['x'], -node['position']['z']))

circle.add_attr(dot_transform)

self.viewer.add_geom(circle)

position, orientation = self.data.worldPlacement.position, self.data.worldPlacement.orientation

self.truck_transform.set_rotation(orientation.heading * math.pi * 2 - math.pi / 2)

self.truck_transform.set_translation(position.x, -position.z)

return self.viewer.render()

开发者ID:vojtamolda,项目名称:autodrome,代码行数:25,

示例3: render

​点赞 6

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(500, 500)

self.viewer.set_bounds(-2.2, 2.2, -2.2, 2.2)

rod = rendering.make_capsule(1, .2)

rod.set_color(.8, .3, .3)

self.pole_transform = rendering.Transform()

rod.add_attr(self.pole_transform)

self.viewer.add_geom(rod)

axle = rendering.make_circle(.05)

axle.set_color(0, 0, 0)

self.viewer.add_geom(axle)

fname = path.join(path.dirname(__file__), "assets/clockwise.png")

self.img = rendering.Image(fname, 1., 1.)

self.imgtrans = rendering.Transform()

self.img.add_attr(self.imgtrans)

self.viewer.add_onetime(self.img)

self.pole_transform.set_rotation(self.state[0] + np.pi/2)

if self.last_u:

self.imgtrans.scale = (-self.last_u/2, np.abs(self.last_u)/2)

return self.viewer.render(return_rgb_array=mode == 'rgb_array')

开发者ID:DeepX-inc,项目名称:machina,代码行数:27,

示例4: render

​点赞 5

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

from gym.envs.classic_control import rendering

if self.viewer is None:

self.viewer = rendering.Viewer(VIEWPORT_W, VIEWPORT_H)

self.viewer.set_bounds(0, VIEWPORT_W/SCALE, 0, VIEWPORT_H/SCALE)

for obj in self.particles:

obj.ttl -= 0.15

obj.color1 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl))

obj.color2 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl))

self._clean_particles(False)

for p in self.sky_polys:

self.viewer.draw_polygon(p, color=(0,0,0))

for obj in self.particles + self.drawlist:

for f in obj.fixtures:

trans = f.body.transform

if type(f.shape) is circleShape:

t = rendering.Transform(translation=trans*f.shape.pos)

self.viewer.draw_circle(f.shape.radius, 20, color=obj.color1).add_attr(t)

self.viewer.draw_circle(f.shape.radius, 20, color=obj.color2, filled=False, linewidth=2).add_attr(t)

else:

path = [trans*v for v in f.shape.vertices]

self.viewer.draw_polygon(path, color=obj.color1)

path.append(path[0])

self.viewer.draw_polyline(path, color=obj.color2, linewidth=2)

for x in [self.helipad_x1, self.helipad_x2]:

flagy1 = self.helipad_y

flagy2 = flagy1 + 50/SCALE

self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(1,1,1) )

self.viewer.draw_polygon( [(x, flagy2), (x, flagy2-10/SCALE), (x+25/SCALE, flagy2-5/SCALE)], color=(0.8,0.8,0) )

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:38,

示例5: render

​点赞 5

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

from gym.envs.classic_control import rendering

s = self.state

if self.viewer is None:

self.viewer = rendering.Viewer(500,500)

self.viewer.set_bounds(-2.2,2.2,-2.2,2.2)

if s is None: return None

p1 = [-self.LINK_LENGTH_1 *

np.cos(s[0]), self.LINK_LENGTH_1 * np.sin(s[0])]

p2 = [p1[0] - self.LINK_LENGTH_2 * np.cos(s[0] + s[1]),

p1[1] + self.LINK_LENGTH_2 * np.sin(s[0] + s[1])]

xys = np.array([[0,0], p1, p2])[:,::-1]

thetas = [s[0]-np.pi/2, s[0]+s[1]-np.pi/2]

self.viewer.draw_line((-2.2, 1), (2.2, 1))

for ((x,y),th) in zip(xys, thetas):

l,r,t,b = 0, 1, .1, -.1

jtransform = rendering.Transform(rotation=th, translation=(x,y))

link = self.viewer.draw_polygon([(l,b), (l,t), (r,t), (r,b)])

link.add_attr(jtransform)

link.set_color(0,.8, .8)

circ = self.viewer.draw_circle(.1)

circ.set_color(.8, .8, 0)

circ.add_attr(jtransform)

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:34,

示例6: display

​点赞 5

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def display(self, mode='human'):

from gym.envs.classic_control import rendering

s = self.state

if self.viewer is None:

self.viewer = rendering.Viewer(500, 500)

self.viewer.set_bounds(-2.2, 2.2, -2.2, 2.2)

if s is None: return None

p1 = [-self.LINK_LENGTH_1 *

np.cos(s[0]), self.LINK_LENGTH_1 * np.sin(s[0])]

p2 = [p1[0] - self.LINK_LENGTH_2 * np.cos(s[0] + s[1]),

p1[1] + self.LINK_LENGTH_2 * np.sin(s[0] + s[1])]

xys = np.array([[0, 0], p1, p2])[:, ::-1]

thetas = [s[0] - np.pi / 2, s[0] + s[1] - np.pi / 2]

self.viewer.draw_line((-2.2, 1), (2.2, 1))

for ((x, y), th) in zip(xys, thetas):

l, r, t, b = 0, 1, .1, -.1

jtransform = rendering.Transform(rotation=th, translation=(x, y))

link = self.viewer.draw_polygon([(l, b), (l, t), (r, t), (r, b)])

link.add_attr(jtransform)

link.set_color(0, .8, .8)

circ = self.viewer.draw_circle(.1)

circ.set_color(.8, .8, 0)

circ.add_attr(jtransform)

return self.viewer.render(return_rgb_array=mode == 'rgb_array')

开发者ID:shagunsodhani,项目名称:memory-augmented-self-play,代码行数:34,

示例7: render

​点赞 5

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

from gym.envs.classic_control import rendering

s = self.state

if self.viewer is None:

self.viewer = rendering.Viewer(500,500)

bound = self.LINK_LENGTH_1 + self.LINK_LENGTH_2 + 0.2 # 2.2 for default

self.viewer.set_bounds(-bound,bound,-bound,bound)

if s is None: return None

p1 = [-self.LINK_LENGTH_1 *

cos(s[0]), self.LINK_LENGTH_1 * sin(s[0])]

p2 = [p1[0] - self.LINK_LENGTH_2 * cos(s[0] + s[1]),

p1[1] + self.LINK_LENGTH_2 * sin(s[0] + s[1])]

xys = np.array([[0,0], p1, p2])[:,::-1]

thetas = [s[0]- pi/2, s[0]+s[1]-pi/2]

link_lengths = [self.LINK_LENGTH_1, self.LINK_LENGTH_2]

self.viewer.draw_line((-2.2, 1), (2.2, 1))

for ((x,y),th,llen) in zip(xys, thetas, link_lengths):

l,r,t,b = 0, llen, .1, -.1

jtransform = rendering.Transform(rotation=th, translation=(x,y))

link = self.viewer.draw_polygon([(l,b), (l,t), (r,t), (r,b)])

link.add_attr(jtransform)

link.set_color(0,.8, .8)

circ = self.viewer.draw_circle(.1)

circ.set_color(.8, .8, 0)

circ.add_attr(jtransform)

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:hust512,项目名称:DQN-DDPG_Stock_Trading,代码行数:36,

示例8: _render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def _render(self, mode='human', close=False):

if close:

if self.viewer is not None:

self.viewer.close()

self.viewer = None

return

from gym.envs.classic_control import rendering

if self.viewer is None:

self.viewer = rendering.Viewer(VIEWPORT_W, VIEWPORT_H)

self.viewer.set_bounds(0, VIEWPORT_W/SCALE, 0, VIEWPORT_H/SCALE)

for obj in self.particles:

obj.ttl -= 0.15

obj.color1 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl))

obj.color2 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl))

self._clean_particles(False)

for p in self.sky_polys:

self.viewer.draw_polygon(p, color=(0,0,0))

for obj in self.particles + self.drawlist:

for f in obj.fixtures:

trans = f.body.transform

if type(f.shape) is circleShape:

t = rendering.Transform(translation=trans*f.shape.pos)

self.viewer.draw_circle(f.shape.radius, 20, color=obj.color1).add_attr(t)

self.viewer.draw_circle(f.shape.radius, 20, color=obj.color2, filled=False, linewidth=2).add_attr(t)

else:

path = [trans*v for v in f.shape.vertices]

self.viewer.draw_polygon(path, color=obj.color1)

path.append(path[0])

self.viewer.draw_polyline(path, color=obj.color2, linewidth=2)

for x in [self.helipad_x1, self.helipad_x2]:

flagy1 = self.helipad_y

flagy2 = flagy1 + 50/SCALE

self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(1,1,1) )

self.viewer.draw_polygon( [(x, flagy2), (x, flagy2-10/SCALE), (x+25/SCALE, flagy2-5/SCALE)], color=(0.8,0.8,0) )

clock_prog = self.curr_step / MAX_NUM_STEPS

self.viewer.draw_polyline( [(0, 0.05*VIEWPORT_H/SCALE), (clock_prog*VIEWPORT_W/SCALE, 0.05*VIEWPORT_H/SCALE)], color=(255,0,0), linewidth=5 )

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:xuwd11,项目名称:cs294-112_hws,代码行数:47,

示例9: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

from gym.envs.classic_control import rendering

if self.viewer is None:

self.viewer = rendering.Viewer(VIEWPORT_W, VIEWPORT_H)

self.viewer.set_bounds(self.scroll, VIEWPORT_W/SCALE + self.scroll, 0, VIEWPORT_H/SCALE)

self.viewer.draw_polygon( [

(self.scroll, 0),

(self.scroll+VIEWPORT_W/SCALE, 0),

(self.scroll+VIEWPORT_W/SCALE, VIEWPORT_H/SCALE),

(self.scroll, VIEWPORT_H/SCALE),

], color=(0.9, 0.9, 1.0) )

for poly,x1,x2 in self.cloud_poly:

if x2 < self.scroll/2: continue

if x1 > self.scroll/2 + VIEWPORT_W/SCALE: continue

self.viewer.draw_polygon( [(p[0]+self.scroll/2, p[1]) for p in poly], color=(1,1,1))

for poly, color in self.terrain_poly:

if poly[1][0] < self.scroll: continue

if poly[0][0] > self.scroll + VIEWPORT_W/SCALE: continue

self.viewer.draw_polygon(poly, color=color)

self.lidar_render = (self.lidar_render+1) % 100

i = self.lidar_render

if i < 2*len(self.lidar):

l = self.lidar[i] if i < len(self.lidar) else self.lidar[len(self.lidar)-i-1]

self.viewer.draw_polyline( [l.p1, l.p2], color=(1,0,0), linewidth=1 )

for obj in self.drawlist:

for f in obj.fixtures:

trans = f.body.transform

if type(f.shape) is circleShape:

t = rendering.Transform(translation=trans*f.shape.pos)

self.viewer.draw_circle(f.shape.radius, 30, color=obj.color1).add_attr(t)

self.viewer.draw_circle(f.shape.radius, 30, color=obj.color2, filled=False, linewidth=2).add_attr(t)

else:

path = [trans*v for v in f.shape.vertices]

self.viewer.draw_polygon(path, color=obj.color1)

path.append(path[0])

self.viewer.draw_polyline(path, color=obj.color2, linewidth=2)

flagy1 = TERRAIN_HEIGHT

flagy2 = flagy1 + 50/SCALE

x = TERRAIN_STEP*3

self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(0,0,0), linewidth=2 )

f = [(x, flagy2), (x, flagy2-10/SCALE), (x+25/SCALE, flagy2-5/SCALE)]

self.viewer.draw_polygon(f, color=(0.9,0.2,0) )

self.viewer.draw_polyline(f + [f[0]], color=(0,0,0), linewidth=2 )

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:51,

示例10: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

screen_width = 600

screen_height = 400

world_width = self.max_position - self.min_position

scale = screen_width/world_width

carwidth=40

carheight=20

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

xs = np.linspace(self.min_position, self.max_position, 100)

ys = self._height(xs)

xys = list(zip((xs-self.min_position)*scale, ys*scale))

self.track = rendering.make_polyline(xys)

self.track.set_linewidth(4)

self.viewer.add_geom(self.track)

clearance = 10

l,r,t,b = -carwidth/2, carwidth/2, carheight, 0

car = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)])

car.add_attr(rendering.Transform(translation=(0, clearance)))

self.cartrans = rendering.Transform()

car.add_attr(self.cartrans)

self.viewer.add_geom(car)

frontwheel = rendering.make_circle(carheight/2.5)

frontwheel.set_color(.5, .5, .5)

frontwheel.add_attr(rendering.Transform(translation=(carwidth/4,clearance)))

frontwheel.add_attr(self.cartrans)

self.viewer.add_geom(frontwheel)

backwheel = rendering.make_circle(carheight/2.5)

backwheel.add_attr(rendering.Transform(translation=(-carwidth/4,clearance)))

backwheel.add_attr(self.cartrans)

backwheel.set_color(.5, .5, .5)

self.viewer.add_geom(backwheel)

flagx = (self.goal_position-self.min_position)*scale

flagy1 = self._height(self.goal_position)*scale

flagy2 = flagy1 + 50

flagpole = rendering.Line((flagx, flagy1), (flagx, flagy2))

self.viewer.add_geom(flagpole)

flag = rendering.FilledPolygon([(flagx, flagy2), (flagx, flagy2-10), (flagx+25, flagy2-5)])

flag.set_color(.8,.8,0)

self.viewer.add_geom(flag)

pos = self.state[0]

self.cartrans.set_translation((pos-self.min_position)*scale, self._height(pos)*scale)

self.cartrans.set_rotation(math.cos(3 * pos))

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ArztSamuel,项目名称:DRL_DeliveryDuel,代码行数:55,

示例11: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human', close=False):

screen_width = 600

screen_height = 400

world_width = self.x_range*2

scale = screen_width/world_width

quadwidth = 80.0

quadheight = 10.0

ref_size = 5.0

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

# Draw drone

l,r,t,b = -quadwidth/2, quadwidth/2, quadheight/2, -quadheight/2

quad = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)])

self.quadtrans = rendering.Transform()

quad.add_attr(self.quadtrans)

self.viewer.add_geom(quad)

# Draw refereence

ref = rendering.make_circle(ref_size)

self.reftrans = rendering.Transform()

ref.add_attr(self.reftrans)

ref.set_color(1,0,0)

self.viewer.add_geom(ref)

if self.state is None: return None

state = self.state

x = np.array([state[0], state[1]]).flatten()

theta = self.state[2]

quad_x = x[0]*scale+screen_width/2.0

quad_y = x[1]*scale+screen_height/2.0

self.quadtrans.set_translation(quad_x, quad_y)

self.quadtrans.set_rotation(theta)

y = self.ref_pos

ref_x = y[0]*scale+screen_width/2.0

ref_y = y[1]*scale+screen_height/2.0

self.reftrans.set_translation(ref_x, ref_y)

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:ethz-asl,项目名称:reinmav-gym,代码行数:44,

示例12: _render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def _render(self, mode='human', close=False):

if close:

if self.viewer is not None:

self.viewer.close()

self.viewer = None

return

screen_width = 600

screen_height = 400

world_width = self.x_threshold*2

scale = screen_width/world_width

carty = 100 # TOP OF CART

polewidth = 10.0

polelen = scale * 1.0

cartwidth = 50.0

cartheight = 30.0

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

l,r,t,b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2

axleoffset =cartheight/4.0

cart = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)])

self.carttrans = rendering.Transform()

cart.add_attr(self.carttrans)

self.viewer.add_geom(cart)

l,r,t,b = -polewidth/2,polewidth/2,polelen-polewidth/2,-polewidth/2

pole = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)])

pole.set_color(.8,.6,.4)

self.poletrans = rendering.Transform(translation=(0, axleoffset))

pole.add_attr(self.poletrans)

pole.add_attr(self.carttrans)

self.viewer.add_geom(pole)

self.axle = rendering.make_circle(polewidth/2)

self.axle.add_attr(self.poletrans)

self.axle.add_attr(self.carttrans)

self.axle.set_color(.5,.5,.8)

self.viewer.add_geom(self.axle)

self.track = rendering.Line((0,carty), (screen_width,carty))

self.track.set_color(0,0,0)

self.viewer.add_geom(self.track)

if self.state is None: return None

x = self.state

cartx = x[0]*scale+screen_width/2.0 # MIDDLE OF CART

self.carttrans.set_translation(cartx, carty)

self.poletrans.set_rotation(-x[2])

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:neka-nat,项目名称:ddp-gym,代码行数:53,

示例13: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

screen_width = 600

screen_height = 400

world_width = self.x_threshold*2

scale = screen_width/world_width

carty = 100 # TOP OF CART

polewidth = 10.0

polelen = scale * (2 * self.length)

cartwidth = 50.0

cartheight = 30.0

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

l, r, t, b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2

axleoffset = cartheight/4.0

cart = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

self.carttrans = rendering.Transform()

cart.add_attr(self.carttrans)

self.viewer.add_geom(cart)

l, r, t, b = -polewidth/2, polewidth/2, polelen-polewidth/2, -polewidth/2

pole = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

pole.set_color(.8, .6, .4)

self.poletrans = rendering.Transform(translation=(0, axleoffset))

pole.add_attr(self.poletrans)

pole.add_attr(self.carttrans)

self.viewer.add_geom(pole)

self.axle = rendering.make_circle(polewidth/2)

self.axle.add_attr(self.poletrans)

self.axle.add_attr(self.carttrans)

self.axle.set_color(.5, .5, .8)

self.viewer.add_geom(self.axle)

self.track = rendering.Line((0, carty), (screen_width, carty))

self.track.set_color(0, 0, 0)

self.viewer.add_geom(self.track)

self._pole_geom = pole

if self.state is None:

return None

# Edit the pole polygon vertex

pole = self._pole_geom

l, r, t, b = -polewidth/2, polewidth/2, polelen-polewidth/2, -polewidth/2

pole.v = [(l, b), (l, t), (r, t), (r, b)]

x = self.state

cartx = x[0]*scale+screen_width/2.0 # MIDDLE OF CART

self.carttrans.set_translation(cartx, carty)

self.poletrans.set_rotation(-x[2])

return self.viewer.render(return_rgb_array=mode == 'rgb_array')

开发者ID:natolambert,项目名称:dynamicslearn,代码行数:55,

示例14: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode="human"):

screen_width = 600

screen_height = 400

world_width = self.x_threshold * 2

scale = screen_width / world_width

carty = 100 # TOP OF CART

polewidth = 10.0

polelen = scale * 1.0

cartwidth = 50.0

cartheight = 30.0

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

l, r, t, b = (-cartwidth / 2, cartwidth / 2, cartheight / 2,

-cartheight / 2)

axleoffset = cartheight / 4.0

cart = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

self.carttrans = rendering.Transform()

cart.add_attr(self.carttrans)

self.viewer.add_geom(cart)

l, r, t, b = (-polewidth / 2, polewidth / 2,

polelen - polewidth / 2, -polewidth / 2)

pole = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

pole.set_color(.8, .6, .4)

self.poletrans = rendering.Transform(translation=(0, axleoffset))

pole.add_attr(self.poletrans)

pole.add_attr(self.carttrans)

self.viewer.add_geom(pole)

self.axle = rendering.make_circle(polewidth / 2)

self.axle.add_attr(self.poletrans)

self.axle.add_attr(self.carttrans)

self.axle.set_color(.5, .5, .8)

self.viewer.add_geom(self.axle)

self.track = rendering.Line((0, carty), (screen_width, carty))

self.track.set_color(0, 0, 0)

self.viewer.add_geom(self.track)

if self.state is None:

return None

x = self.state

cartx = x[0] * scale + screen_width / 2.0 # MIDDLE OF CART

self.carttrans.set_translation(cartx, carty)

self.poletrans.set_rotation(-x[2])

return self.viewer.render(return_rgb_array=mode == "rgb_array")

开发者ID:ray-project,项目名称:ray,代码行数:50,

示例15: display

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def display(self, mode='human'):

screen_width = 600

screen_height = 400

world_width = self.max_position - self.min_position

scale = screen_width / world_width

carwidth = 40

carheight = 20

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

xs = np.linspace(self.min_position, self.max_position, 100)

ys = self._height(xs)

xys = list(zip((xs - self.min_position) * scale, ys * scale))

self.track = rendering.make_polyline(xys)

self.track.set_linewidth(4)

self.viewer.add_geom(self.track)

clearance = 10

l, r, t, b = -carwidth / 2, carwidth / 2, carheight, 0

car = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

car.add_attr(rendering.Transform(translation=(0, clearance)))

self.cartrans = rendering.Transform()

car.add_attr(self.cartrans)

self.viewer.add_geom(car)

frontwheel = rendering.make_circle(carheight / 2.5)

frontwheel.set_color(.5, .5, .5)

frontwheel.add_attr(rendering.Transform(translation=(carwidth / 4, clearance)))

frontwheel.add_attr(self.cartrans)

self.viewer.add_geom(frontwheel)

backwheel = rendering.make_circle(carheight / 2.5)

backwheel.add_attr(rendering.Transform(translation=(-carwidth / 4, clearance)))

backwheel.add_attr(self.cartrans)

backwheel.set_color(.5, .5, .5)

self.viewer.add_geom(backwheel)

flagx = (self.goal_position - self.min_position) * scale

flagy1 = self._height(self.goal_position) * scale

flagy2 = flagy1 + 50

flagpole = rendering.Line((flagx, flagy1), (flagx, flagy2))

self.viewer.add_geom(flagpole)

flag = rendering.FilledPolygon([(flagx, flagy2), (flagx, flagy2 - 10), (flagx + 25, flagy2 - 5)])

flag.set_color(.8, .8, 0)

self.viewer.add_geom(flag)

pos = self.state[0]

self.cartrans.set_translation((pos - self.min_position) * scale, self._height(pos) * scale)

self.cartrans.set_rotation(math.cos(3 * pos))

return self.viewer.render(return_rgb_array=mode == 'rgb_array')

开发者ID:shagunsodhani,项目名称:memory-augmented-self-play,代码行数:54,

示例16: display

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def display(self, mode='human'):

screen_width = 600

screen_height = 400

world_width = self.x_threshold * 2

scale = screen_width / world_width

carty = 100 # TOP OF CART

polewidth = 10.0

polelen = scale * 1.0

cartwidth = 50.0

cartheight = 30.0

if self.viewer is None:

from gym.envs.classic_control import rendering

self.viewer = rendering.Viewer(screen_width, screen_height)

l, r, t, b = -cartwidth / 2, cartwidth / 2, cartheight / 2, -cartheight / 2

axleoffset = cartheight / 4.0

cart = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

self.carttrans = rendering.Transform()

cart.add_attr(self.carttrans)

self.viewer.add_geom(cart)

l, r, t, b = -polewidth / 2, polewidth / 2, polelen - polewidth / 2, -polewidth / 2

pole = rendering.FilledPolygon([(l, b), (l, t), (r, t), (r, b)])

pole.set_color(.8, .6, .4)

self.poletrans = rendering.Transform(translation=(0, axleoffset))

pole.add_attr(self.poletrans)

pole.add_attr(self.carttrans)

self.viewer.add_geom(pole)

self.axle = rendering.make_circle(polewidth / 2)

self.axle.add_attr(self.poletrans)

self.axle.add_attr(self.carttrans)

self.axle.set_color(.5, .5, .8)

self.viewer.add_geom(self.axle)

self.track = rendering.Line((0, carty), (screen_width, carty))

self.track.set_color(0, 0, 0)

self.viewer.add_geom(self.track)

if self.state is None: return None

x = self.state

cartx = x[0] * scale + screen_width / 2.0 # MIDDLE OF CART

self.carttrans.set_translation(cartx, carty)

self.poletrans.set_rotation(-x[2])

return self.viewer.render(return_rgb_array=mode == 'rgb_array')

开发者ID:shagunsodhani,项目名称:memory-augmented-self-play,代码行数:47,

示例17: render

​点赞 4

# 需要导入模块: from gym.envs.classic_control import rendering [as 别名]

# 或者: from gym.envs.classic_control.rendering import Transform [as 别名]

def render(self, mode='human'):

#self.scroll = 1

from gym.envs.classic_control import rendering

if self.viewer is None:

self.viewer = rendering.Viewer(self.VIEWPORT_W, self.VIEWPORT_H)

self.viewer.set_bounds(self.scroll, self.VIEWPORT_W/self.SCALE + self.scroll, 0, self.VIEWPORT_H/self.SCALE)

self.viewer.draw_polygon( [

(self.scroll, 0),

(self.scroll+self.VIEWPORT_W/self.SCALE, 0),

(self.scroll+self.VIEWPORT_W/self.SCALE, self.VIEWPORT_H/self.SCALE),

(self.scroll, self.VIEWPORT_H/self.SCALE),

], color=(0.9, 0.9, 1.0) )

for poly,x1,x2 in self.cloud_poly:

if x2 < self.scroll/2: continue

if x1 > self.scroll/2 + self.VIEWPORT_W/self.SCALE: continue

self.viewer.draw_polygon( [(p[0]+self.scroll/2, p[1]) for p in poly], color=(1,1,1))

for poly, color in self.terrain_poly:

if poly[1][0] < self.scroll: continue

if poly[0][0] > self.scroll + self.VIEWPORT_W/self.SCALE: continue

self.viewer.draw_polygon(poly, color=color)

for i in range(len(self.lidar)):

l = self.lidar[i]

self.viewer.draw_polyline( [l.p1, l.p2], color=(1,0,0), linewidth=1 )

for obj in self.drawlist:

for f in obj.fixtures:

trans = f.body.transform

if type(f.shape) is circleShape:

t = rendering.Transform(translation=trans*f.shape.pos)

self.viewer.draw_circle(f.shape.radius, 30, color=obj.color1).add_attr(t)

self.viewer.draw_circle(f.shape.radius, 30, color=obj.color2, filled=False, linewidth=2).add_attr(t)

else:

path = [trans*v for v in f.shape.vertices]

self.viewer.draw_polygon(path, color=obj.color1)

path.append(path[0])

self.viewer.draw_polyline(path, color=obj.color2, linewidth=2)

flagy1 = self.TERRAIN_HEIGHT

flagy2 = flagy1 + 50/self.SCALE

x = self.TERRAIN_STEP*3

self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(0,0,0), linewidth=2 )

f = [(x, flagy2), (x, flagy2-10/self.SCALE), (x+25/self.SCALE, flagy2-5/self.SCALE)]

self.viewer.draw_polygon(f, color=(0.9,0.2,0) )

self.viewer.draw_polyline(f + [f[0]], color=(0,0,0), linewidth=2 )

return self.viewer.render(return_rgb_array = mode=='rgb_array')

开发者ID:flowersteam,项目名称:teachDeepRL,代码行数:49,

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

python中transform_Python rendering.Transform方法代码示例相关推荐

  1. python中callable_Python abc.Callable方法代码示例

    本文整理汇总了Python中collections.abc.Callable方法的典型用法代码示例.如果您正苦于以下问题:Python abc.Callable方法的具体用法?Python abc.C ...

  2. python中shelf_Python cmds.shelfLayout方法代码示例

    本文整理汇总了Python中maya.cmds.shelfLayout方法的典型用法代码示例.如果您正苦于以下问题:Python cmds.shelfLayout方法的具体用法?Python cmds ...

  3. python中summary_Python summary_pb2.Summary方法代码示例

    本文整理汇总了Python中tensorflow.core.framework.summary_pb2.Summary方法的典型用法代码示例.如果您正苦于以下问题:Python summary_pb2 ...

  4. python中weekday_Python calendar.weekday方法代码示例

    本文整理汇总了Python中calendar.weekday方法的典型用法代码示例.如果您正苦于以下问题:Python calendar.weekday方法的具体用法?Python calendar. ...

  5. python中close_Python pool.close方法代码示例

    本文整理汇总了Python中multiprocessing.pool.close方法的典型用法代码示例.如果您正苦于以下问题:Python pool.close方法的具体用法?Python pool. ...

  6. python中permute_Python layers.Permute方法代码示例

    本文整理汇总了Python中keras.layers.Permute方法的典型用法代码示例.如果您正苦于以下问题:Python layers.Permute方法的具体用法?Python layers. ...

  7. python中rcparams_Python pylab.rcParams方法代码示例

    # 需要导入模块: from matplotlib import pylab [as 别名] # 或者: from matplotlib.pylab import rcParams [as 别名] d ...

  8. python中opener_Python request.build_opener方法代码示例

    # 需要导入模块: from six.moves.urllib import request [as 别名] # 或者: from six.moves.urllib.request import bu ...

  9. python args keargs_Python metrics.silhouette_score方法代码示例

    本文整理汇总了Python中sklearn.metrics.silhouette_score方法的典型用法代码示例.如果您正苦于以下问题:Python metrics.silhouette_score ...

  10. python socket send_Python socket.send方法代码示例

    本文整理汇总了Python中socket.send方法的典型用法代码示例.如果您正苦于以下问题:Python socket.send方法的具体用法?Python socket.send怎么用?Pyth ...

最新文章

  1. python在print()中使用format的时候前面一定要有花括号{},否则值打印不上去
  2. java 静态方法覆盖_Java中方法的覆盖和静态方法的隐藏
  3. matplotlib 子图超过4个_Matplotlib从入门到精通
  4. html分块时边距的设置,html – 文本节点后第一个块的边距(垂直空间)?
  5. Process finished with exit code 139(interrupted by signal 11):SIGSEGV
  6. 云享专家倪升武:微服务架构盛行的时代,你需要了解点 Spring Boot
  7. 虚树+树型DP SDOI2011消耗战
  8. 华为自研操作系统已注册;大疆回应信息泄露;2019 新款 iPhone 曝光 | 极客头条...
  9. PowerShell在SharePoint 2010自动化部署中的应用(1)--代码获取
  10. Fast DDS Fast DDS主要包括以下内容DDS API、Fast DDS-Gen、RTPS Wire Protocol
  11. matlab 风机 功率曲线,风力发电机功率曲线统计MATLAB代码实现.docx
  12. 武大女硕士面试被拒,改简历冒充本科生找工作的感想(原创)
  13. Google maps及51ditu的图片切割及存储方法2
  14. Cryengine5.3
  15. MVC view页面需要多个model,复杂网页的处理
  16. 2021-07-26记录字节“懂车帝”重庆岗一面(绝对凉)
  17. Python 第八篇:异常处理、Socket语法、SocketServer实现多并发、进程和线程、线程锁、GIL、Event、信号量、进程间通讯...
  18. 深入浅出—Redux-saga源码
  19. SQL server删除表信息代码
  20. 打靶法c语言程序,打靶法求解一维Schrodinger方程程序示例

热门文章

  1. 汽车年检,备忘一下,估计2年以后才有用了
  2. 机器学习实战(1)——概览
  3. latex 参考文献显示问号_回「LaTeX 的罪与罚」
  4. 安装postgresql出现问题合集(Fatal errorThe pgAdmin 4 server could not be contacted:
  5. 【CCPC】2022年绵阳站部分题解(ACGM)
  6. antdownload百度网盘下载器、下载不限速
  7. 百度脑图(kityminder)优化
  8. LeetCode-Python-274. H指数
  9. 最新的软著自助免费申请教程!
  10. GrabCut提取图像前景色MATLAB代码实现(含解释说明)