Answer the question
In order to leave comments, you need to log in
Which webcam to choose for recording lectures?
The recording will be in HD, on a Mac Air 2010 laptop, Sony Vegas software.
Shooting only indoors, the width of the shooting area is 3-4 meters, i.e. about 3-5 meters between the camera and the object.
The microphone is most likely a separate external one.
There are no outlets, so a laptop and a webcam, the camera does not have enough battery for 2-3 hours of shooting. Natural lighting (panoramic windows).
A cursory search on the Internet gave two leaders: Logitech 9000 pro (but the sound is mono) and Logitech C910 (but 15 fps instead of the declared 30 and does not always focus beyond 2 meters).
Answer the question
In order to leave comments, you need to log in
You cannot find an error because the structure and logic of the program is not built. Here is a simple solution "on the forehead" using a minimum of funds. The class allows you to get rid of the clutter of formulas that is difficult to perceive:
class Match:
@classmethod
def from_coords(cls, coords):
yield cls(coords[0:2])
yield cls(coords[2:4])
yield cls(coords[4:6])
def __init__(self, endpoints):
self.x1, self.x2 = sorted(endpoints)
def __invert__(self):
return self.x2 - self.x1
def __xor__(m1, m2):
return max(m1.x2, m2.x2) - min(m1.x1, m2.x1) - ~m1 - ~m2
def __and__(m1, m2):
return m1 ^ m2 <= 0
def solve(*coords):
m1, m2, m3 = Match.from_coords(coords)
if (m1 & m2) + (m1 & m3) + (m2 & m3) >= 2:
return 0
if ~m1 >= m2 ^ m3:
return 1
if ~m2 >= m1 ^ m3:
return 2
if ~m3 >= m1 ^ m2:
return 3
return -1
if __name__ == '__main__':
assert solve(0, 2, 4, 5, 3, 6) == 1
assert solve(1, 2, 9, 10, 12, 20) == 3
assert solve(1, 5, 0, 1, 4, 8) == 0
assert solve(1, 3, 3, 4, 5, 6) == 1
assert solve(0, 1, 3, 5, 9, 10) == -1
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question