Share to: share facebook share twitter share wa share telegram print page

DrGeo

GNU Dr. Geo
Original author(s)Hilaire Fernandes
Initial releaseDecember 31, 1996; 27 years ago (1996-12-31)
Stable release
24.06 / June 11, 2024; 2 months ago (2024-06-11)
Repository
Written inCuis_Smalltalk, Smalltalk
Operating systemLinux, Mac OS X, Windows, Sugar
TypeInteractive geometry software
LicenseGPL
Websitewww.gnu.org/s/dr-geo

GNU Dr. Geo is an interactive geometry software that allows its users to design & manipulate interactive geometric sketches, including dynamic models of Physics.[1] It is free software (source code, translations, icons and installer are released under GNU GPL license), created by Hilaire Fernandes, it is part of the GNU project. It runs over a Morphic graphic system (which means that it runs on Linux, Mac OS, Windows, Android). Dr. Geo was initially developed in C++ with Scheme scripting,[2][3] then in various versions of Smalltalk with Squeak, Etoys_(programming_language)[4] for One Laptop per Child[5] Pharo then Cuis-Smalltalk.

Objects

Dr. Geo manipulates different kinds of objects such as points, lines, circles, vector, values, geometric transformations, scripts.[6]

Points

Dr. Geo has several kinds of points: a free point, which can be moved with the mouse (but may be attached to a curve) and a point given by its coordinates.

Points can also be created as the intersection of 2 curves or as the midpoint of a segment.

Lines

Dr. Geo is equipped with the classic line, ray, segment and vector.

Other curvilinear objects include circles (defined by 2 points, a center and segment or a radius), arcs (defined by three points or center and angle), polygons (regular or not, defined by end points), and loci.

Transformations

Besides the parallel and perpendicular line through a point.

Dr. Geo can apply to a point or a line one of these transformations:

  1. reflexion
  2. symmetry
  3. translation
  4. rotation
  5. homothety

Macro-construction

Dr. Geo comes with macro-construction: a way to teach Dr. Geo new constructions.[7] It allows to add new objects to Dr. Geo: new transformations like circle inversion, tedious constructions involving a lot of intermediate objects or constructions involving script (also named macro-script).

When some objects, called final depend on other objects, called initial, it is possible to create a complex construction deducing the final objects from the user-given initial objects. This is a macro-construction, a graph of interdependent objects.

Programming

Access to user programming is at the essence of Dr. Geo: from the software, the user can directly read, study, modify and redistribute modified version of Dr. Geo. Additionally, scripting embedded in sketch is proposed.

Dr. Geo source code is Smalltalk. It is also the language used for user programming: to extend Dr. Geo with arbitrary computing operations (Smalltalk script) and to define a geometric sketch entirely with programming instructions (Smalltalk sketch).

Dr. Geo is shipped with its source code and the developer tools. Therefore its code can be edited and recompiled from Dr. Geo while it is functioning.[8] This design, inherited from Smalltalk, makes easy to test new ideas and new designs.

Smalltalk script

Curve and tangent
Curve and its tangent computed with Smalltalk scripts

A script is a first class object defined along Dr. Geo code. It comes with zero, one or several arguments, from types selected when defining the script. When an instance of a script is plugged in a canvas, the user first selects its arguments in the canvas with mouse clicks, then the position in the canvas of the script output. The script is updated at each canvas computation. Scripts can be used in cascade, with one as the argument of another one.[9] Script are designed to be used in two different ways:

  1. To output an object (i.e. a numeric value) and to show its result in the canvas. This result can be used when building subsequent objects (geometric or script).
  2. To access objects in the canvas: model (MathItem) or their view (Costume) for arbitrary uses and modifications. For example to modify the color of an object given the result to a computation.
Live script editing

From the script, the arguments model are reached with the messages #arg1, #arg2, etc. The arguments view are reached with the messages #costume1, #costume2, etc.

The computation of the script is done in its #compute method. For example, to calculate the square of a number, la méthode

compute
"returns the square of a number"
^ self arg1 valueItem squared

creates a numeric object, whose value is the square of its first and unique argument of type number object. Whenever the first number is changed, the script returned value changes too.

