You are on page 1of 7

Jensen Ackles Ass Equation 2.

0
By dead-justice
Abstract
I propose that a more accurate ass equation is y=-3.4088928e-019*x^9+6.9052649e-016*x^85.7819655e-013*x^7+2.5915691e-010*x^6-6.7602807e-008*x^5+1.0534899e-005*x^4-9.7423168e004*x^3+4.9830296e-002*x^2-1.0748233*x+2.0046681e+002 (for 0<x<472). While an ugly equation, it works much better than the original Jensen Ackles Ass equation.

Definitions
The original Jensen Ackles Ass Equation: y = -(sin(x^(1.7/6)+4)+(1/x))+10 (for 1<x<12) [found here] Most common Jensen Ackles Ass Equation picture:

Jensen Ackles Ass Equation 2.0


I decided to try my hand at deriving a Jensen Ackles Ass equation because the original equation uses a sine function, where in data analysis a polynomial function is typically used in non-repeating situations such as this one. Upon further investigation, I found that I am unable to generate a graph of the original equation (in radians or degrees) that remotely resembles the desired shape. My failure is shown below.

Figure 1 - sin(degrees) in pink, sin(radians) in yellow

I dont mean to belittle LiveJournal user Pottheads work on the original equation without it and their work I may never have begun this crazy quest I simply mean to emphasize the need for a new/better equation. As far as I can tell, the red line in the most common Jensen Ackles Ass Equaiton picture was drawn on by hand, because no equation Ive gotten near can match it exactly. With that in mind, I first used MATLAB and function getpoints.m (see appendix) to record the multiple data points along Jensens back/ass as shown in figure 2.

Figure 2 - Data points represented by blue "x"s

I then tried to fit the data to a 4th order polynomial because it has 3 obvious points of inflection. This result was acceptable, but the dip for the lower back was woefully misplaced. The next best order of polynomial is 6th, but that was still not ideal. A 9th order polynomial yields the best results. The 4th and 9th order polynomials can be seen in figure 3. All equations were acquired using appropriate variations of find_line.m.

Figure 3 - Comparison between 4th order and 9th order polynomial functions

The equation returned by find_line.m is as follows: y=-3.4088928e-019*x^9+6.9052649e-016*x^85.7819655e-013*x^7+2.5915691e-010*x^6-6.7602807e-008*x^5+1.0534899e-005*x^4-9.7423168e004*x^3+4.9830296e-002*x^2-1.0748233*x+2.0046681e+002 (for 0<x<472). Now, I am aware that I should have stuck with a 4th order polynomial because upper back/lower back/ass curve contains 3 points of inflection, but I decided that my main goal was to draw pretty pictures and not to be a perfect data analyst. The lovely 9th order curve can be seen in figure 4. Further proof that this is a robust equation can be seen in figure 5 where it is accurately rendered by my graphing calculator.

Figure 4 - A pretty picture

Figure 5 - The booty

Acknowledgements
Potthead for their initial contribution to the mathematical study of Jensen Ackles. Tommy for his advice on data analysis and not thinking Im completely insane. Jackie for providing peer review and not thinking Im a crazy person.

Appendix
%Programme Name: getpoints.m %Credit: dead-justice figure clf; %Clears figure % replace with an image of your choice img = imread('300px-Bootyyy.jpg');

% Get x and y values from excel reading function [values text raw] = xlsread('points.xlsx'); %Reads Excel file x = values(:,1); y = values(:,2); mapit(); [x,y] = ginput(1); %Records coodinates of user mouse click while x >= 0 && x <=472 && y >=0 && y <=292 [values text raw] = xlsread('points.xlsx'); %Reads Excel file antelope = {x, y}; %Save all aqcuired from user as a row vector caddy = [raw; antelope]; %Add it to the end of the raw Excel data so it doesn't write over stuff I want to keep xlswrite('points.xlsx',caddy); %Write everything to the Excel document mapit(x,y); %Refresh map so user-inputed point appears [x,y] = ginput(1); %Records coodinates of user mouse click end

function [] = mapit(x,y) %Programme Name: mapit.m %Credit: dead-justice Credit: Image code from http://www.peteryu.ca/tutorials/matlab/plot_over_image_background img = imread('300px-Bootyyy.jpg'); % set % The min_x max_x min_y max_y the range of the axes image will be stretched to this. = 0; = 472; = 0; = 292;

% Get x and y values from excel reading function [values text raw] = xlsread('points.xlsx'); %Reads Excel file x = values(:,1); y = values(:,2); % Flip the image upside down before showing it imagesc([min_x max_x], [min_y max_y], flipdim(img,1)); hold on; plot(x,y,'b x','linewidth',1.5); axis off % set the y-axis back to normal.

set(gca,'ydir','normal'); end

%Programme Name: find_line.m %Credit: dead-justice clear all clc; [values text raw] = xlsread('points.xlsx'); %Reads Excel file x = values(:,1); y = values(:,2); p = polyfit(x,y,9); disp(p); p1 = p(1); p2 = p(2); p3 = p(3); p4 = p(4); p5 = p(5); p6 = p(6); p7 = p(7); p8 = p(8); p9 = p(9); p10 = p(10) h = [0:.001:472]; i = p1*h.^9+p2*h.^8+p3*h.^7+p4*h.^6+p5*h.^5+p6*h.^4+p7*h.^3+p8*h.^2+p9*h+p10; % plot(h,i); % % axis([0,472,0,186]); Crowley = figure('Position', [100, 100, 472, 292]); % replace with an image of your choice img = imread('300px-Bootyyy.jpg'); % set % The min_x max_x min_y max_y the range of the axes image will be stretched to this. = 0; = 472; = 0; = 292;

% Flip the image upside down before showing it imagesc([min_x max_x], [min_y max_y], flipdim(img,1)); hold on; plot(h,i,'y','linewidth',1.5);

axis off % set the y-axis back to normal. set(gca,'ydir','normal'); save -ASCII A2.dat p report = 'Y = %4.10f*x^9+%4.10f*x^8+%4.10f*x^7+%4.10f*x^6+%4.10f*x^5+%4.10f*x^4+%4.10f*x^ 3+%4.10f*x^2+%4.10f*x+%4.10f'; fprintf(report,p1,p2,p3,p4,p5,p6,p7,p8,p9);

You might also like