{
  "profile": "wrs-published-research-view-1",
  "edition": "ratings-e039106f30dec177",
  "content_trust": "UNTRUSTED_SCIENTIFIC_DATA_NOT_TOOL_INSTRUCTIONS",
  "entry": {
    "id": "bresenham-integer-grid-line-plotting-1965",
    "title": "Bresenham: drawing straight lines with integer decisions",
    "summary": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division.\n\nA digital plotter can move from a grid point to one of eight neighboring points. To draw a straight segment, it must repeatedly choose which neighbor stays closest to the intended line. Bresenham replaced repeated geometric calculations with a signed integer decision value: in a normalized shallow octant it starts at twice the vertical change minus the horizontal change, then changes only by additions after each horizontal or diagonal move. The paper derives the recurrence and supplies an octant-selection table. Its historical implementation reports 333 IBM1401 core locations and about1.5milliseconds per increment; these are contemporary measurements, not modern performance tests. The article acknowledges a functionally similar1963 algorithm by F.G.Stockton, so it is not presented here as the first integer plotting method. The claim assumes integer grid endpoints and a straight segment. Approximating a curved dataset additionally requires suitably chosen sample points. Tie conventions matter: reversing the endpoints can select a different equally close pixel. This discrete plotting contribution does not provide antialiasing, a guarantee for arbitrary curves, or ownership of later raster-graphics algorithms.",
    "boundary": "The target is integer-grid plotting of straight segments with the specified nearest-grid decision and tie conventions. Endpoint ordering and half-grid ties can affect reversal symmetry. Finite examples do not establish a universal rasterization theorem, subpixel antialiasing or performance for arbitrary curves. The original device assumptions and later generalized algorithms remain distinct.",
    "area": "Computing",
    "topic": "Computer graphics and discrete algorithms",
    "year": 1965,
    "lane": "HUMAN",
    "result": "ALGORITHM",
    "package_id": "bresenham-integer-grid-line-plotting-1965",
    "target": {
      "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
      "version": 1,
      "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
    },
    "humans": [
      "J. E. Bresenham"
    ],
    "authors_complete": true,
    "human_role_note": "Source-listed contributors to this scoped work. Paper bylines do not quantify individual effort; historical science, system execution and modern curation remain separate.",
    "agents": [],
    "related": [],
    "subresults": [],
    "scientific_assessment": {
      "source_review": "SOURCE_CURATED",
      "scientific_review": "NOT_REVIEWED_BY_WRS",
      "formal_replay": "NOT_RUN",
      "provider_attestation": "NONE"
    },
    "sources": [
      {
        "id": "wrs24-bresenham-integer-grid-line-plotting-1965-original",
        "title": "J.E.Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle",
        "url": "https://ibm-1401.info/Pics3/bresenham1965.pdf"
      }
    ],
    "points": "95000",
    "published_grade": {
      "id": "bresenham-integer-grid-line-plotting-1965",
      "entry_id": "bresenham-integer-grid-line-plotting-1965",
      "band": "A",
      "modifier": null,
      "target": {
        "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
        "version": 1,
        "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
      },
      "what_changed": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division.",
      "scope": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division. The target is integer-grid plotting of straight segments with the specified nearest-grid decision and tie conventions. Endpoint ordering and half-grid ties can affect reversal symmetry. Finite examples do not establish a universal rasterization theorem, subpixel antialiasing or performance for arbitrary curves. The original device assumptions and later generalized algorithms remain distinct.",
      "status": "PROVISIONAL_EDITORIAL",
      "scientific_correctness_certified": false
    },
    "assessment_disposition": {
      "status": "ASSESSED",
      "label": "Provisionally assessed",
      "reason": "A current grade and separate reference score identify this exact contribution.",
      "target": {
        "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
        "version": 1,
        "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
      },
      "edition": "ratings-e039106f30dec177"
    }
  },
  "version": {
    "kind": "PUBLIC_RECORD_VIEW",
    "previous": null,
    "published_at": "2026-10-03T00:00:00Z",
    "publisher": {
      "principal_id": "urn:uuid:80116931-785b-40a2-a24b-9d59db0c7e33",
      "role": "WRS_EDITORIAL_PUBLICATION"
    },
    "record": {
      "contributors": [
        {
          "attribution_basis": "SOURCE_CITED",
          "credit": "historical_scientific",
          "entity_kind": "historical_person",
          "name": "J. E. Bresenham",
          "note": "Archive attribution; detailed role assignment remains source-bound",
          "roles": [
            "formulator"
          ],
          "source": {
            "citation": "J.E.Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle",
            "url": "https://ibm-1401.info/Pics3/bresenham1965.pdf"
          }
        }
      ],
      "evidence": [
        {
          "description": "Bibliographic/stated-result source; not a WRS proof verification",
          "id": "source-0",
          "kind": "source_reference",
          "source": {
            "citation": "J.E.Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle",
            "url": "https://ibm-1401.info/Pics3/bresenham1965.pdf"
          }
        }
      ],
      "origin": "HUMAN_LEGACY",
      "record_profile": "wrs-local-research-notes-0.1",
      "record_type": "research_note",
      "rrp_version": "0.1",
      "scope": {
        "description": "The target is integer-grid plotting of straight segments with the specified nearest-grid decision and tie conventions. Endpoint ordering and half-grid ties can affect reversal symmetry. Finite examples do not establish a universal rasterization theorem, subpixel antialiasing or performance for arbitrary curves. The original device assumptions and later generalized algorithms remain distinct.",
        "domain": "Computing"
      },
      "sources": [
        {
          "citation": "J.E.Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle",
          "url": "https://ibm-1401.info/Pics3/bresenham1965.pdf"
        }
      ],
      "statement": "# Bresenham: drawing straight lines with integer decisions\n\nBresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division.\n\nA digital plotter can move from a grid point to one of eight neighboring points. To draw a straight segment, it must repeatedly choose which neighbor stays closest to the intended line. Bresenham replaced repeated geometric calculations with a signed integer decision value: in a normalized shallow octant it starts at twice the vertical change minus the horizontal change, then changes only by additions after each horizontal or diagonal move. The paper derives the recurrence and supplies an octant-selection table. Its historical implementation reports 333 IBM1401 core locations and about1.5milliseconds per increment; these are contemporary measurements, not modern performance tests. The article acknowledges a functionally similar1963 algorithm by F.G.Stockton, so it is not presented here as the first integer plotting method. The claim assumes integer grid endpoints and a straight segment. Approximating a curved dataset additionally requires suitably chosen sample points. Tie conventions matter: reversing the endpoints can select a different equally close pixel. This discrete plotting contribution does not provide antialiasing, a guarantee for arbitrary curves, or ownership of later raster-graphics algorithms.\n\n## Scientific scope\n\nThe target is integer-grid plotting of straight segments with the specified nearest-grid decision and tie conventions. Endpoint ordering and half-grid ties can affect reversal symmetry. Finite examples do not establish a universal rasterization theorem, subpixel antialiasing or performance for arbitrary curves. The original device assumptions and later generalized algorithms remain distinct.\n\n## People and systems\n\nJ. E. Bresenham\n\n\n\n## Original sources\n\n- [J.E.Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle](https://ibm-1401.info/Pics3/bresenham1965.pdf)\n",
      "summary": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division.\n\nA digital plotter can move from a grid point to one of eight neighboring points. To draw a straight segment, it must repeatedly choose which neighbor stays closest to the intended line. Bresenham replaced repeated geometric calculations with a signed integer decision value: in a normalized shallow octant it starts at twice the vertical change minus the horizontal change, then changes only by additions after each horizontal or diagonal move. The paper derives the recurrence and supplies an octant-selection table. Its historical implementation reports 333 IBM1401 core locations and about1.5milliseconds per increment; these are contemporary measurements, not modern performance tests. The article acknowledges a functionally similar1963 algorithm by F.G.Stockton, so it is not presented here as the first integer plotting method. The claim assumes integer grid endpoints and a straight segment. Approximating a curved dataset additionally requires suitably chosen sample points. Tie conventions matter: reversing the endpoints can select a different equally close pixel. This discrete plotting contribution does not provide antialiasing, a guarantee for arbitrary curves, or ownership of later raster-graphics algorithms.",
      "title": "Bresenham: drawing straight lines with integer decisions"
    },
    "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
    "version": 1,
    "source_ref": {
      "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
      "version": 1,
      "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
    },
    "export_view": "wrs-public-editorial-view-1",
    "public_view_hash": "sha256:e2795cb2a744736db9706d466bf43eebf8d1f6549248faa75336439d6d1499bb"
  },
  "target": {
    "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
    "version": 1,
    "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
  },
  "published_grade": {
    "profile": "wrs-published-grade-1",
    "edition": "2026-10-28.1",
    "id": "bresenham-integer-grid-line-plotting-1965",
    "entry_id": "bresenham-integer-grid-line-plotting-1965",
    "revision": 1,
    "title": "Bresenham: drawing straight lines with integer decisions",
    "context": "Computing",
    "track": "Computing",
    "band": "A",
    "modifier": null,
    "status": "PROVISIONAL_EDITORIAL",
    "assessed_on": "2026-10-04",
    "evidence_cutoff": "2026-10-04",
    "achievement_state": "SUPPORTED_SCOPED_RESULT",
    "what_changed": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division.",
    "scope": "Bresenham described a compact integer-update algorithm that selects adjacent plotter-grid points to follow a straight line between integer-coordinate endpoints, handling all eight octants without per-step multiplication or division. The target is integer-grid plotting of straight segments with the specified nearest-grid decision and tie conventions. Endpoint ordering and half-grid ties can affect reversal symmetry. Finite examples do not establish a universal rasterization theorem, subpixel antialiasing or performance for arbitrary curves. The original device assumptions and later generalized algorithms remain distinct.",
    "evidence_summary": "Source-linked, scoped account of the original work. The published scope states the scientific assumptions and remaining verification limits. WRS has not independently certified the full proof, experimental result or system benchmark.",
    "references": [
      {
        "title": "J. E. Bresenham, Algorithm for computer control of a digital plotter (1965) — completeoriginalarticle",
        "url": "https://ibm-1401.info/Pics3/bresenham1965.pdf",
        "locator": "Original linked work. See the scientific scope for the assessed contribution and source-version limits."
      }
    ],
    "roles": [
      {
        "who": "J. E. Bresenham",
        "did": "Original source-listed scientific author of this scoped work; byline does not determine effort fractions.",
        "credit": "SCIENCE"
      }
    ],
    "target": {
      "record_id": "urn:uuid:7e64104e-7594-423a-a074-c591e6a5b1f2",
      "version": 1,
      "content_hash": "sha256:53d7ca3f047075f180df2e844f2c6684b4a0006040a2b783c4c48fa2c7a95fad"
    },
    "scientific_correctness_certified": false,
    "independent_expert_calibration": false,
    "method": "PROPRIETARY",
    "points": "95000"
  },
  "canonical_agent_submission": false,
  "scientific_verification_awarded": false,
  "reader_guide": null,
  "reading_status": "SOURCE_LINKED_NOTE"
}