Smalltalk sketch

Smalltalk sketch editor

Dr. Geo Smalltalk sketches are sketches entirely defined in the Smalltalk language. This is not about constructing a sketch with the Dr. Geo graphical interface, but about describing a sketch with the Smalltalk language. A programming interface with an easy and light syntax is provided.[10]

Smalltalk itself is a high level language, carefully crafted iteratively for about 10 years at Palo Alto Research Center. When a sketch is described with Smalltalk code, all the features of the language are used: object oriented programming, variable, collection, iterator, randomness to get a slightly different sketch at each execution.

A Smalltalk sketch is edited and tested with the Smalltalk sketch editor. Such sketch can be debugged and executed step-by-step. Its code is saved, as any source code, to an external text file encoded with UTF-8, to support native language.


Sierpinski triangle

Here is how to program a Sierpinski triangle recursively. Its red external summit is mobile.

Computed interactive Sierpinski triangle
| triangle c |
c := DrGeoSketch new.
triangle := [:s1 :s2 :s3 :n |
    c segment: s1 to: s2; segment: s2 to: s3; segment: s3 to: s1.
    n > 0 ifTrue: [
        triangle
            value: s1
            value: (c middleOf: s1 and: s2) hide
            value: (c middleOf: s1 and: s3) hide
            value: n-1.
        triangle
            value: (c middleOf: s1 and: s2) hide
            value: s2
            value: (c middleOf: s2 and: s3) hide
            value: n-1.
        triangle
            value: (c middleOf: s1 and: s3) hide
            value: (c middleOf: s2 and: s3) hide
            value: s3
            value: n-1]].
triangle value: 0@3 value:  4@ -3 value: -4@ -3 value: 3.
(c point: 0@3) show

Fibonacci spiral

A Fibonacci spiral programmed[11] with geometric transformations (rotation, translation and homothety). The points a and b of the resulting interactive sketch are mobile.

Computed interactive Fibonacci spiral
|canvas shape alfa fibo a b m s|
canvas := DrGeoSketch new.
alfa := (canvas freeValue: -90 degreesToRadians) hide.
shape := [:c :o :f| | e p |
	e := (canvas rotate: o center: c angle: alfa) hide.
	(canvas arcCenter: c from: o to: e) large.
	p := canvas translate: e vector: (canvas vector: c to: o) hide.
	(canvas polygon: { c. o. p hide. e }) name: f.
	e].
fibo := [ ].
fibo := [ :f :o :c :k | | e f1 f2 f3 c2|
"f1: term Fn-1, f2: term Fn, o & c: origin and center of spiral arm
e: extremity of the spiral arm"
	f1 := f first.
	f2 := f second.
	f3 := f1 + f2.
	e := shape value: c value: o value: f3.	
	c2 := (canvas scale: c center: e factor: f3 / f2) hide.
	k > 0 ifTrue: [ fibo value: {f2. f3} value: e value: c2 value: k - 1 ]].

a := canvas point: 1@0.
b := canvas point: -1 @0.
m := (canvas middleOf: a and: b) hide.
s := shape value: m value: a value: 1.
shape value: m value: s value: 1.
fibo value: {1. 2} value: b value: a value: 10

Newton-Raphson algorithm

Smalltalk sktech can be used to design interactive sketch illustrating a numerical analysis method. Here the Newton-Raphson algorithm in a 5 steps iteration.

Computed interactive Newton-Raphson algorithm
| sketch f df xn ptA ptB|
sketch := DrGeoSketch new axesOn.
xn := 2.
f := [ :x | x cos + x ].
"Derivate number"
df := [ :x | (f value: x + 1e-8) - (f value: x) * 1e8].
sketch plot: f from: -20 to: 20.
ptA := (sketch point: xn@0) large; name: 'Drag me'.
5 timesRepeat: [ 
	ptB := sketch 
		point: [ :pt | pt point x @ (f value: pt point x)] 
		parent: ptA.
	ptB hide.
	(sketch segment: ptA to: ptB) dotted forwardArrow .
	ptA := sketch point: [:pt | 
		| x |
		x := pt point x.
		x - ( (f value: x) / (df value: x) )  @ 0 ] parent: ptB.
	ptA hide.
	(sketch segment: ptB to: ptA) dotted forwardArrow].

