Image:Trisected perimeter point 3-4-5.svg

From Wikipedia, the free encyclopedia

Trisected_perimeter_point_3-4-5.svg (SVG file, nominally 540 × 421 pixels, file size: 2 KB)

Wikimedia Commons logo This is a file from the Wikimedia Commons. The description on its description page there is shown below.
Commons is a freely licensed media file repository. You can help.
Description

The trisected perimeter point of a 3-4-5 right triangle.

Source

self-made

Date

April 21, 2008

Author

David Eppstein

Permission
(Reusing this image)
Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Afrikaans | Alemannisch | Aragonés | العربية | Asturianu | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Eʋegbe | Ελληνικά | English | Español | Esperanto | Euskara | Estremeñu | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Kurdî / كوردی | Latina | Lietuvių | Latviešu | Magyar | Македонски | Bahasa Melayu | Nederlands | ‪Norsk (bokmål)‬ | ‪Norsk (nynorsk)‬ | 日本語 | Polski | Português | Ripoarisch | Română | Русский | Shqip | Slovenčina | Slovenščina | Српски / Srpski | Svenska | ไทย | Tagalog | Türkçe | Українська | Tiếng Việt | Walon | ‪中文(简体)‬ | ‪中文(繁體)‬ | zh-yue-hant | +/-


[edit] Source code

This diagram was created as a pdf file by the following Python code, then recolored and labeled in Adobe Illustrator and converted to SVG.

from pyx import canvas,path,color
 
def meet(p,q):
    return [p[i-1]*q[i]-q[i-1]*p[i] for i in [2,0,1]]
 
def sign(p,r,q):
    L = meet(p,q)
    return sum(L[i]*r[i] for i in [0,1,2])
 
A = [0,3,1]
B = [0,0,1]
C = [4,0,1]
 
lo = 0
hi = 3
for i in range(40):
    x = (lo + hi) / 2.0
    AP = [4-x,0,1]
    BP = [4-0.8*(4-x),0.6*(4-x),1]
    CP = [0,x,1]
    if sign(meet(A,AP),meet(B,BP),meet(C,CP)) < 0:
        hi = x
    else:
        lo = x
 
c = canvas.canvas()
 
def line(p,q):
    c.stroke(path.line(p[0],p[1],q[0],q[1]),[color.rgb.black])
 
for p,q in [(A,B),(A,C),(B,C),(A,AP),(B,BP),(C,CP)]:
    line(p,q)
 
c.writePDFfile("Trisected perimeter point 3-4-5")

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeDimensionsUserComment
current00:37, 22 April 2008540×421 (2 KB)David Eppstein ({{Information |Description=The trisected perimeter point of a 3-4-5 right triangle. |Source=self-made |Date=April 21, 2008 |Author= David Eppstein |Permission={{PD-self}} |other_versions= }} ==Sou)
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):