Change backbone position by angle
| Case number: | 845813-988420 |
| Topic: | Game: Tools |
| Opened by: | Crashguard303 |
| Status: | Closed |
| Assigned: | Seth Cooper |
| Priority: | 3 |
| Type: | Suggestion |
| 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
set_segment_angle(index,0,0)
end
You could also use this to flatten out areas.
regards,
Alex
my "idealize button" :D
This function could unify aligning and rebuild.
Going from segment to segment then is like riding on a roller coaster, you just have to find the perfect angles.
It would work like this:
It's a similar principe like Tlaloc described to apply bands to "open air" by script in Wiki.
In this diagram, white arrows are segment directions, blue arrows are spatial axes.
Numbers are segment indices.
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.
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.
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.
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.
| Status: Open » Closed |
This topic is also discussed in another thread :
http://fold.it/portal/node/992730
So I will close it here.
"Idealize structure" is mentioned here:
http://fold.it/portal/node/988104



Creating helices would also be simple:
for index=startindex,endindex do
set_segment_angle(index,pi()/2,pi()/4)
end