Change backbone position by angle

Case number:845813-988420
Topic:Game: Tools
Opened by:Crashguard303
Opened on:Tuesday, September 7, 2010 - 17:37
Last modified:Tuesday, June 5, 2012 - 09:51

If you look at the segments, you will notice that they always have the same spatial distance to those with next or previous index.

According to each segment, you can give two spatial angles (x- and y-rotation) to get the spatial position of the next segment.
On blank (or denovo) puzzles (like in some contests), the angles of each segment are (0,0)

I thought it would be cool to experiment by changing backbone positions by giving two angles,
maybe with a function like set_segment_angle(index,angle1,angle2).

Doing it this way, you could quickly make a denovo puzzle by:

for index=2,get_segment_count() do
You could also use this to flatten out areas.


(Tue, 09/07/2010 - 17:37  |  13 comments)

Joined: 09/18/2009
Groups: SETI.Germany

Creating helices would also be simple:

for index=startindex,endindex do

Joined: 06/17/2010

my "idealize button" :D

Joined: 09/18/2009
Groups: SETI.Germany

This function could unify aligning and rebuild.

Joined: 09/18/2009
Groups: SETI.Germany

Going from segment to segment then is like riding on a roller coaster, you just have to find the perfect angles.

Joined: 09/18/2009
Groups: SETI.Germany

It would work like this:

Joined: 09/18/2009
Groups: SETI.Germany

It's a similar principe like Tlaloc described to apply bands to "open air" by script in Wiki.

Joined: 09/18/2009
Groups: SETI.Germany

In this diagram, white arrows are segment directions, blue arrows are spatial axes.
Numbers are segment indices.

Joined: 09/18/2009
Groups: SETI.Germany

If angles and sidechain snap positions would be getable by script, you could create your own puzzle savestates by saving them in a table.

Loading them would just be changing all backbone angles and sidechain snap positions how they have been stored in the table before.

Joined: 09/18/2009
Groups: SETI.Germany

Now I understand why banding adjacent segments is impossible and doesn't make sense:

Imagine your hand is one segment, elbow is seond segment, and shoulder is third.
You can change the distance from hand to shoulder, but not the distance from hand to elbow or elbow to shoulder.
Distance between each segment is always about 3.8 units.

Joined: 09/18/2009
Groups: SETI.Germany

If we could change the spatial angles, rotating the ligand would also be possible.

Let's recapitulate it:
Beeing able to change the relative segment positions (relative to last two segments or spatial zero coordinate point) by two spatial angles, we could:

1.: Make big puzzle changes by changing just two values without bands
2.: Have a fusion of align and rebuild.
3.: Have quasi infinite possibilites of storing a puzzle by table and not quicksaves, by storing all relative angles and ss snap positions and applying them again.
4.: Flatten out areas (or the whole puzzle =denovo)quicky
5.: Generate helices quickly
6.: Rotate single segments (ligand, too) when using spatial zero coordinate point as orientation.

Joined: 09/22/2011
Groups: None

Yeah, I've been wondering if there was a way to fix up the backbone automatically (i.e. via a script), so that you can try to maximise the backbone points out of each segment in the beginning, before working out a natural structure (or "native"), to then compress. This manual method for adjusting each segment's angle is on the right track for this.

Joined: 09/18/2009
Groups: SETI.Germany
Status: Open » Closed

This topic is also discussed in another thread :
So I will close it here.

Joined: 09/18/2009
Groups: SETI.Germany

"Idealize structure" is mentioned here:


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons