## I want to vary how much of a plane is filled with the angle of the plane with the horizontal, any help?

### Daniel Gray (view profile)

on 4 Jul 2017
Latest activity Edited by Jan

### Jan (view profile)

on 6 Jul 2017
I am running an experiment and currently have a 300x300 zeros matrix and the lower half filled with ones to get a half-plane image. Now I want to 'tilt' this plane with different angles to see how this changes what I am testing. Is there a code I could use to do this?
Any more questions on this (cause I know this could be a bit confusing) please just drop a comment or send me a message.

José-Luis

### José-Luis (view profile)

on 4 Jul 2017
Well, what have you tried so far?
Jan

### Jan (view profile)

on 4 Jul 2017
An angle is not enough for tilting, but you need a center of rotations also: Is it at [150.5, 150.5]?
Daniel Gray

### Daniel Gray (view profile)

on 4 Jul 2017
Yes sorry, because of it being a matrix, we'll just make the centre of rotation [150 150]

on 4 Jul 2017
Edited by Jan

### Jan (view profile)

on 4 Jul 2017

x = 1:300;
y = 1:300;
m = atan(30 * pi / 180); % 30 deg
k = bsxfun(@plus, m * (x - 150), y.' - 150) > 0; % Rotate around [150,150]
imagesc(k);
Since R2016b this is simpler:
k = (m * (x - 150)) + (y.' - 150) > 0;

Show 1 older comment
Jan

### Jan (view profile)

on 5 Jul 2017
Can the readers know, how the angles are defined in your case? The question was "I want to 'tilt' this plane with different angles".
Daniel Gray

### Daniel Gray (view profile)

on 5 Jul 2017
Sorry yes I should have been more clear. I wanted the angle to be defined as between the horizontal across the centre and the new 'tilted plane' about the centre of rotation. If that doesn't make sense I can send you a diagram
Jan

### Jan (view profile)

on 6 Jul 2017
Well, in the code I've posted I used 30 deg as angle. You can replace the angle by a variable:
YourAngle = 17.3; % deg
m = atan(YourAngle * pi / 180); % 30 deg
But if you ran the code with 45 deg, you have done this already. Therefore I do not understand, what the problem is now. What is the difference between the result my code creates and the wanted matrix?