Locale languages

Smalltalk sketch can be coded in native languages, currently in French and Spanish. More native languages can be added.

Awards

See also

References

  1. ^ C.K. Hung (2016). "Drawing the Parabolic Trajectory of an Object under Gravity" (PDF). Retrieved 14 January 2024.
  2. ^ A. Centomo (2003). "Dr. Geo e la Geometria Tolemaica" (in Italian). Retrieved 13 January 2024.
  3. ^ A. Centomo, F. Campora (2002). "Geometria e programmazione con Dr. Geo" (in Italian). Retrieved 14 January 2024.
  4. ^ V. Freudenberg, Y. Ohshima, S. Wallace (2009). Etoys for One Laptop Per Child. C5.2009. pp. 57–67.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  5. ^ G. Melo, A. Machado, A. Miranda (2014). "The Impact of a One Laptop per Child Program on Learning: Evidence from Uruguay" (PDF). Retrieved 14 January 2024.{{cite web}}: CS1 maint: multiple names: authors list (link)
  6. ^ C. Whittum (2016). "Get started with Dr. Geo for geometry". opensource.com. Retrieved 14 January 2024.
  7. ^ J.R. Fernández García; C. Schnober (June 2006). "Interactive geometry with Dr. Geo MATH HELPER" (PDF). Linux Magazine. Retrieved 14 January 2024..
  8. ^ A. Busser (2011). "Dr. Geo, un docteur qui peut s'opérer tout seul" [Dr. Geo, a doctor that can make a surgery by himself] (in French). revue.sesamath.net. Retrieved 13 January 2024.
  9. ^ Video tutorial on Smalltalk script
  10. ^ Video demonstration on programmed sketch
  11. ^ H. Fernandes (March 2016). "Fibonacci spiral". Retrieved 6 January 2024.

Read other articles:

Biogeographic region with significant levels of biodiversity that is threatened with destruction A biodiversity hotspot is a biogeographic region with significant levels of biodiversity that is threatened by human habitation.[1][2] Norman Myers wrote about the concept in two articles in The Environmentalist in 1988 [3] and 1990,[4] after which the concept was revised following thorough analysis by Myers and others into “Hotspots: Earth’s Biologically Richest a…

Coşkun Özarı Información personalNacimiento 1931Estambul, Turquía TurquíaFallecimiento 22 de junio de 2011 (80 años)Estambul, Turquía TurquíaSepultura Cementerio Zincirlikuyu Nacionalidad TurcaLengua materna Turco EducaciónEducado en Liceo de Galatasaray Información profesionalOcupación Jugador de fútbol y entrenadorCarrera deportivaDeporte Fútbol Perfil de jugadorPosición defensa Equipos Galatasaray Spor Kulübü y Selección de fútbol de Turquía [editar datos en…

Colombian crime bosses Cali Cartel Drug barons of Colombia refer to some of the most notable drug lords which operate in illegal drug trafficking in Colombia. Several of them, notably Pablo Escobar, were long considered among the world's most dangerous and most wanted men by U.S. intelligence. Ruthless and immensely powerful, several political leaders, such as President Virgilio Barco Vargas, became convinced that the drug lords were becoming so powerful that they could oust the formal governmen…

Oulton Park Circuit Locatie Vlag van Verenigd Koninkrijk Little Budworth Tijdzone GMT Evenementen BTCC Britse Formule 3 Lengte 4.307 km Bochten 17 Portaal    Autosport Oulton Park Circuit Oulton Park Circuit is een autoracecircuit in Little Budworth, Cheshire, noordwest Engeland. Het circuit ligt op het terrein van Oulton Hall, waar generaal Patton commando's trainde voor D-Day. Eigenaar van het circuit is MotorSport Vision. Geschiedenis Het circuit werd ontworpen door de Mid-Cheshire …

Este artigo não cita fontes confiáveis. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Setembro de 2017) Biblioteca Nacional da Polónia Organização Chefia Tomasz Makowski, Diretora-geral Localização Jurisdição territorial  Polónia Sede al. Niepodległości 213 02-086 Warszawa Histórico Antecessor Biblioteca Załuski Criação 1928 Sít…

