Positionen -> Vektor#

class miniworlds.positions.vector.Vector(x, y)[Quellcode]#

Represents a 2D vector for use in movement, geometry, and physics.

Supports arithmetic with both other Vectors and 2D tuples.

Beispiele

>>> v = Vector(1, 2)
>>> v2 = Vector(3, 4)
>>> v + v2
Vector(4.0, 6.0)
>>> v + (1, 1)
Vector(2.0, 3.0)
>>> (1, 1) + v
Vector(2.0, 3.0)

Öffentliche Datenattribute:

x

y

:py:obj:Winkel <miniworlds.positions.vector.Vector.angle>\

Öffentliche Methoden:

__init__(x, y)

__getitem__(index)

to_position()

from_position(position)

from_positions(p1, p2)

:py:obj:from_direction <miniworlds.positions.vector.Vector.from_direction>\ (Richtung)

Erstellt einen Vektor aus der Richtung der Miniwelten.

from_actors(t1, t2)

Erstellen Sie einen Vektor aus zwei Akteuren.

from_actor_and_position(t1, pos)

Erstellen Sie einen Vektor aus Akteur und Position

from_actor_direction(actor)

Erstellt einen Vektor aus der Richtung des Akteurs

rotate(theta)

to_direction()

normalize()

:py:obj:Länge <miniworlds.positions.vector.Vector.length>\ ()

limit(max_length)

multiply(other)

add_to_position(position)

get_normal()

dot(other)

distance_to(other)

Calculates Euclidean distance to another vector or position.

angle_to(other)

Computes the angle between this vector and another in degrees.

__add__(other)

__radd__(other)

:py:obj:__sub__ <miniworlds.positions.vector.Vector.__sub__>\ (andere)

__rsub__(other)

:py:obj:__mul__ <miniworlds.positions.vector.Vector.__mul__>\ (andere)

__rmul__(other)

__neg__()

__eq__(other)

Return self==value.

__str__()

Gib str(self) zurück.

__repr__()

Return repr(self).

Private Methods:

_to_vector(value)


add_to_position(position)[Quellcode]#
Rückgabetyp:

Tuple[float, float]

property angle: float#
angle_to(other)[Quellcode]#

Computes the angle between this vector and another in degrees.

Rückgabetyp:

float

Parameter:

other – A Vector or tuple.

Rückgabe:

Angle in degrees between 0 and 180.

Beispiele

>>> Vector(1, 0).angle_to((0, 1))
90.0
distance_to(other)[Quellcode]#

Calculates Euclidean distance to another vector or position.

Rückgabetyp:

float

Parameter:

other – A Vector or tuple.

Rückgabe:

The distance as float.

Beispiele

>>> Vector(0, 0).distance_to((3, 4))
5.0
dot(other)[Quellcode]#
Rückgabetyp:

float

classmethod from_actor_and_position(t1, pos)[Quellcode]#

Erstellen Sie einen Vektor aus Akteur und Position

Der Vektor wird erzeugt aus: actor2.center - position

Rückgabetyp:

Vector

classmethod from_actor_direction(actor)[Quellcode]#

Erstellt einen Vektor aus der Richtung des Akteurs

Examples: :rtype: Vector

Erstellt ein rotierendes Rechteck

from miniworlds import *

world = World()

player = Rectangle((200,200),40, 40)
player.speed = 1
player.direction = 80

@player.register
def act(self):
    v1 = Vector.from_actor_direction(self)
    v1.rotate(-1)
    self.direction = v1

world.run()
classmethod from_actors(t1, t2)[Quellcode]#

Erstellen Sie einen Vektor aus zwei Akteuren.

Der Vektor wird erzeugt aus: actor2.center - actor1.center

Rückgabetyp:

Vector

classmethod from_direction(direction)[Quellcode]#

Erstellt einen Vektor aus der Richtung der Miniwelten.

Rückgabetyp:

Vector

classmethod from_position(position)[Quellcode]#
Rückgabetyp:

Vector

classmethod from_positions(p1, p2)[Quellcode]#
Rückgabetyp:

Vector

get_normal()[Quellcode]#
Rückgabetyp:

Vector

length()[Quellcode]#
Rückgabetyp:

float

limit(max_length)[Quellcode]#
Rückgabetyp:

Vector

multiply(other)[Quellcode]#
Rückgabetyp:

Union[Vector, float]

normalize()[Quellcode]#
Rückgabetyp:

Vector

rotate(theta)[Quellcode]#
Rückgabetyp:

Vector

to_direction()[Quellcode]#
Rückgabetyp:

float

to_position()[Quellcode]#
Rückgabetyp:

Tuple[float, float]

property x: float#
property y: float#