Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def planeFromPoints(p1, p2, p3, vm1=None, vm2=None, center=True, settings={}):
v1 = cpv.sub(p1, p2)
v2 = cpv.sub(p3, p2)
normal = cpv.cross_product(v1, v2)
if 'translate' in settings:
vtran = cpv.scale(cpv.normalize(normal), settings['translate'])
p1_t = cpv.sub(p1, vtran)
p2_t = cpv.sub(p2, vtran)
p3_t = cpv.sub(p3, vtran)
print("New coordinates are:")
print_info("New", p1_t, p2_t, p3_t)
print("New coordinates are for normalized plane:")
v1_t = cpv.normalize(cpv.sub(p1_t, p2_t))
v2_t = cpv.normalize(cpv.sub(p3_t, p2_t))
normal_t = cpv.normalize(cpv.cross_product(v1_t, v2_t))
v2_t = cpv.normalize(cpv.cross_product(normal_t, v1_t))
p1_t2 = cpv.add(v1_t, p2_t)
p3_t2 = cpv.add(v2_t, p2_t)
print_info("Newnormal", p1_t2, p2_t, p3_t2)
if vm1!=None:
v1 = cpv.scale(cpv.normalize(v1), vm1)
if vm2!=None:
v2 = cpv.scale(cpv.normalize(v2), vm2)
centrum = p2
if center:
corner1 = cpv.add(cpv.add(centrum, v1), v2)
corner2 = cpv.sub(cpv.add(centrum, v1), v2)
corner3 = cpv.sub(cpv.sub(centrum, v1), v2)
def planeFromPoints(p1, p2, p3, vm1=None, vm2=None, center=True, settings={}):
v1 = cpv.sub(p1, p2)
v2 = cpv.sub(p3, p2)
normal = cpv.cross_product(v1, v2)
if 'translate' in settings:
vtran = cpv.scale(cpv.normalize(normal), settings['translate'])
p1_t = cpv.sub(p1, vtran)
p2_t = cpv.sub(p2, vtran)
p3_t = cpv.sub(p3, vtran)
print("New coordinates are:")
print_info("New", p1_t, p2_t, p3_t)
print("New coordinates are for normalized plane:")
v1_t = cpv.normalize(cpv.sub(p1_t, p2_t))
v2_t = cpv.normalize(cpv.sub(p3_t, p2_t))
normal_t = cpv.normalize(cpv.cross_product(v1_t, v2_t))
v2_t = cpv.normalize(cpv.cross_product(normal_t, v1_t))
p1_t2 = cpv.add(v1_t, p2_t)
p3_t2 = cpv.add(v2_t, p2_t)
print_info("Newnormal", p1_t2, p2_t, p3_t2)
if vm1!=None:
v1 = cpv.scale(cpv.normalize(v1), vm1)
if vm2!=None:
v2 = cpv.scale(cpv.normalize(v2), vm2)
centrum = p2
if center:
corner1 = cpv.add(cpv.add(centrum, v1), v2)
corner2 = cpv.sub(cpv.add(centrum, v1), v2)
corner3 = cpv.sub(cpv.sub(centrum, v1), v2)
def planeFromPoints(point1, point2, point3, facetSize):
v1 = cpv.normalize(cpv.sub(point2, point1))
v2 = cpv.normalize(cpv.sub(point3, point1))
normal = cpv.cross_product(v1, v2)
v2 = cpv.cross_product(normal, v1)
x = cpv.scale(v1, facetSize)
y = cpv.scale(v2, facetSize)
center = point2
corner1 = cpv.add(cpv.add(center, x), y)
corner2 = cpv.sub(cpv.add(center, x), y)
corner3 = cpv.sub(cpv.sub(center, x), y)
corner4 = cpv.add(cpv.sub(center, x), y)
return plane(corner1, corner2, corner3, corner4, normal)
helix_orientation
'''
visualize, quiet = int(visualize), int(quiet)
stored.x = dict()
cmd.iterate_state(STATE, '(%s) and name N+C' % (selection),
'stored.x.setdefault(chain + resi, dict())[name] = x,y,z')
vec = cpv.get_null()
count = 0
for x in stored.x.values():
if 'C' in x and 'N' in x:
vec = cpv.add(vec, cpv.sub(x['C'], x['N']))
count += 1
if count == 0:
print('warning: count == 0')
raise CmdException
vec = cpv.normalize(vec)
return _common_orientation(selection, vec, visualize, quiet)
p3_t = cpv.sub(p3, vtran)
print("New coordinates are:")
print_info("New", p1_t, p2_t, p3_t)
print("New coordinates are for normalized plane:")
v1_t = cpv.normalize(cpv.sub(p1_t, p2_t))
v2_t = cpv.normalize(cpv.sub(p3_t, p2_t))
normal_t = cpv.normalize(cpv.cross_product(v1_t, v2_t))
v2_t = cpv.normalize(cpv.cross_product(normal_t, v1_t))
p1_t2 = cpv.add(v1_t, p2_t)
p3_t2 = cpv.add(v2_t, p2_t)
print_info("Newnormal", p1_t2, p2_t, p3_t2)
if vm1!=None:
v1 = cpv.scale(cpv.normalize(v1), vm1)
if vm2!=None:
v2 = cpv.scale(cpv.normalize(v2), vm2)
centrum = p2
if center:
corner1 = cpv.add(cpv.add(centrum, v1), v2)
corner2 = cpv.sub(cpv.add(centrum, v1), v2)
corner3 = cpv.sub(cpv.sub(centrum, v1), v2)
corner4 = cpv.add(cpv.sub(centrum, v1), v2)
else:
corner1 = cpv.add(cpv.add(centrum, v1), v2)
corner2 = cpv.add(centrum, v1)
corner3 = centrum
corner4 = cpv.add(centrum, v2)
return plane(corner1, corner2, corner3, corner4, normal, settings)
stored.x = dict()
cmd.iterate_state(-1, '(%s) and name N+O' % (selection),
'stored.x.setdefault(resv, dict())[name] = x,y,z')
vec_list = []
for resi in stored.x:
resi_other = resi + 4
if 'O' in stored.x[resi] and resi_other in stored.x:
if 'N' in stored.x[resi_other]:
vec = cpv.sub(stored.x[resi_other]['N'], stored.x[resi]['O'])
if cpv.length(vec) < cutoff:
vec_list.append(vec)
if len(vec_list) == 0:
print 'warning: count == 0'
raise CmdException
vec = _vec_sum(vec_list)
vec = cpv.normalize(vec)
return _common_orientation(selection, vec, visualize, quiet)