Startup
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import random
|
||||
|
||||
|
||||
class SimulatedDiode(ReadonlyRegisterBase):
|
||||
|
||||
def __init__(self, name):
|
||||
ReadonlyRegisterBase.__init__(self, name)
|
||||
self.x=0.0
|
||||
self.y=0.0
|
||||
self.radius=0.125
|
||||
self.amplitude = 600.0
|
||||
self.offset=200.0
|
||||
self.border = 0.025
|
||||
|
||||
def doRead(self):
|
||||
x,y = scx.position, scy.position
|
||||
noise = random.random() * self.amplitude/100.0
|
||||
d = math.hypot(x-self.x, y-self.y)
|
||||
#print d
|
||||
if d>self.radius:
|
||||
return self.offset + noise
|
||||
elif d< (self.radius - self.border ):
|
||||
return self.offset + noise + self.amplitude
|
||||
else :
|
||||
return self.offset + noise + self.amplitude *(self.radius - d)/self.border
|
||||
|
||||
def set_center(self, x, y):
|
||||
self.x, self.y = x, y
|
||||
Reference in New Issue
Block a user