I want to vary how much of a plane is filled with the angle of the plane with the horizontal, any help?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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.
3 Kommentare
Antworten (1)
Jan
am 4 Jul. 2017
Bearbeitet: Jan
am 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;
4 Kommentare
Jan
am 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?
Siehe auch
Kategorien
Mehr zu Denoising and Compression finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!