American labor strike The Atlanta washerwomen strike of 1881 was a labor strike in Atlanta, Georgia involving African American washerwomen. It began on July 19, 1881, and lasted into August 1881.[1] The strike began as an effort to establish better pay, more respect and autonomy, and a uniform base salary for their work. Background Text from the Evening Star (D.C.) on Aug 9, 1881, regarding the Atlanta strike. In Atlanta following the Civil War, many African American women were employed …

اتجاه الرياح التجارية بين المدارين (30°ش و 30°ج) شمال و جنوب خط الاستواء الرصدي. الرياح التجارية هي رياح مداومة تهب بالأخص الطبقات السفلى من الغلاف الجوي فوق مناطق بالغة الاتساع وتهب من المرتفعات الجوية دون المدارية باتجاه المناطق الاستوائية.[1][2][3] و الاتجاه السائ…

Františkovy Lázně Františkovy Lázně (Tschechien) Basisdaten Staat: Tschechien Tschechien Historischer Landesteil: Böhmen Region: Karlovarský kraj Bezirk: Cheb Fläche: 2576,164[1] ha Geographische Lage: 50° 7′ N, 12° 21′ O50.12027777777812.351666666667442Koordinaten: 50° 7′ 13″ N, 12° 21′ 6″ O Höhe: 442 m n.m. Einwohner: 5.707 (1. Jan. 2023)[2] Postleitzahl: 351 01 Kfz-Kennzeichen: K (alt CH…

Sebuah penganan remah dari stroberi dan rhubarb, disajikan dengan es krim. Penganan remah adalah hidangan yang bisa dibuat dalam versi manis atau gurih. Penganan remah menjadi populer di Inggris selama Perang Dunia II,[1] ketika pugasan menjadi alternatif ekonomis untuk pai karena kekurangan bahan kue akibat penjatahan. Di Britania Raya, istilah penganan remah mengacu pada makanan penutup yang mirip dengan renyahan apel Amerika, yang diberi pugasan gandum gulung dan gula merah, atau maka…

Đào Văn TrườngThông tin cá nhânQuốc tịch Việt NamSinh25 tháng 8, 1916Thạch Thất, Hà NộiMất8 tháng 4, 2017(2017-04-08) (100 tuổi)Bạch Đằng, Hai Bà Trưng, Hà NộiBinh nghiệpThuộc Quân đội nhân dân Việt NamNăm tại ngũ1936 – 1959Cấp bậcTập tin:Vietnam People's Army Senior Colonel.jpg Đại táĐơn vịSư đoàn 351Tham chiếnKháng chiến chống Pháp Nam Bộ kháng chiến Chiến dịch Điện Biên Phủ Khen thưởngHuân…

У Вікіпедії є статті про інших людей із прізвищем Бахмач. Бахмач (роки життя невідомі) — військовий лікар Дієвої армії УНР. Народився на Кубані, у родині кубанського козака. Закінчив Новоросійський університет. У 1914–1917 рр. полковий лікар 6-го запасного піхотного полку…

Israeli rabbi and activist (born 1961) Rabbi Dr.Benyamin LauPersonalBornBinyamin Tzvi LauTel Aviv, IsraelReligionJudaismNationalityIsraeliOccupationRabbi, community leaderPositionRosh YeshivaYeshivaBeit Midrash for Social Justice at Beit MorashaPositionDirectorOrganisationCenter for Judaism and Society at Beit MorashaResidenceJerusalem, Israel Binyamin Tzvi (Benny) Lau, (born October 20, 1961, Tel Aviv) is an Israeli rabbi, community leader, activist, author, and public speaker who lives in Jeru…

2010 Uruguayan filmThe Silent HouseTheatrical release posterDirected byGustavo HernándezWritten byOscar EstévezProduced byGustavo RojoStarringFlorencia ColucciAbel TripaldiGustavo AlonsoMaría SalazarCinematographyPedro LuqueMusic byHernán GonzálezRelease date 16 May 2010 (2010-05-16) (Cannes) Running time86 minutesCountryUruguayLanguageSpanishBudget6,000 USD The Silent House (Spanish: La Casa Muda) is a 2010 Uruguayan horror film directed by Gustavo Hernández. The film i…

2011 video gameDino D-DayPromotional cover art featuring the Axis Panzer StyracosaurusDeveloper(s)800 NorthDigital RanchPublisher(s)800 NorthDigital RanchEngineSource EnginePlatform(s)Microsoft WindowsReleaseApril 8, 2011Genre(s)First-person shooterMode(s)Multiplayer Dino D-Day is a multiplayer team-based first-person shooter video game developed and published by American studios 800 North and Digital Ranch. It was released for Microsoft Windows on April 8, 2011.[1] The premise of the ga…

Indian politician ĀchāryaPrahlad Keshav Atreप्रहलाद केशव अत्रेBorn13 August 1898Kodit Khurd, Pune district, MaharashtraDied13 June 1969(1969-06-13) (aged 70)Mumbai, Maharashtra, IndiaNationality•  British India (1898-1947) •  India (1947-1969)Other namesĀchārya AtreEducationBachelor of ArtsAlma materUniversity of PuneUniversity of LondonOccupationsPoliticianPoetWriterEditorMovementSamyukta Maharashtra MovementSignature Prahlad Kesh…

Chat website ChatrouletteType of siteOnline chat, voice chat, video chatAvailable inEnglishOwnerAndrey TernovskiyCreated byAndrey TernovskiyCEOAndrew William DoneURLchatroulette.comCommercialNoRegistrationNot RequiredLaunchedNovember 16, 2009; 14 years ago (2009-11-16)[1]Current statusActive Chatroulette is an online chat website that pairs random users with a choice between two other users for webcam-based conversations. Visitors to the website begin an …

5th Miss Supranational pageant, beauty pageant edition Miss Supranational 2013Mutya Johanna Datul, Miss Supranational 2013DateSeptember 6, 2013VenueMinsk Sports Palace, Minsk, BelarusBroadcasterUStreamEntrants83Placements20DebutsArgentinaAustraliaCote d'IvoireGhanaGuadeloupeIndonesiaJamaicaLuxembourgMacaoMalaysiaMartiniqueMyanmarNicaraguaReunion IslandSierra LeoneSri LankaSwitzerlandUruguayWithdrawalsBelizeBosnia and HerzegovinaCubaIsraelLithuaniaMacedoniaMontenegroScotlandSloveniaVietnamReturns…

Railway line in India Mokama–Barauni sectionRajendra Setu on Mokama–Barauni sectionOverviewStatusOperationalOwnerIndian RailwaysLocaleBiharTerminiMokama JunctionBarauni JunctionStations9ServiceTypeElectrifiedSystemBroad gaugeOperator(s)East Central RailwayTechnicalLine length21 km (13 mi)Track gauge5 ft 6 in (1,676 mm) broad gauge Route map Legend km to Patna on Howrah–Delhi main line 0 Mokama Rampur Dumra 5 Aunta (halt) 8 Hathidah to Kiul on Howrah–De…

Not to be confused with the Pixar animated short film Purl (2019 film). 2016 American filmPearlFilm posterDirected byPatrick OsborneStarring Nicki Bluhm Kelley Stoltz Emma Grace Eisenmann ProductioncompanyGoogle Spotlight StoriesRelease date April 17, 2016 (2016-04-17) Running time6 minutesCountryUnited StatesLanguageEnglish Pearl is an American 2016 independent animated drama short film directed by Patrick Osborne. In 2017, it became the first VR film to be nominated for an Acade…

Soviet Armed Forces formation Review of the 6th Soviet Guards Vitebsk-Novgorod Mechanised Division, Northern Group of Forces, in Borne Sulinowo, Poland. The Northern Group of Forces (Russian: Северная группа войск; Polish: Północna grupa wojsk) was the military formation of the Soviet Army stationed in Poland from the end of Second World War in 1945 until 1993 when they were withdrawn in the aftermath of the fall of the Soviet Union. Although officially considered Polish all…

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 13.58.26.236